Hoe werkt een datalayer?
Gebruik je Google Tag Manager op een webpagina, dan maak je een datalayer aan, vóór de code van de container. Daarna voegt je site er gegevens aan toe met dataLayer.push(). Tag Manager verwerkt die berichten op volgorde van binnenkomst, één voor één. Is een bericht een gebeurtenis, dan gaan alle tags af waarvan de trigger klopt, voordat Tag Manager het volgende bericht verwerkt.
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
'event': 'generate_lead',
'dienst': 'zonnepanelen'
});
</script>
De sleutel event heeft een speciale rol. Met een trigger voor een aangepaste gebeurtenis (Custom Event) laat je een tag afgaan zodra die naam in de datalayer verschijnt. Andere sleutels lees je uit met een variabele van het type Data Layer Variable. Zo gebruik je bijvoorbeeld de gekozen dienst of een orderwaarde in je tags.
Voorbeeld: een offerteaanvraag via de datalayer
Installatiebedrijf Zonwerk uit Eindhoven wil offerteaanvragen meten in Google Analytics 4 en Google Ads. Na het verzenden van het formulier voert de site de code hierboven uit. In Tag Manager regelt het bedrijf drie dingen:
- Een trigger voor de aangepaste gebeurtenis
generate_leadaanmaken. - Een Data Layer Variable voor
diensttoevoegen. - Met die trigger een GA4-gebeurtenis en een conversietag van Google Ads laten afgaan, met de dienst als parameter.
De naam generate_lead komt uit de lijst met aanbevolen gebeurtenissen van GA4: iemand verstuurt een formulier of vraagt informatie aan. Zo meet Zonwerk de aanvraag op één plek, zonder losse code per tag. Lees meer over event tracking en conversietracking.
Veelgemaakte fouten met de datalayer
- De datalayer overschrijven: met een toewijzing als
dataLayer = [{'item': 'value'}]wis je alle bestaande waarden. Gebruikwindow.dataLayer = window.dataLayer || []en daarna alleenpush(). - Verkeerde hoofdletters: de naam is hoofdlettergevoelig. Een push naar
datalayermet een kleine l werkt niet. - Wisselende namen: gebruik op elke pagina dezelfde naam voor hetzelfde gegeven, bijvoorbeeld overal
visitorType. Anders gaan je tags niet overal af. - Ontbrekende aanhalingstekens: zet namen van variabelen altijd tussen aanhalingstekens.
- Dezelfde naam twee keer pushen: de nieuwe waarde vervangt de oude.
Veelgestelde vragen over Datalayer
Heb je een datalayer nodig voor Google Tag Manager?
Ja. Voor Tag Manager op een webpagina maak je een datalayer aan, vóór de code van de container. Bij de standaardcode van de Google tag zit die regel er al in.
Waarom schrijf je dataLayer met een hoofdletter L?
De naam van het object is hoofdlettergevoelig. Een push naar datalayer met een kleine l werkt niet. Je kunt het object wel een andere naam geven in de code van je container.
Blijven gegevens in de datalayer bewaard tussen pagina’s?
Nee. Een variabele in de datalayer bestaat alleen zolang de bezoeker op de pagina blijft. Gegevens die je op elke pagina nodig hebt, zet je op elke pagina opnieuw in de datalayer.