Tijd voor nieuwe meettechniek? Meetdata Google Analytics is eenvoudig te manipuleren

Dit artikel is een gecombineerd artikel, omdat onderwerp één leidde tot onderwerp twee. Dan kan je toch ook gewoon twee artikelen schrijven? Klopt, maar daar had ik geen zin in. We beginnen met onderwerp één: het koppelen van bezoekgegevens en dan komen we daarna bij onderwerp twee: tijd voor een nieuwe meettechniek? Hoe deze twee onderwerpen verband houden met elkaar lees je vanzelf.

Internet en offline processen

Iedereen hier die werkt bij een bedrijf dat ook offline werkzaam is, zal er wel eens van gehoord hebben. We willen niet enkel meten wat er op onze website gebeurt, maar het liefst willen we alles van voor tot achter meten. Volledig, over de tijd en zonder haperingen. Prachtig idee, maar het is vaak lastiger dan menigeen denkt. Zeker als het binnen een bedrijf geroepen wordt wat van oudsher geen internetbedrijf is (maar een bedrijf van steen), daar is het component ‘internet’ tussen de offline processen geplaatst, vaak zonder goed te kijken naar de koppelingen tussen internet en deze processen. Dan heb je een uitdaging te pakken.

André Scholten schreef eerder een artikel over het meten van offline conversies. Hij beschrijft in dat artikel hoe de analytics funnel verlengt kan worden met offline conversies. Helaas is die techniek niet op bezoekersniveau, maar op geaggregeerd niveau, waardoor niet zichtbaar wordt welke (unieke) bezoeker offline geconverteerd is. Dit is iets wat ik/we wél graag willen meten omdat dit dan ook te koppelen is aan de overige activiteiten (pagina’s, zoekwoorden, banners, etc) van deze bezoeker.

Idee: verleng de activiteit van de bezoeker

Laatst was ik bezig met mijn collega Jelle Plijnaar om de activiteit van een bezoeker, die gemeten wordt in het analyticspakket, ‘te verlengen’. Wat is het idee? Wanneer een call center agent een telefoongesprek heeft afgerond (positief of negatief) dan willen we deze reactie (conversie) meten in het analyticspakket, gekoppeld aan het ID van de klant die het telefoongesprek, via de site, heeft aangevraagd. Zo kan je per bezoeker al zijn online, maar ook offline, activiteiten en conversies zien. Hiermee wordt steeds meer van de hele funnel, van die bezoeker, meetbaar en daardoor zichtbaar.

Uitwerking: het zijn maar pixels

De meeste analyticspakketten (zoals Google Analytics en Omniture SiteCatalyst) geven de meetdata door, door één transparante pixel van 1×1 op te vragen en daaraan de meetdata mee te geven. Door deze methode is de data die doorgestuurd wordt te manipuleren. Als je weet wát er meegestuurd wordt kan je gericht andere data aan de pixel meegeven. Hierdoor is analyticsdata te manipuleren en is het mogelijk om, op basis van unieke userID’s van bezoekers, extra data aan ‘bezoekers’ te koppelen, zoals het opvragen van een pagina of het afronden van een conversie. Voilá !

Hoe weet je wat je meestuurt?

In dit artikel neem ik Google Analytics als voorbeeld (gebruikerscijfers NL/US: 73%, aboutanalytics.com). Google Analytics laat in hun documentatie (meer) zien welke parameters, die worden meegegeven, waarvoor gebruikt worden. Ideaal.

Demo, demo!

Het idee heb ik aan Ton Wesseling voorgelegd en hij maakte een werkende demo om de theorie in de praktijk te testen. In dit geval een demo waarin je bij elke website die Google Analytics gebruikt een unieke bezoeker kan laten meten die op de homepage binnenkomt met een door je zelf gekozen zoekwoord.

Je kunt in onderstaande tool een URL opgeven, de Web Property ID wordt dan voor je opgehaald en daarna kan je het zoekwoord opgeven dat in het analyticsaccount gemeten gaat worden. Ga niet direct het account van iemand anders bestoken met zoekopdrachten, maar gebruik onderstaande testdata. Dit artikel is niet bedoeld om analyticsdata te vervuilen, maar om te laten zien hoe je de activiteit van een bezoek kunt verlengen waarvoor ik deze oplossing heb bedacht die ons wel aan het denken moet zetten over de betrouwbaarheid van deze meettechniek.

Testdata

Domein: www.reinoutwolfert.nl (misbruik me maar…)
Google Analytics username: webanalistenanalyticstest@gmail.com
Google Analytics wachtwoord: Welkom01!
Kies in Google Analytics voor vandaag (standaard staat hij op afgelopen maand) en check de zoekwoorden

Het rapport, in Google Analytics, zou er zo uit kunnen zien:
voorbeeld ga zoekwoorden

Op deze manier is het ook mogelijk om op basis van een bestaand bezoekersID ‘nieuw’ gedrag te koppelen aan een bezoeker. Gedrag dat de bezoeker niet zelf heeft uitgevoerd, maar wat je wel graag wilt meten, zoals bijvoorbeeld het succes (conversie) naar aanleiding van het telefoongesprek wat de call center agent had met deze bezoeker.

Maar checkt Google dan helemaal niks?

Wel wat, maar niet alles. Het is mogelijk om vanaf het webanalisten.nl domein zoekgedrag naar elk ander willekeurig Web Property ID te schieten, met eigen gekozen zoekwoorden. Mijn aanname (maar daar moet je mee oppassen) is dat deze demo ook werkt voor de overige pakketten die werken op basis van pixelmetingen (zoals Omniture). Eerder verscheen er hier al een artikel over het ‘in de war schoppen van analyticsdata‘ (van Jeroen van Eck) en het tegengaan daarvan. De methode die hij beschrijft om het tegen te gaan werkt niet bij de techniek die in dit artikel behandeld wordt.

Wat Google fout doet is dat het unieke bezoekersID wordt bepaald door een variabele die aan die GIF wordt meegegeven. Het IP nummer en daarmee de provider & bandbreedte meetdata worden wel uit de log files gehaald. De oplettende webanalist zal uiteindelijk wel zien wanneer er misbruik gemaakt wordt van zijn account, maar als je de code in een null frame via een javascript redirect op een druk bezochte pagina meedraait dan is het IP nummer ook variabel en dan is het bijna niet meer te tracken.

Oneindige mogelijkheden

Naast de praktische toepassing, zoals het verlengen van de activiteit van bezoeker, zijn er ook frauduleuze / pesterij achtige toepassingen mogelijk (voorbeeld: wanneer er misbruik gemaakt wordt van de demo). Andere voorbeelden zijn: het manipuleren van bezoekerscijfers om betere advertentiedeals te krijgen, concurrenten op een dwaalspoor zetten door rare activiteiten (zoals zoekgedrag en klikgedrag) in te sturen of, wanneer ook a/b testen en mvt testen hiervoor gevoelig zijn: hele testresultaten in de war schoppen.

Wat nu?

Wellicht wordt het tijd om óf de pixel meettechniek te verbeteren, of uit te kijken naar een andere techniek die minder makkelijk te manipuleren is. Naast deze reden bieden ook steeds meer browsers de gebruiker de mogelijkheid om ‘het meten’ uit te zetten. Dit geldt alleen voor de technieken die aangeroepen worden vanuit de broncode van de pagina. Technieken die de logbestanden gebruiken, of enkel ‘luisteren’ aan de server kant, zijn hier ongevoelig voor. Ook deze verandering in de markt is een reden om de discussie over nieuwe meettechnieken nieuw leven in te blazen.

Praktische tip of reden voor discussie?

Wat is jullie mening? Is de inhoud van dit artikel een reden om te twijfelen aan de techniek (en over verbetering na te denken) of enkel een mooie methode om meer te kunnen meten van de hele klantreis / customer journey?

Reacties (18)

  1. Dat is het grote nadeel van page-tagging technieken. Alle pakketten zijn hier gevoelig voor, niet alleen Google Analytics. Je kunt vanuit bijvoorbeeld de adresbalk eenvoudig een negatieve ecommerce transactie van enkele miljarden euro’s doen. Dat maakt het analyseren opeens erg moeilijk: je hebt dan overal een segment voor nodig. En de beveiliging met een hostname filter gaat hier niet voor werken.

    Google zou hier ook zelf wat aan kunnen doen. De oproep lijkt inderdaad gefaked vanaf het ingevulde domein te komen, tenminste, die domein staat in het GA gifje. Maar de echte request wordt vanaf webanalisten.nl gedaan, en dat zou makkelijk als frauduleus gemarkeerd kunnen worden.

  2. Ik vind dit erg bijzonder! Nooit bedacht dat misbruik ook een functie kan zijn van Google Analytics! Ik zijn mijn zoekterm nog niet terug, maar dit komt zo misschien nog 🙂

  3. Veel statistieken zijn te manipuleren en inderdaad, met name bij e-commercetransacties is Google Analytics er opvallend makkelijk in. Vraag is echter wel wat het risico in de praktijk is. Je eigen data manipuleren om advertentiedeals binnen te halen lijkt me vergezocht. Een adverteerder zal toch resultaten willen zien en als je die niet kunt leveren, zie je die adverteerder nooit meer terug.

    De data van een concurrent manipuleren lijkt me risicovol – je wint er weinig mee maar de reputatieschade is aanzienlijk wanneer de sabotage uitkomt. Eén ontevreden medewerker die zijn mond voorbij praat (al dan niet anoniem) en je hebt een probleem.

    Serverside technieken zijn overigens eveneens te manipuleren. Het web wemelt van de lijsten met anonymous IP-proxies, om maar wat te noemen. Een scriptkiddie met cURL kennis kan daar al een hoop was mee doen. Referrers spoofen om zo vreemde zoekwoorden te laten terugkomen is zelfs een fluitje van een cent. Technisch is dit allemaal weliswaar iets lastiger dan bij Google Analytics maar voor een bedrijf dat ondanks alle risico’s toch besluit zijn concurrent te saboteren is dat nog maar een detail.

  4. Het ‘manipuleren’ is in positieve zin wel handig als je ‘offline’ bezoeken ook in GA wil krijgen, jammer dat er geen formele REST/JSon API voor is, dat zou het een stuk gemakkelijker maken ipv ‘hacken’ op deze manier. Dat hebben ze wel voor uitlezen (export API) maar niet om er data in te zetten. Zou niet alleen voor offline maar ook voor bijvoorbeeld iPhone apps die geen HTML gebruiken handig zijn. Altijd wat te wensen he 😉

  5. Probleem is dat Google er voor heeft gekozen om de host waarvandaan de pixel wordt opgevraagd niet te loggen via normale logfile procedures, maar door dit uit te lezen op basis van een waarde die via javascript aan de pixel wordt meegegeven. Hierdoor is deze ook te manipuleren en kun je bezoek hier dus niet meer voor uitsluiten (zoals het eerdere artikel van Jeroen). Een webanalytics pakket dat wel de logfile gebruikt voor host herkenning is wel veilig tegen deze manipulatie en kan een metingen white list aanleggen. Ben benieuwd welke pakketten dit wel goed voor elkaar hebben en wie niet. Eg gaan vast vendors reageren die het wel goed doen, dus kom maar op 🙂

    De tool is overigens ook een leuke manier om als webanalist aan een baan te komen. Gewoon je email adres + contactgegevens 10.000 keer als zoekopdracht inschieten 🙂

  6. Overigens: 50% van de bezoekers van deze artikelpagina maakt actief gebruikt van het script. Van deze groep mensen submit 10% uiteindelijk ook een zoekopdracht aan een teller. Dit met teksten zoals:

    “Giraffen bij webanalytics”
    “Halloooo wereld”
    “mieszko is gek”
    “bla bla bla”
    “potentiaalvereffeningswandcontactdoosafdekplaatje”

  7. @Andre: verrek kende ik niet eens. Thanks. Werkt zo te zien door serverside die pixel aan te roepen. Die kan je dan ook gebruiken tot en met CRM/callcenter systemen aan toe lijkt me. Niet zo elegant als formele APIs, maar het werkt.

  8. Met het oproepen van de Google Analytics pixel kun je inderdaad ook vanuit andere systemen verderop een pageview opslaan. Belangrijkste voordeel hierbij is dat je bij het versturen van data naar bijvoorbeeld je CRM het Google Analytics ID van de betreffende gebruiker kunt uitlezen en meesturen, zodat je bij het meten van bijvoorbeeld een daadwerkelijke verkoop in een ander systeem (denk eens aan hypotheek verkoop) dit niet alleen in Google Analytics meet, maar ook gekoppeld aan de juiste unieke bezoeker. Hierdoor kun je zien wat al die verschillende bronnen en campagnes nu eigenlijk echt opleveren.

  9. Het probleem lijkt me dan wel (hebben we ook bij BlueConic) dat het wel erg makkelijk te faken is allemaal. Je kan van alles meegeven aan die pixel, en er is nauwelijks een controle mechanisme, er is niet eens een authenticatiemechanisme of zo. Een formelere API kan meer controleren ipv een ‘hack’ zoals dit, een REST/JSon API hebben we dus aan BlueConic toegevoegd. Maar goed het werkt wel 😉
    Volgens mij staat er expliciet in de Google Analytics voorwaarden dat je identificeerbare data niet mag opslaan bij GA? Vanwege (internationale) privacy wetgevingen. Zo te zien hier:
    http://www.google.com/support/forum/p/Google+Analytics/thread?tid=5708c8f46e8a3628&hl=en
    mag je dit enkel doen bij opt-in van de eindgebruiker. Sowieso een aandachtspunt bij Cloud diensten zoals GA: van wie is de data.

  10. @Martijn je slaat in dit geval niets op in Google maar leest het Google Analytics ID uit op dit terug te schieten in Google. Je voegt geen extra info toe.

    Als consultant adviseer ik overigens om nooit privacy gevoelige data fysiek op te slaan in de VS (waar vaak cloud storage staat). Alles dat daar staat is simpelweg van de overheid en kan altijd tegen je gebruikers worden ge/misbruikt.

  11. Dat is nou precies de reden waarom je er twee artikelen van had moeten maken 😉 Iedereen is geïnteresseerd in het faken van de analytics data en het koppelen van on- en offline data valt een beetje weg. Ik zou graag ervaringen willen horen van mensen die dit traject al eens hebben doorlopen, anyone?

  12. Ik denk niet dat we de illusie moeten hebben dat we CRM-data 1-op-1 langs webstatistieken kunnen leggen.

    De onnauwkeurigheid (cookies weigeren, geen javascript toestaan etc etc) maakt dat we hooguit zicht op trends krijgen. Interessant genoeg om na te streven, maar hou wel in je achterhoofd dat deze data geen boekhoudkundige waarde heeft… 🙂

  13. @ruud van de mensen die je wel kunt herkennen wil je ook terugzien wat ze in de offline omgeving uitspoken. Dit om te kunnen bepalen wat wel effect heeft en wat niet. Uiteraard kun je dan geen uitspraken doen over de waarde die web heeft toegevoegd aan het bedrijf, maar wel wat de oorzaken waren van de waarde van de klanten die uiteindelijk via web kochten. Blijft trendwerk, maar prima om te sturen toch?

  14. Ik adviseer om de data uit Google te trekken en haal je transactie data er bij combineer en bouw je eerste fraude report ! Wees creatief! Overigens fraude wordt 99% van de gevallen ontdekt door herhaling en uitzondering in statistiek…

    Dynamisch de boel vernaggelen… tjah, een scriptkiddie die wat code er doorheen knalt, peanuts om te achterhalen… een compleet netwerk ingezet om systematisch de statistiek van een bedrijf te verneuken dan heb je serieus vijanden… ik denk vergezocht.

    Overigens bij banken en verzekeringen is er een afdeling Fraude/Risk management, ff buurten daar voor tips!

    En ga eens op bezoek bij de computer nerd in de kelder… die bedenkt vast wel iets slims :))

    Het lijkt wat zwaar ingezet maar betrek een specialist die je hierin adviseert.

Reacties zijn gesloten.