Wil je met analytics alles uit je e-commerce site halen? Kijk dan eens naar Custom Variables binnen Google Analytics. Hiermee kun je nog scherper segmenteren dan al mogelijk is met de ‘advanced segments’. De afgelopen tijd hebben we ons als 2LvW hier stevig in verdiept. De officiële documentatie van Google over Custom Variables is nogal cryptisch en verondersteld behoorlijk wat achtergrondkennis. Toch is het goed dat we als marketeers de achtergronden kennen zonder een software-ontwikkelaar te willen worden. In deze post delen we onze ervaringen.
Als marketeers en web-analysten willen we het gedrag van bezoekers en de impact op de business begrijpen. Segmentatie is hierbij het sleutelwoord. Je onderscheidt groepen en kijkt naar de verschillen tussen die groepen. In Google Analytisc heb je een aantal voorgedefinieerde standaard segmenten en je kunt ook zelf geavanceerde segmenten maken. Heel nuttige tools maar voor e-commerce heb je meer nodig. Bijvoorbeeld voor het tracken van coupons en promotional codes, wijze van verzenden of terugkerende klanten (≠ terugkerende bezoekers !!!).
Business questions
Zoals vaker bij 2LvW aan de orde is geweest, moeten we voordat we echt met Custom Variables aan de slag gaan, weten wat we ermee willen. Business questions die we in diverse blogs zijn tegen komen zijn o.a.
- tracking coupon en promotional codes
- tracking betaal- of verzendmethoden
- volgen van terugkerende klanten (niet te verwarren met bezoekers)
- effect van geslacht en leeftijd op verkopen
- geïnteresseerd in welke productcategorie / product
- aantal keer dat iets is gekocht
- effect van beschikbaarheid artikel
- sale (als artikel verlaagde uitverkoopprijs heeft)
- prijsrange (indelen waarde winkelwagen)
- customer segmentation base on customer loyalty
- measuring visitor life time value
- etc
Onderliggende techniek . . . wat marketeers moeten weten
Degenen die bekend zijn met Custom Variables herkennen ongetwijfeld onderstaande code . . .
_gaq.push(['_setCustomVar',INDEX,'NAME','VALUE', SCOPE]);
Door deze code in een webpagina te voegen, creëer je een Custom Variable. De moeilijkheid zit in de INDEX en SCOPE. Deze beiden zijn numeriek. Onder INDEX staat het slot-nummer wat je gebruikt (zie later in deze post). Met SCOPE geef je een van de 3 het ‘niveaus’ aan die je wilt meten.
- Op bezoekernivo (1 = visitor) meet je zaken die zich nooit wijzigen, bijvoorbeeld het geslacht van de bezoeker (hoe je daar achter kunt komen doet er nog even niet toe).
- Je kunt ook meten op bezoeknivo (2 = visit / session), denk bijvoorbeeld aan hoe een aankoop wordt betaald (rekening, iDeal, PayPal etc). Dit is een gegeven voor de betreffende transactie maar een klant kan de ene keer via iDeal en de andere keer via PayPal betalen (daarom kan de scope nooit “1” zijn).
- Tenslotte is er het paginanivo (3 = page level). Bijvoorbeeld om te registreren of een bepaalde pagina is bezocht.
De beperking is dat je in totaal 5 slots hebt. Je kunt dus maar 5 zaken meten en hoe je dat doet is afhankelijk van de scope. Dat vraagt om uitleg. . .
Als je op klantnivo (= visitor/bezoekernivo) meet dan wordt er bij de bezoeker een cookie geplaatst. Dit cookie wordt max. 24 maanden bewaard op het systeem van de bezoeker. Als je daar over nadenkt geeft dat best een aantal consequenties. Bijvoorbeeld als een bezoeker twee jaar niet meer op je site is geweest, dan verlies je informatie over leeftijd of geslacht (ik vraag me ook af of een bezoeker regelmatig zijn gegevens via een formulier moet invullen zodat je die informatie behoudt. Wie weet dat???). Als een bezoeker zijn cookies verwijdert, zoals wel tot 30% van de bezoekers per maand doet!!! , dan ben je je gegevens op klantnivo ook kwijt. Zoals je ziet is de precisie van webanalytics nooit honderd procent. Je kunt met _setCookiePersistence() de levensduur van dit cookie wel beïnvloeden. De gegevens op bezoek- en klantnivo worden door Google bewaard (2 jaar).
Stel dat op een webpagina de volgende code voor Custom Variables is geplaatst:
_gaq.push(['_setCustomVar',1,'Geslacht','Man of vrouw', 1]); _gaq.push(['_setCustomVar',2,'Verzendwijze','Snel of Standaard', 2]); _gaq.push(['_setCustomVar',3,'Verpakking','Kadoverpakking, 2]); _gaq.push(['_setCustomVar',4,'Download','Algemene voorwaarden', 3]);
Het geslacht, aangegeven in een invulformulier op een webpagina, kan worden ‘onderschept’. In de 2e coderegel staat dat de klant kiest voor de standaard of een snelle verzendwijze (geeft de klant bijvoorbeeld aan door dit aan te vinken tijdens het bestelproces). Ook kan de klant aangeven of het artikel in een Kadoverpakking wordt verzonden (coderegel 3). Tenslotte heeft deze klant nog even de Algemene voorwaarden gedownload. De met rood aangeduide waarden zijn de zngd. slots. Twee tips:
- plaats max. één Custom Variable per slot.
Dat hoeft niet per se maar maar om het jezelf niet moeilijker te maken om het juiste aantal bezoeken uit de Reports te halen kun je dat beter toch doen. Als je toch meerdere Custom Variables in één slot wilt opnemen doe dit dan alleen voor scope page-level!!! Eventuele categorie-indeling wordt dan wel overschreven (zie ook het hieronder genoemde Google Webinar over Custom Variables bij +/- 11.45 minuut) - om overzicht te houden: één slot voor het bezoekersnivo
Dus mix geen geen visitor-level en page-level binnen één slot
Ad 2: één slot voor het bezoekersnivo
Om de onderlinge afhankelijkheid van slots en scope te verduidelijken kwam ik de volgende uitleg tegen. Vergelijk Customer Variables als een parkeerplaats voor auto’s. De parkeervakken zijn dan de slots. In parkeervak 1 hebben onverlaten een autowrak ‘geparkeerd’. Die auto zal nooit meer rijden en bezet daardoor permanent parkeervak 1. Dit parkeervak komt dus noot meer vrij en slot 1 kun je dus NOOIT meer gebruiken (of je moet deze Custom Variable verwijderen of overschrijven). Vergelijk dit met het Geslacht van een bezoeker (visitor-level). Dit is ‘for life’ . . . bij de meeste mensen dan 🙂
Het bezoek- of visit-level kun je vergelijken met per dag parkeren. De hele dag staat er een auto in parkeervak 2 geparkeerd en niemand kan van dit parkeervak meer gebruik maken. De volgende dag is het parkeervak weer beschikbaar voor andere parkeerders (een hele dag parkeren of voor 15 min of onverlaten die er autowrakken willen ‘parkeren’). Kort parkeren (5 of 10 minuten) is te vergelijken met pagina-nivo. Na een paar minuten is de parkeerplaats weer vrij (oftewel als de bezoeker naar de volgende pagina klikt). Hiermee wordt duidelijk dat visitor- en page-level slots telkens opnieuw kunnen worden gebruikt. De parkeerplaats met het autowrak kun je wel blokkeren (dubbelparkeren) maar dan wordt in de reports niet het visitor-level geteld maar één van de andere levels.
De praktische betekenis voor marketeers is dat je behoorlijk beperkt bent in het aantal variabelen op bezoekersnivo (visitor-level). Op dit level zul je dus hooguit 2-3 kenmerken van een bezoeker kunnen vastleggen. Op visit- of page-level is de vrijheid nagenoeg oneindig (omdat de ‘parkeervakken’ regelmatig cq continue vrij komen kun je tot zo’n 50.000 Custom Variables definiëren). De premiumversie van Google Analytics kan tot 50 (?) slots aan maar niet iedereen zal die direct aanschaffen (> € 100.000).
E-commerce en Custom Variables
Bij e-commerce maakt Google Analytics gebruik van de data van het CMS van de webshop. Denk aan een artikelnummer, omschrijving, gegevens, prijzen, voorraad etc. Data uit de CMS kun je ‘ophalen’ voor je Customer Variables. Bijvoorbeeld
- het aantal keer dat een klant heeft gekocht
- het door jou gehanteerde klantenprofiel (topklant, gemiddelde klant, etc)
- totale omzet van individuele klanten (dus online en offline-omzet tezamen)
- datum laatste transactie (kan dus ook offline zijn)
- . . . etc
En zo kunnen we echte marketing bedrijven en klanten indelen op basis van hun ECHTE gedrag (online en/of off-line).
Een Custom Variable bevat een naam en een bijbehorende waarde. Deze NAME en VALUE hoeft niet statisch te zijn maar kun je laten ‘vullen’ uit de data van een formulier of de webshop-database. Dat is het terrein van de echte programmeurs maar die moeten wel worden aangestuurd. Als marketeers moeten we weten wat mogelijk is. Doordat de naam en waarde dus ook dynamisch uit de verkoopdatabase kunnen worden gegeneerd kun je hier bijvoorbeeld de soort promotie (jaar, seizoen, medium etc) en welke actie (kortingsactie of 3+1 actie) uit de webshop-database ophalen. Immers als markeer wil je o.a. weten wat de meest succesvolle campagnes en acties zijn geweest. Ook zou je productcategorien en artikelen als naam en waarde kunnen opnemen.
Noot: er is een Google webinar over Custom Variables met ook een paar voorbeelden voor e-commerce. De geluidskwaliteit is erg slecht maar het webinar is zeker de moeite waard om te volgen (45 min.) Bijgaande screenshot komt uit dit webinar waar met een query data uit een database wordt opgehaald.
Custom Variables in report
Als er Custom Variables zijn gedefinieerd dan kun je er specifieke reports mee maken. Denk op page-level bijvoorbeeld aan hoe vaak kleine vs grote klanten een aanbiedingspagina bezoeken. Op visit-level zou je een report kunnen maken welke productcategorien grote en kleine klanten bezoeken. Het is immers niet ondenkbaar dat kleine klanten het assortiment niet goed kennen en daardoor bepaalde productcategorien niet bezoeken. Als je weet welke dat zijn kun je deze kleine klanten hierover informeren met een persoonlijke (e-)mailing.
Met Customer Variables kun je dus online webgedrag integreren met offline database of CRM-gegevens.
Targeting Valuable Customers . . . altijd van gedroomd
Zou het niet geweldig zijn als je website de verschillende type klanten herkend? En dat je dan per type klant een maatwerk aanbieding kunt doen of webpagina kunt tonen? Met Custom Variables is dit geen droom meer. Het klanttype is eerder uit de e-commerce database gehaald en op het systeem van de bezoeker is een cookie geplaatst (zie hierboven de uitleg over visitor-level). Met behulp van het commando _getVisitorCustomVar (5) wordt dit cookie gecheckt. Ter info: de parameter “5” staat voor de “Vrije variabele (waarde 05) van je Custom Variable. En dat zijn bijvoorbeeld klanten die 10+ keer iets in je webshop hebben gekocht. Als zij nu bijvoorbeeld de homepage bezoeken dan wordt hen een ‘persoonlijke’ aanbieding of promotion getoond.
Het spreekt voor zich dat je hiermee gericht werkt aan een (mogelijk) strategisch doel om je conversie% te verhogen. Het kan ook een oproep zijn aan al je klanten om cookies te accepteren omdat daarmee extra aanbiedingen worden verkregen.
Klik op de afbeelding om Targeting Valuable Customers nog eens schematisch te bekijken of voor het codevoorbeeld.
In het genoemde Google webinar wordt in het 3e deel de case besproken hoe voor Business Insider (een soort www.nu.nl) Custom Variables zijn ingezet. Vanwege SEO maakt Business Insider geen gebruik van subdomeinen in de URL. Om toch analyses op de ‘hoofdstukken’ de website te kunnen uitvoeren, worden CV’s toegepast. Ook kent Business Insider meerdere layoutvarianten (normale pagina, blog/post, slide-shows). Die kunnen met CV’s worden gekenmerkt en worden geanalyseerd.
Waarom implementeren Custom Variables
- geven antwoord op voorheen niet te beantwoorden vragen;
bijvoorbeeld voor inzicht in productgroepen - verrijken andere variabelen
- je creeert nieuwe dimensies en variabelen waardoor je bestaande GA-data nog waardevoller wordt
- drill-down met reports en advanced segments
Lessons learned
- begin met page-level variabelen en zorg dat je de eigenschappen van slots goed begrijpt
- maak dashboards die je in één keer inzicht geven (visitor reports vragen altijd naar drill-downs)
- pas op met aantal bezoeken bij multipe Customer Variables Values
(die worden abusievelijk nog weleens door de analist fout geïnterpreteerd)
Voor de liefhebbers . . .
Zie hieronder een aantal interessante posts die wij tijdens onze ‘ontdekkingsreis’ over Custom Variables zijn tegengekomen:
(1) Google blog Custom Variables
- Custom Variables, Part I: Why?
- Custom Variables, Part II: The Code
- Custom Variables, Part III: Slots – LunaMetrics
(2) Uitleg Custom Variables vanuit meer technische invalshoek
- Conversion Room: Spotlight on Google Analytics features part 1
- Conversion Room: Spotlight on Google Analytics features part 2
- Conversion Room: Spotlight on Google Analytics features part 3
(3) Praktijkvoorbeeld voor hotelketen
- Extending the Google Analytics Measurement Platform with Custom Variables (Part 1)
- Extending the Google Analytics Measurement Platform with Custom Variables (Part 2)
- Extending the Google Analytics Measurement Platform with Custom Variables (Part 3)
(4) Diversen
- 5 Google Analytics Custom Variables for Ecommerce – Analytics Talk
- handout van Google over Custom Variables
- Mastering Google Analytics Custom Variables – Analytics Talk
- Google Analytics‘ Gift to Humanity: Multiple Custom Variables
- 14 Ideas To Utilize Custom Variables For Search & Social Tracking
- 50 ideeën voor toepassen Customer Variables
(5) Google Webinar Custom Variables
Update per 2013-02-01
Overzicht 20 Custom Variables om in Google Analytics te gebruiken
Heb je vragen of ervaringen uitwisselen . . . you’re welcome !!!
No comments yet.