
Hoe om Regex-filters vir Google Analytics te skryf en te toets (met voorbeelde)
Soos met baie van my artikels hier, doen ek navorsing vir 'n kliënt en skryf ek hieroor. Om eerlik te wees, daar is 'n paar redes waarom ... eerstens dat ek 'n vreeslike geheue het en gereeld my eie webwerf ondersoek vir inligting. Die tweede is om ander te help wat moontlik ook inligting soek.
Wat is 'n gereelde uitdrukking (Regex)?
Regex is 'n ontwikkelingsmetode om 'n patroon van karakters in die teks te soek en te identifiseer om by die teks te pas of te vervang. Alle moderne programmeertale ondersteun Regular Expressions.
Ek hou van gereelde uitdrukkings (regeks) maar dit kan 'n bietjie frustrerend of woedend wees om te leer en te toets. Google analytics het 'n paar ongelooflike vermoëns ... waar u aansigte met gewone uitdrukkings kan skep of u data binne gewone uitdrukkings kan filter.
As ek byvoorbeeld net die verkeer op my tagbladsye wil sien, kan ek in my permalinkstruktuur vir / tag / filter deur die volgende te gebruik:
/tag\/
Die sintaksis is van kritieke belang daar. As ek net 'tag' gebruik het, sou ek alle bladsye met die term tag daarin kry. As ek '/ tag' gebruik het, sou enige URL wat met tag begin, ingesluit word, soos / tag-bestuur omdat Google Analytics standaard is om enige karakter na die gewone uitdrukking in te sluit. Ek moet dus toesien dat die volgende skuinsstreep ingesluit is ... maar dit moet 'n ontsnapkarakter hê.

Basiese beginsels van die Regex-sintaksis
sintaksis | Beskrywing |
^ | Begin met |
$ | Eindig met |
. | 'N Wildcard vir enige karakter |
* | Nul of meer van die vorige item |
.* | Pas enige karakters in |
? | Nul of een keer van die vorige item |
+ | Een of meer kere van die vorige item |
| | Die OF-operateur |
[abc] | A of b of c (kan enige aantal karakters wees) |
[az] | Bereik van a tot z (kan enige aantal karakters wees) |
[AZ] | Reeks van A tot Z (met hoofletters) |
[0-9] | Bereik van 0 tot 9 (kan enige getal wees) |
[a-zA-Z] | Bereik van a tot Z of A tot Z |
[a-zA-Z0-9] | Alle alfanumeriese karakters |
1 {} | Presies 1 geval (kan enige getal wees) |
{1-4} | Reeks van 1 tot 4 gevalle (kan enige getal wees) |
{1,} | 1 of meer gevalle (kan enige getal wees) |
() | Groepeer u reëls |
\ | Ontsnap spesiale karakters |
\d | Syferkarakter |
\D | Nie-syfer karakter |
\s | wit spasie |
\S | Nie-wit spasie |
\w | Word |
\W | Nie-woord (leestekens) |
Regex-voorbeelde vir Google Analytics
Laat ons dus voorbeelde daar uitsit vir sommige Pasgemaakte filters. Een van my kollegas het my om hulp gevra om 'n interne bladsy te identifiseer met die pad van / indeks bykomend tot alle blogposte wat in die permalink met die jaar geskryf is:
My pasgemaakte filterpatroon vir die filterveld Versoek url:
^/(index|[0-9]{4}\/)
Dit stel basies dat u na enige vier-syfer-numeriese pad moet soek / indekseer of eindig met 'n agterste skuinsstreep. Ek het 'n aansig in Analytics geskep en dit as die filter bygevoeg:

Hier is nog 'n paar voorbeelde:
- U het 'n blog met die jaar in die URL-permalink-pad en u wil die lys na enige jaar filter. Ek wil dus 4 numeriese syfers hê, gevolg deur 'n agterste skuinsstreep. Versoek URl-filterpatroon:
^/[0-9]{4}\/
- U wil al u bladsye vergelyk met die titel sertifikaat or sertifisering in dit. Bladsytitel Filterpatroon:
(.*)certificat(.*)
- U wil twee bestemmingsbladsye vergelyk op grond van hul veldtogmedium wat in die Google Analytics-veldtog-URL as utm_medium = direkte pos or betaal soek.
(direct\smail|paid\ssearch)
- U wil al die produkte vir manshemde vergelyk op grond van die URL-pad. Versoek URl-filterpatroon:
^/mens/shirt/(.*)
- U wil al die bladsye genommer van die URL-pad wat eindig met die nommer, vergelyk. Versoek URl-filterpatroon:
^/page/[1-9]*/$
- U wil 'n reeks IP-adresse uitsluit. Sluit IP-adresfilterpatroon uit:
123\.456\.789\.[0-9]
- U wil 'n thankyou.html-bladsy insluit waar 'n inhandiging suksesvol was op grond van die vraagstring sukses = waar. Versoek URl-filterpatroon:
thankyou\.html\?success=true
Hoe u u Regex Expressions kan toets
In plaas van 'n proef en fout in Google Analytics, spring ek dikwels net oor na regeks101, 'n fantastiese hulpmiddel om u gereelde uitdrukkings te toets. Dit breek selfs u sintaksis vir u af en bied die besonderhede van u gewone uitdrukking:
