Hoe je snapchat campagnes kunt bijhouden in Google Analytics zonder je data te vervuilen
Snapchat campagnes maken gebruik van een functie genaamd preloading. Bij iedereen die je advertentie ziet wordt je website ‘onder water’ alvast ingeladen. Het voordeel? Bij bezoekers die een ‘swipe up’ doen (doorklikken) is de website al helemaal geladen en hoeven bezoekers niet meer te wachten. Dit is goed voor conversie.
Maar deze functie heeft ook een nadeel. Preloading resulteert in een grote vervuiling van je Google Analytics data. Iedereen die je advertentie ziet wordt gelijk al bijgehouden als een bezoeker in Google Analytics. Ook de bezoekers die nog niet eens hebben doorgeklikt.
Ondergesneeuwd door fake data
Wat gebeurt er dan? Je Google Analytics rapporten worden overspoeld met data. Het lijkt alsof je enorm veel traffic naar je website genereert vanuit Snapchat. Snapchat komt in je rapporten naar voren als één van de kanalen met de meeste traffic. In eerste instantie lijkt dat mooi. Maar als je wat dieper gaat graven, dan zie je dat die bezoekers niets doen op je website. Ze haken allemaal gelijk af, lezen niets en doen geen aanvraag op je website. Die bezoeken zijn waardeloos voor jouw website. En dat klopt ook, want ze zijn in feite nooit op jouw website geweest.
Verder is het lastig om de resultaten te beoordelen van bezoekers die wél echt doorklikken vanuit een snapchat campagne. Je kunt eigenlijk niet goed meer zien hoe snapchat presteert ten opzichte van andere verkeersbronnen. En daarmee is het moeilijk om je campagnes bij te sturen. Je gegevens zijn helemaal ondergesneeuwd met fake data.
Fake data herkennen
Heb jij ook last van vervuiling van je data door snapchat campagnes met preloading? Je kunt dit herkennen aan een aantal kenmerken. Ten eerste het aantal. Als je op grotere schaal adverteert op Snapchat dan is het aantal gebruikers en sessies dat geteld wordt enorm. Verder is het bouncepercentage van deze groep extreem hoog (tussen 95% en 100%). De gemiddelde sessieduur is kleiner dan 1 seconde.
Snapchat campagnes bijhouden zonder vervuiling
Hoe kun je dit nu voorkomen? Je kunt preloading natuurlijk uitschakelen. In dat geval heb je gelijk geen last meer van vervuiling. Alleen adviseert Snapchat juist om preloading wel in te schakelen. Volgens hen is er een 140% toename van de tijd op site wanneer preloading aan staat. In de ideale situatie laten we preloading dus liever aan staan.
Het is mogelijk om Snapchat campagnes met preloading bij te houden zonder vervuiling. In grote lijnen werkt dit als volgt. Allereerst zorg je dat al je snapchat campagnes voorzien zijn van UTM tags. Bij alle bezoekers vanuit de snapchat campagne pas je vervolgens nog de volgende maatregelen toe:
- Je zorgt ervoor dat Google Analytics tracking code niet geplaatst wordt bij binnenkomst op de pagina.
- Je detecteert met een stukje JavaScript code de zichtbaarheid van de pagina.
- Wordt de pagina zichtbaar? Dat is het teken dat iemand echt heeft doorgeklikt. Pas dan plaats je de Google Analytics tracking code.
Het detecteren van zichtbaarheid van de pagina kan met de Page Visibility API. Dit is een functie die door ontwikkelaars wordt gebruikt om te zien of het tabblad van een website wel of niet actief is. Bijvoorbeeld om een video te pauzeren als het tabblad niet actief is. Wij gaan deze functie benutten om vervuiling van de Snapchat preloader te voorkomen.
Inrichting stappenplan met Google Tag Manager
Hieronder leg ik stap voor stap uit hoe je deze oplossing kunt implementeren in Google Tag Manager. Een aantal code snippets in dit artikel zijn met toestemming overgenomen van Simo Ahava’s artikel over de Page Visibility API.
Stap 1: Voorzie je campagnes van UTM tags
Als je regelmatig werkt met online campagnes en Google Analytics dan is de kans groot dat je al eens met UTM tags hebt gewerkt. Als je deze functie nog niet kent, dan kan ik het Frankwatching artikel van Frank Daamen over UTM tags van harte aanbevelen.
Voor deze campagne wil ik dat al het verkeer binnenkomt onder ‘snapchat / social’. We gebruiken daarom de volgende UTM tags op mijn landingspagina:
www.website.nl/landingspagina?utm_source=snapchat&utm_medium=social
Stap 2: Voorbereidend werk
Voordat we kunnen beginnen aan het echte werk, moeten we vijf variabelen en één tag maken. We starten met de variabelen.
Ga naar ‘Variabelen’ en maak een nieuwe variabele aan met type ‘Aangepaste JavaScript-macro’. Kies als naam ‘UTM Medium’ en vul onderstaande code in:
Herhaal de procedure, maar kies nu als naam ‘UTM Source’ en vul onderstaande code in:
Herhaal de procedure opnieuw. Dit keer met de naam ‘visibility callback’ en de code:
Maak nog een variabele met de naam ‘visibility hidden’ en de code:
De laatste variabele die we gaan maken is ‘visibility prefix’. Hier is de code:
Nu gaan we door met het toevoegen van een tag. Ga naar ‘Tags’ en maak een nieuwe tag aan. Kies als naam ‘Visibility Listener Snapchat’. Type tag is ‘Aangepaste HTML’. Kies ‘All pages’ als trigger. Vul de volgende HTML code in het veld:
Flinke klus, of niet? Gelukkig ben je nog niet afgehaakt en kunnen we nu verder naar het echte werk!
Stap 3: Blokkeer de Google Analytics pageview tag bij bezoekers vanuit de Snapchat preloader
Als het goed is heb je in Google Tag Manager een Google Analytics pageview tag. Deze tag wordt normaal gesproken op alle pagina’s afgevuurd met de trigger ‘All Pages’. In deze stap gaan we hier een uitzondering trigger toe te voegen. We zorgen met deze uitzondering trigger ervoor, dat de tag niet wordt afgevuurd bij bezoekers vanuit snapchat.
Om dit te doen openen we de Google Analytics tag. Scroll vervolgens naar beneden en klik op ‘Uitzondering toevoegen’. Klik op het ‘plus’ icoon om een trigger toe te voegen. Neem de trigger over uit onderstaand screenshot.
Met deze uitzondering trigger zeggen we dat Google Analytics niet geladen mag worden bij bezoekers met de UTM tags snapchat / social, als de pagina nog verborgen is.
Paar opmerkingen:
- Ik maak gebruik van een aangepaste gebeurtenis met de reguliere expressie “.*”. Dit is een best practice voor uitzondering triggers.
- Bij UTM Source en UTM Medium maak ik ook gebruik van een reguliere expressie die niet hoofdlettergevoelig is. Dat doe ik omdat UTM tags worden door collega’s niet altijd goed overgenomen. Hoofdletters en kleine letters worden wel eens door elkaar heen gebruikt. Bron en medium worden wel eens omgewisseld. Op deze manier gaat het altijd goed.
Stap 4: Zorg dat Google Analytics wel geplaatst wordt bij actieve bezoekers uit Snapchat
We zijn nu zo ver dat Google Analytics pageview tag niet wordt afgevuurd bij bezoekers vanuit de snapchat preloader. De volgende stap is om ervoor te zorgen dat bezoekers vanuit snapchat alsnog worden geteld als ze een ‘swipe up’ doen.
Om dit te realiseren voegen we een extra trigger toe aan de Google Analytics pageview tag. Let op, dit is een normale activerende trigger en geen uitzondering trigger. Neem de inhoud van de trigger over uit onderstaand screenshot.
Deze trigger zorgt ervoor dat de Google Analytics pageview tag alsnog afgevuurd wordt bij een ‘swipe up’.
Stap 5: Afronding
Als laatste voegen we nog één veld toe aan de Google Analytics paginaweergave tag. Je kunt de inhoud overnemen uit onderstaand screenshot. Met deze instelling voorkomen we dat de Google Analytics tag meer dan één keer wordt ingeladen per weergave.
Tot slot
Heb je alle stappen doorlopen? Dan ben je klaar om je container te testen en te verzenden! Wil je dit liever niet zelf doen? Neem dan contact op met Hayona voor Google Tag Manager ondersteuning.