Reguliere expressies gebruiken in Google Analytics

door
21 mei 2013
Leestijd: 5 minuten

Met de overvloed aan data die Google Analytics je kan geven is de kans groot dat je door de bomen het bos niet meer ziet. Het is belangrijk dat je data op de juiste manier kunt filteren op datgene wat relevant is voor je databehoefte. Maar met de basisfuncties in de standaardfilter kom je niet altijd tot het gewenste resultaat.

Google Analytics biedt ook de mogelijkheid om te filteren met behulp van reguliere expressies. In deze blogpost gaan we wat dieper in op deze functie en geven we uitleg over wat de mogelijkheden hiervan zijn binnen Google Analytics.

Wat zijn reguliere expressies?

Een reguliere expressie (vanaf nu: regex) is een veelgebruikte manier om patronen te beschrijven waarmee een programma een logische opbouw van teksten of getallen kan herkennen. Er is een standaardisering van regex waardoor deze vrijwel in alle programmeertalen is te gebruiken, en dus ook in Google Analytics (vanaf nu: GA).

Voorbeeld
Om een e-mailadres in een contactformulier te valideren bestaat de volgende regex:

(?:[a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*|”(?:[x01-x08x0bx0cx0e-x1fx21x23-x5bx5d-x7f]|\[x01-x09x0bx0cx0e-x7f])*”)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[x01-x08x0bx0cx0e-x1fx21-x5ax53-x7f]|\[x01-x09x0bx0cx0e-x7f])+)])

Het mooie aan regex is dat op verschillende manieren hetzelfde doel bereikt kan worden. Er bestaan dus meerdere werkende variante van deze e-mail validatie.

Welke reguliere expressies worden in GA gebruikt?

In GA hoeven we gelukkig niet met hele uitgebreide regex te werken zoals hierboven. Maar de tekens en symbolen die in het bovenstaande voorbeeld gebruikt worden kunnen ook toegepast worden in GA. Hier een overzicht van de tekens en hun functies, deze worden hieronder afzonderlijk omschreven aan de hand van voorbeelden:

Teken  Naam  Functie
 Backslash of escape  Daarop volgende teken wordt niet beschouwd als regex teken.

|

 Staander  De of-functie

?

 Vraagteken
 Voorstaand teken wel of niet opnemen.

( )

 Haakjes  Omsluiting van tekenreeks

[ – ]

 Blokhaakjes en min-teken  Letter of cijfer lijsten maken

{ }

 Accolades
 Herhalingsfunctie

.

 Punt of wildcard  Telt als alle symbolen

+

 Plusteken  Voorstaand teken 1 keer of oneindig herhalen.

*

 Sterretje  Voorstaand teken niet of oneindig herhalen

.*

 Punt met sterretje  Herhaal alle symbolen 0 of oneindig keer.

^

 Dakje  Begin van regel

$

 Dollar  Eind van regel

 

Waar worden de reguliere expressies gebruikt in GA?

In Google Analytics zijn verschillende plaatsen waar er gebruikt wordt gemaakt van reguliere expressies. Hier een opsomming van de plaatsen waar je kan werken met de reguliere expressies:

  • De geavanceerde filter
  • Filters in dashboard widgets
  • Instellen van geavanceerde segmenten
  • Aangepaste profielfilters

 

De expressies ontleedt inclusief voorbeelden:

 

De backslash oftewel escape =

Ook wel de escape genoemd gebruik je als het daaropvolgende teken als regex teken gebruikt dient te worden.
Voorbeeld
Je wil de pagina /folder?pid=123 filteren. In deze url komt een vraagteken voor. Dit is óók een regex teken. Om deze vraagteken te gebruiken als vraagteken en niet als regex teken plaat je de escape voor het vraagteken: /folder?cid=123

 

De staander = |

De staander is het teken voor de ‘of’ functie. Eén van de meest eenvoudige regex tekens. Met de staander kun je meerdere opties aangeven.
Voorbeeld
Je wil alle zoektermen die kopen of bestellen uitsluiten. Vul dan bij de filterfunctie het volgende in: kopen|bestellen

 

Het vraagteken = ?

Het vraagteken is een niet zo wild-card. Met dit teken geef je aan dat het voorgaande symbool wel of niet opgenomen moet worden. Dit is handig voor spellingsfoutjes in de zoektermen.
Voorbeeld
Je hebt de regex in het vorige voorbeeld gebruikt en het blijkt dat er nog resultaten tussen staan van mensen die zoeken op kope en bestelle (zonder “n”) pas de regex dan aan naar: kopen?|bestellen? (de “n” in de zoekwoorden worden nu wel en niet meegenomen in de zoekopdracht)

De haakjes = ( )

De haakjes dienen waar ze altijd al voor gediend hebben: het afkaderen van bepaalde woorden of getallen.

Hier een wiskundig voorbeeld
2+3×5=17 maar (2+3)x5=25

GA voorbeeld
Stel dat je twee bedankpagina’s hebt: ‘/locatie1/bedankt’ en ‘/locatie2/bedankt’. Om in een regex beide pagina’s te filteren kun je de volgende regex gebruiken: /locatie(1|2)/bedankt.

Dit is nog te volgen toch? Oké, dan gooien we er nog een schepje bovenop! Stel nu dat je naast een bedankpagina op deze twee locaties ook nog 2 verschillende soorten bedankpagina’s hebt per locatie. /bedankt en /dank. En je wil natuurlijk al deze pagina’s in één keer filteren:
/locatie(1|2)/(be)?dankt?

 

Blokhaakjes en het minteken = [ – ]

In theorie zijn het twee losse teken maar in GA gebruik je deze nagenoeg altijd samen. Het zijn de peper en zout van het zogenaamde regex kruiden assortiment. Je kunt ze ook los serveren maar toch staan ze altijd samen op tafel. De blokhaakjes geven je de mogelijkheid om meerdere letters of cijfers te gebruiken. Voorbeeld: een winkel heet ‘jim jam jum’ en je wil deze drie woorden in een keer filteren: j[iau]m. Deze regex zal niet reageren op juam omdat er maar een van de ingesloten symbolen gebruikt mag worden in de blokhaakjes functie.

Met de blokhaakjes functie kan je ook lijsten van symbolen maken als volgt:

  • [a-z] alle kleine letters
  • [A-Z] alle hoofdletter
  • [a-zA-Z0-9] alle letters, klein of groot en alle cijfers. (deze worden niet gescheiden in de blokhaakjes, net als [iau])

Voorbeeld
Je verkoopt 185 verschillende stickers en de URL van deze pagina’s is als volgt opgebouwd: ‘/sticker1’,  ‘/sticker2’ enz., maar sticker 134 t/m sticker 158 zijn nog nooit verkocht en je wil zien wat de paginaweergaven van die specifieke stickers zijn.
Gebruik dan de volgende regex: /sticker1[34-58]

 

Accolades = { }

Met accolades geef je een herhaling van het voorgaande symbool of teken aan. Hierin zijn twee varianten: {x} en {x,y}

  1. Met {x} zal het voorgaande symbool of teken zich precies x keer herhalen
  2. Met {x,y} zal het voorgaande symbool of teken minimaal x en maximaal y keer herhalen.

Voorbeeld
Op je werk werkt iedereen met een eigen IP adres. Maar van dit IP-adres zijn alleen de laatste getallen anders. Deze lopen op van ‘123.156.198.0’ tot ‘123.165.189.99’. om al deze IP-adressen in een keer uit te sluiten gebruik je de volgende regex: 132.156.189.[0-9]{1,2}

 

De punt of wildcard = .

De wildcard binnen regex. De punt komt overeen met ALLE soorten symbolen. Dus de regex .aal zal overeen komen met de termen kaal, daal, faal, maal, waal, paal en haal. Maar ook met xaal, %aal en 5aal. De punt is op zichzelf niet bijzonder maar in combinatie met andere regex tekens kan deze heel krachtig en nuttig zijn.

 

Plusteken = +

Het plusteken is naar verwachting het minst gebruikte teken. Deze kun je gebruiken als je het vorige symbool één of meerdere keren wil herhalen.

Voorbeeld
De regex doei+ pakt termen zoals doeii en doeiiiiiii.

 

Het sterretje = *

Het sterretje heeft bijna dezelfde functie als het plusteken maar heeft een belangrijk onderscheidend vermogen ten opzichte van het plusteken. Waar het plusteken één of meer van het vorige symbool meeneemt, neemt het sterretje nul of meer van het vorige symbool mee.
Voorbeeld
Met de regex doei* krijg je net als met het plusteken ‘doeiiiii’ en ‘doei’. Maar met het sterretje pak je ook alleen ‘doe’.

 

Punt met sterretje = .*

Kort door de bocht: alles meenemen en het maakt niet uit in hoeveel symbolen erna volgen. Eén van de meest handige functies als je het mij vraagt: met een simpele ontleding zie je dat het een combinatie is van de ‘wildcard’ en het ‘sterretje’. Dus de wildcard herhaalt zich onbeperkt of is ‘niets’.
Voorbeeld
Als je alle pagina’s in een bepaalde subdirectory, in dit geval ‘locatie1’, wil filteren maak je gebruik van de regex: /locatie1/(.*) Op deze manier neem je alles mee tot de laatste slash erbij. Een ander handig voorbeeld zijn zoektermen die een bepaald woord MOETEN bevatten. Zo zou je met de regex (.*)kopen(.*) alle zoektermen pakken waarin het woord kopen voorkomt!

 

Het dakje = ^

Het dakje geeft het begin van de regel weer. Je dwingt het programma dus te beginnen op precies het punt dat je aangeeft met het dakje. Er mag dus niets vóór het dakje staan.
Voorbeeld
Je wil alle zoektermen die beginnen met de letter ‘a’ filteren. Dan gebruik je de regex ^a er kan dan niets voor het de a komen. Wat daar achter staat is niet van belang.

 

Dollar = $

Dit is de tegenhanger van het hekje. Het dollarteken geeft het absolute einde van het veld weer. Er kan dus niets meer komen na het teken wat voor de dollar staat.
Voorbeeld
Je wil de exacte URL ‘mijnwebsite.nl/contact/bedankt’ meten met een regex. Je vult dan het volgende in: ^/contact/bedankt$

 

Cheatsheet

In het volgende deel maken we een overzicht van de reguliere expressies die wij het meeste gebruiken in Google Analytics!

0 Reacties

Geef een reactie