In de container vind je tientallen tags. Sommige worden twee keer geactiveerd, andere gebruikt niemand meer en een variabele met de naam "test2-final" bepaalt de gerapporteerde omzet. Zolang er niets verandert, meet de website. Bij de eerste wijziging wil niemand echter nog goedkeuring geven voor publicatie.
De oorspronkelijke versie van dit artikel bevatte 19 specifieke instellingen voor Google Analytics, AdWords, Sklik, Facebook en de inmiddels verdwenen tools van die tijd. Destijds was dat praktisch. Tegenwoordig creëer je technische schuld door oude tags te kopiëren. Belangrijker is een systeem dat een nieuwe interface en een vervanging van het platform overleeft.
GTM creëert geen data; het bepaalt alleen de route ervan
Google Tag Manager werkt met drie basiselementen:
- Een tag verzendt of verwerkt data voor een specifieke dienst.
- Een trigger bepaalt bij welke gebeurtenis en onder welke voorwaarden een tag wordt geactiveerd.
- Een variabele levert een waarde, bijvoorbeeld een transactie-ID, prijs of paginatype.
GTM weet zelf niet dat een bestelling is betaald. De website of backend moet die informatie aanleveren. Als het bronsignaal onjuist is, stuurt een perfect geconfigureerde tag de fout alleen sneller naar meer systemen.
De datalayer is een overeenkomst tussen de website en marketing
De datalayer is een gestructureerde laag waarmee de website gebeurtenissen en waarden aan tags doorgeeft. In plaats van de prijs uit een bepaald HTML-element te lezen, verstuurt de applicatie bij een afgeronde aankoop een gebeurtenis met stabiele velden.
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'purchase', ecommerce: { transaction_id: 'OBJ-12345', value: 2490, currency: 'CZK', items: [] } });Dit is een vereenvoudigd voorbeeld van het principe, geen volledige e-commerce-implementatie. Stem de specifieke structuur af op de actuele aanbeveling van het doelplatform. Belangrijk is dat namen, typen en het tijdstip van de gebeurtenis zijn afgesproken en getest kunnen worden.
Ik zou niet vertrouwen op de URL van een bedankpagina of op de tekst van een knop als de website een echte bedrijfsgebeurtenis kan aanleveren. Teksten en URL's veranderen bij een redesign. De overeenkomst rond de datalayer moet stabiel blijven.
Eerst het meetplan, daarna de container
Noteer voor elke bedrijfsstap:
- de naam van de gebeurtenis,
- de exacte voorwaarde waaronder deze plaatsvindt,
- verplichte parameters en hun indeling,
- de bron van waarheid,
- de systemen waarnaar deze mag worden verzonden,
- de vereiste toestemmingsstatus,
- de eigenaar en testmethode.
Maak bij een aanvraag onderscheid tussen een verzonden formulier en een gekwalificeerde lead. Maak bij een online winkel onderscheid tussen het starten van een bestelling en een bevestigde aankoop. Zo voorkom je dat het advertentie-algoritme optimaliseert voor een gemakkelijke maar commercieel zwakke actie.
Namen moeten meerdere tools overleven
Gebruik consistente gebeurtenisnamen in kleine letters en duidelijk beschreven parameters. Wanneer GA4 een aanbevolen gebeurtenis aanbiedt, zoals generate_lead, add_to_cart of purchase, is het verstandig de officiële naam en parameters te volgen. Je krijgt compatibelere rapporten en hebt minder vertaal-lagen nodig.
Andere platforms kunnen hun eigen naam vereisen. Vertaal die alleen in de tag. De website moet één begrijpelijke bedrijfsgebeurtenis verzenden, geen vijf vrijwel identieke signalen volgens het logo van de leverancier.
Toestemming moet onderdeel zijn van de architectuur
Een cookiebanner en GTM mogen niet als twee afzonderlijke werelden werken. De standaardtoestemmingsstatus moet beschikbaar zijn voordat tags worden geactiveerd en na de keuze van de gebruiker correct worden bijgewerkt. Google beschrijft Consent Mode voor zijn tags, inclusief de basis- en geavanceerde modus.
Consent Mode is geen banner en geen juridische beoordeling. Het bedrijf moet waar vereist toestemming verkrijgen, de status doorgeven en ervoor zorgen dat alle tags — ook die buiten Google — de keuze respecteren. Custom HTML is geen geschikte snelkoppeling voor het beheren van toestemming voor Google-tags; gebruik ondersteunde mechanismen en templates.
Kies liever een native template dan een willekeurig script
Gebruik voor Google Tag, Google Ads en andere ondersteunde diensten een native of vertrouwd goedgekeurd template. Bewaar Custom HTML voor situaties die niet veilig op een andere manier kunnen worden opgelost. Elk script van een derde partij voegt risico's toe op het gebied van prestaties, beveiliging en onderhoud.
Controleer de container elk kwartaal en verwijder tags voor diensten die het bedrijf niet meer gebruikt. Een inactieve marketingtool hoort geen toegang tot bezoekers te hebben alleen omdat deze is vergeten.
Testen moet data, volgorde en het uitblijven van activering controleren
Preview en Tag Assistant tonen welke tags zijn geactiveerd, in welke volgorde en met welke data. Alleen de status Fired zien is niet genoeg. Ik controleer ook:
- of de tag precies één keer is geactiveerd,
- of deze niet bij de verkeerde stap is geactiveerd,
- de waarde, valuta, transactie-ID en items,
- het netwerkverzoek en antwoord van de doelservice,
- de status in de realtime- of testmodus van het platform,
- zowel verleende als geweigerde toestemming,
- mobiel, redirects, mislukte betalingen en opnieuw laden.
Bij een aankoop vergelijk ik het resultaat met de backend. Wanneer GTM één transactie rapporteert en het bestelsysteem een andere, bepaalt Tag Assistant niet wat er boekhoudkundig werkelijk is gebeurd.
Publicatie heeft een versie en een route terug nodig
Gebruik vóór een wijziging een afzonderlijke workspace als meerdere mensen aan de container werken. Geef een publicatie een naam op basis van het resultaat, niet "versie 37", en beschrijf welke gebeurtenissen zijn gewijzigd. Google Tag Manager slaat bij publicatie een containerversie op, zodat de geschiedenis kan worden gevolgd en de vorige status kan worden hersteld als er een fout optreedt.
Rollback vervangt testen echter niet. Als de website en datalayer tegelijkertijd zijn gewijzigd, werkt de oude container mogelijk niet met de huidige code. Rol website- en meetversies gecoördineerd uit.
Twaalf punten voor een gezonde container
- Er staat één juiste container op de website en de plaatsing ervan volgt de installatie-instructies.
- Voor elke belangrijke gebeurtenis bestaan een meetplan en een eigenaar.
- De website verzendt een stabiele datalayer in plaats van kwetsbaar uitlezen van paginainhoud.
- Namen en parameters zijn consistent en gedocumenteerd.
- Persoonsgegevens worden niet zonder een rechtmatige, goedgekeurde reden naar de datalayer verzonden.
- Toestemming is geconfigureerd voordat relevante tags worden geactiveerd.
- Google- en advertentietags gebruiken ondersteunde templates wanneer die bestaan.
- Elke tag heeft een beperkte, begrijpelijke trigger.
- Een aankoop en lead kunnen niet per ongeluk twee keer worden verzonden.
- Bij het testen zijn ook negatieve scenario's en geweigerde toestemming meegenomen.
- De publicatie heeft een naam, beschrijving en bekende route terug.
- Ongebruikte tags, variabelen en toegangen worden regelmatig verwijderd.
Waar GA4, Meta en advertentiesystemen passen
GTM is een verkeersknooppunt. Google Analytics 4 houdt zich bezig met de betekenis van gebeurtenissen en rapporten. Het artikel over Conversions API legt de server-side route van gebeurtenissen naar Meta uit. Het rechtstreeks importeren van kosten uit Meta in GA4 heeft een ander doel, dat wordt beschreven in de handleiding voor Meta Ads koppelen aan GA4.
Probeer niet elke laag met één tag op te lossen. Definieer eerst de gebeurtenis, daarna toestemming, overdracht, validatie en pas daarna het rapport.
Wanneer GTM niet nodig is
Voor een zeer eenvoudige website met één ondersteunde analyticstag kan directe implementatie van de Google-tag duidelijker zijn. GTM is zinvol wanneer je meer gebeurtenissen, diensten, voorwaarden en een gecontroleerd wijzigingsproces nodig hebt. Het is geen verplicht bewijs van volwassen marketing.
Als je container in meerdere jaren is gegroeid en niemand deze nog durft te publiceren, zou ik niet beginnen met het toevoegen van een tag. Ik zou beginnen met een inventarisatie en één testpad van de datalayer naar het rapport. Je kunt de huidige situatie via contact beschrijven.