7 verkeerde verwachtingen van Google Tag Manager

Veel bedrijven hebben inmiddels Google Tag Manager geïmplementeerd of overwegen deze te implementeren. De voordelen zijn talrijk en de verwachtingen liggen daarom meestal ook hoog. Met Google Tag Manager (vanaf nu GTM) kan je alles zelf. Dat is in principe ook helemaal waar, maar de werkelijkheid ligt wel iets genuanceerder. Daarom is het handig om vooraf al een realistischer beeld te vormen over wat er verwacht mag worden van GTM en vooral ook wat niet.

Wat we ook vaak tegenkomen, zijn te lage verwachtingen, waardoor er een andere Tag Manager wordt gekozen gebaseerd op inmiddels verouderde aannames over GTM. De versie van GTM die momenteel in gebruik is, is behoorlijk is geëvolueerd ten opzichte van de eerste versies. In dit geval overtreft GTM dus in de praktijk de verwachtingen. De meest voorkomende aannames over GTM passeren daarom in dit blog de revue:

Te hoge verwachtingen:

  1. Je kunt alle soorten codes via GTM uitserveren.
  2. Iedereen kan GTM beheren.
  3. Ik heb nooit meer een programmeur nodig.
  4. Google Analytics via Google Tag Manager is altijd beter dan hardcoded analytics.

Te lage verwachtingen:

  1. Er zijn weinig vooraf ingebouwde tags in GTM.
  2. Je kan niet bepalen waar op de pagina een tag geladen moet worden.
  3. Je kan scripts niet van elkaar afhankelijk maken.

Google-Tag-Manager

Te hoge verwachtingen

 1. Je kunt alle soorten codes via GTM uitserveren.

Je kunt bijna alle codes via GTM uitserveren, maar niet álles. Alle codes die écht in de header (oftewel helemaal bovenin) moeten worden geplaatst, zijn een probleem met GTM. De header is namelijk de enige plek in de code waar je géén tags kunt afvuren met GTM.

De meest voorkomende code die écht in de header geplaatst moet worden, is de code van een A/B testing tool. Als je dat niet doet, werkt de tool niet goed. Oftewel, A/B testing kan dus niet via GTM. Er is wel een en ander aan workarounds beschikbaar, maar het blijven wel workarounds. Een A/B testing tool werkt echt het beste door deze eenmalig hardcoded te implementeren.

Het plaatsen van de A/B testing code in de header zorgt ervoor dat het publiek al verdeeld wordt over varianten voordat de pagina is ingeladen en voorkom je dus een ‘flikkerende’ pagina. Zo weet je zeker dat je testpubliek een zuivere variant heeft gezien. Tevens weet je met native code ook zeker dat het publiek gelijk, en dus representatief, wordt verdeeld.

2. Iedereen kan GTM beheren.

Het streven van Google is om Tag Management makkelijk te maken en toegankelijk voor iedereen. Het wordt ook ‘verkocht’ als tool waarmee marketeers eenvoudig tags kunnen beheren. Het toevoegen van nieuwe tags kan ook inderdaad heel eenvoudig zijn, bijvoorbeeld het kopiëren en plakken van Javascript en deze laten afvuren op de bedankpagina. Een kind kan de was doen zou je denken. Maar ondanks verbeteringen in de interface vergt het beheren van GTM tags  in de praktijk wel degelijk een minimaal technisch begrip.  Je moet een tag  aanmaken, wat kan met copy paste of met een template en je moet deze afvuren op een bepaald moment. Dat moment moet je in een trigger definiëren, bijvoorbeeld op basis van de URL. Dat is heel goed te doen, maar sommige mensen schrikken al af bij de termen tag en trigger en als er dan ook nog een variabele moet worden gebruikt dan heb je toch wel op zijn minst een interesse nodig om dit te begrijpen. Want hoe je het went of keert, ook al is het niet erg moeilijk, het blijft een technisch principe.

Daarnaast, als meerdere mensen tegelijk GTM  beheren kan dit leiden tot ongewenste bij-effecten.  Hoe meer mensen in GTM kunnen bewerken, des te lastiger het wordt om de de tag omgeving te controleren. Onverstandig dus om iedereen beheerderstoegang tot GTM te geven.

3. Ik heb nooit meer een programmeur nodig.

Zoals hierboven genoemd heb je om te beginnen al een basisbegrip nodig van de techniek van de site. Daarmee kan je eenvoudige tracking en conversiescripts plaatsen. Zodra je een variabele waarde nodig hebt of zodra je met Google Analytics implementatie aan de slag gaat, heb je al meer technisch begrip nodig. Als je meer geavanceerde dingen wilt bereiken, wat goed mogelijk is met GTM, dan heb je vaak wel hulp nodig van een programmeur om je bijvoorbeeld een stukje custom script aan te leveren dat doet wat jij wilt of om je te helpen bij het instellen van de juiste triggers.

En in sommige gevallen moet er op de site toch nog code worden toegevoegd door een programmeur om bepaalde tags af te kunnen vuren of om variabele waarden op te vangen. Wees dus niet voorbarig met het ontslaan van je programmeur 😉

4. Google Analytics via Google Tag Manager is altijd beter dan hardcoded analytics. 

GTM is een hele efficiënte tool waarmee je veel schaalvoordelen kunt behalen. Je haalt demeeste meerwaarde uit GTM als je een duidelijk geprogrammeerde site* hebt en als je veel gebruik maakt van conversietags of tracking pixels. Nog meer als het gaat om scripts/pixels die er maar tijdelijk op staan.

Op het moment dat je GTM alleen maar gebruikt om Google Analytics mee af te vuren, heb je alleen efficiencyvoordelen bij een goed geprogrammeerde site. Zodra je een ingewikkeldere site hebt met bijvoorbeeld veel AJAX of JSON (kort door de bocht gezegd alles wat er heel dynamisch uit ziet maar waarbij de URL niet verandert na een klik, of waarbij buttons bijvoorbeeld plaatjes zonder tekst zijn), dan heb je al gauw wat custom code nodig aan GTM kant of aan site kant. GTM ‘ziet’ in dat geval niet alles en dan wordt de tijd en moeite die je in de implementatie steekt hetzelfde via GTM als wanneer je het hardcoded zou doen. Ook als je later nog een verandering nodig hebt.

In het geval van apps biedt GTM helaas ook weinig meerwaarde. Iedere aanpassing die je via GTM doet voor een app (met de speciale GTM code voor apps) zorgt voor een nieuwe containerversie, die opnieuw hardcoded in de app zelf moet worden gezet. Gewoon een klik op “Publiceren” werkt dus niet (!). Je moet dus wachten op de volgende app publicatie voordat een verandering zichtbaar is. Ook kan je (mede hierom) je ingevoerde change niet zelf testen in je app voordat je publiceert, dus er valt in dit geval zeker wel wat voor te zeggen om changes in een app altijd door de programmeurs te laten implementeren en testen.

* Met een ‘duidelijk geprogrammeerde site’ wordt een site bedoeld waarbij de verschillende HTML elementen eigen, herkenbare kenmerken hebben (een klasse, naam, of id), waarbij elke pagina een eigen, zichtbare, URL heeft en waarbij alle linkjes, ook buttons, link teksten hebben. Dit kan GTM zelf automatisch uitlezen.

Te lage verwachtingen

1. Er zijn te weinig ingebouwde tags.

Het was inderdaad lange tijd zo dat er eerst alleen Google Analytics en AdWords templates beschikbaar waren, maar inmiddels is de lijst met geïntegreerde tools behoorlijk gegroeid zodat de meest gebruikte tools middels een formuliertje te activeren zijn. Bijvoorbeeld DoubleClick, Clicktale, Mouseflow, comScore, Criteo en CrazyEgg.

Let op, soms is het alsnog makkelijker om een aangepaste Javascripttag te maken dan om een template te gebruiken. Indien je geen technische achtergrond hebt, is een copy paste van een eenvoudig script (lees: een statisch script) makkelijker dan een template invullen.geintegreerde tools Google Analytics

2. Je kan niet bepalen waar op de pagina een tag geladen moet worden

GTM is een zogenaamde ‘asynchrone’ tag manager. Dat houdt in dat tags op een bepaald moment beginnen met inladen, terwijl ondertussen de rest van de site laadt. Het grote voordeel daarvan is dat de tags in GTM de laadtijd en het functioneren van je site niet beïnvloeden. Je hebt daardoor wel iets minder controle over het exacte afvuurmoment (in de zin dat de site verder laadt terwijl je tag nog bezig is met laden, of dat er meerdere tags tegelijk worden gevuurd) maar er zijn in de praktijk maar heel weinig momenten dat dat echt een beperking is omdat het hier om milliseconden gaat.

Je hebt wel behoorlijk wat invloed op het moment dat je de tags wilt laten starten met vuren. GTM heeft standaard 3 momenten hiervoor:

  • Zodra GTM zelf wordt ingeladen, dus het meest bovenaan in de code (net na de header)
  • Zodra de content is ingeladen (min of meer vergelijkbaar met ‘in de footer’)
  • Zodra de pagina helemaal klaar is met laden (‘na de footer’, in zekere zin)

Daarnaast kan GTM tags afvuren op basis van een klik (een link of een random muisklik ergens op de pagina), een geschiedeniswijziging, na een aantal (milli)seconden, op het moment dat een formulier wordt verstuurd en op basis van een javascript fout. Dat zijn al behoorlijk wat voor gedefinieerde momenten. Mocht je daar niet genoeg aan hebben, dan kan je zelf via een datalayer event (hardcoded) op de site extra momenten creëren die tussen a) en c) in zitten. Deze events gebruik je vervolgens als trigger om tags af te vuren eventueel aangevuld met specifieke URL’s als filter. De enige plek waarop je géén GTM tags kunt afvuren, is in de header, zoals besproken in 2).

3. Je kan scripts niet afhankelijk van elkaar maken.

Soms moeten scripts op een specifieke volgorde worden ingeladen. Script A leest bijvoorbeeld variabelen uit die script B moet gebruiken. Dat noem je ook wel scriptafhankelijkheid. Veelal wordt er nog gedacht dat je binnen GTM geen controle hebt over de volgorde van scripts en dat script A en B dus altijd tegelijk beginnen of willekeurig net na elkaar.

Maar die controle heb je zeker wel, echter is deze functionaliteit niet direct zichtbaar als je een nieuwe tag aanmaakt. Hij zit namelijk verborgen onder ‘geavanceerde instellingen’ en dan onder ‘tagreeks’:GTM scripts

Zoals je kunt zien kan je hierin aangeven of je de nieuw tag vóór of ná een tag wilt activeren en kun je kiezen of je de ‘volgende’ wel of niet laat vuren als de eerste tag is mislukt. Oftewel, het laden van script B kan je afhankelijk maken van het laden van script A.

Tot slot

GTM is handig voor iedereen, maar besef dat het een serieuze tool is die goed beheerd moet worden en zeker technisch begrip vraagt. Heb je dit? Dan kan je de mogelijkheden van Google Tag Manager optimaal benutten. Ken jij nog andere leuke praktijkgevallen of verwachtingen van GTM die in het echt niet waar bleken te zijn? Post ze hieronder in een reactie. Wil je meer weten over datalayer events of GTM implementatie? Neem dan contact met ons op.

#GAUC16
Ilona zal op de conference day spreken tijdens GAUC 2016. Wil je met 50% korting naar het evenement? Gebruik dan 5TB5KR. 

Trefwoorden: