GA4 server-side tagging: waarom je eerste hit soms het sGTM-endpoint omzeilt
Een bekend maar weinig gedocumenteerd probleem in Google Tag Manager: GA4-eventtags die vóór de Google Tag (configuratietag) worden afgevuurd, negeren de server_container_url en sturen data rechtstreeks naar google-analytics.com in plaats van naar je server-side GTM-endpoint. Dit heeft directe gevolgen voor datakwaliteit, adblocker-gevoeligheid en downstream verwerking via de sGTM GA4-client.
Het probleem: volgorde bepaalt bestemming
Wanneer een dataLayer-push plaatsvindt vóórdat GTM zijn eigen initialisatie-event (gtm.js) heeft verwerkt, kan een GA4-eventtag al afgaan voordat de Google Tag is uitgevoerd. GTM past de configuratieparameters uit de Google Tag — waaronder de server_container_url — namelijk niet automatisch toe op eventtags die eerder worden getriggerd. Het resultaat: die eerste hit gaat niet via je sGTM-endpoint, maar rechtstreeks naar het standaard Google Analytics-endpoint (*.google-analytics.com).
Wat er concreet misgaat
De GTM-interface toont weliswaar welke Google Tag aan een GA4-tag is gekoppeld, maar dat is puur informatief. GTM garandeert niet dat de configuratie al beschikbaar is op het moment dat een eventtag afvuurt. Als een page_view-event bijvoorbeeld al in de dataLayer staat vóór het gtm.js-event, mist die hit de server_container_url volledig. Voor implementaties waarbij de sGTM GA4-client wordt gebruikt als trigger voor pixels, server-side verrijking of data widening, betekent dit dat die eerste hit buiten de server-side flow valt — met gemiste verwerking als gevolg.
Vier directe oplossingen
Er zijn meerdere manieren om dit te verhelpen, afhankelijk van je situatie. De meest structurele aanpak: gebruik de Initialization-trigger voor je Google Tag, zodat de configuratie altijd als eerste beschikbaar is, vóór elk ander event. Alternatief: laat developers de dataLayer-push verplaatsen naar ná het GTM-snippet. Is dat niet mogelijk, stel dan de trigger van de GA4-configuratietag gelijk aan de trigger van je vroegste eventtag. Als laatste optie kun je de server_container_url handmatig instellen op de specifieke eventtags die mogelijk vóór de Google Tag afgaan.
Wat je nu moet controleren
Open GTM Preview en bekijk de volgorde van tags in het tabblad Tags Fired. Controleer of er GA4-eventtags afvuren op events die eerder in de dataLayer staan dan gtm.js of gtm.init. Controleer in je browser Network-tab of GA4-hits naar je eigen sGTM-domein gaan of toch naar google-analytics.com. Let ook op: dit probleem beperkt zich niet tot server_container_url — user properties en eventparameters die via de Google Tag worden meegegeven, kunnen om dezelfde reden ontbreken op vroeg-afvurende tags.