Platforms

GA4 server-side tracking

GA4 server-side tracking betekent dat je site zijn analysegebeurtenissen naar een servercontainer op je eigen subdomein stuurt, en dat die container ze doorstuurt naar Google Analytics. De gebeurtenissen, de parameters en de conversies blijven precies zoals je ze hebt gebouwd; alleen de route verandert.

Dat laatste is waarom dit de moeite waard is op een bestaande opzet. Je bouwt je meetplan niet opnieuw, je verandert waar het langsgaat.

Hoe GA4 server-side tracking draait

Je webcontainer vuurt dezelfde GA4-gebeurtenissen af. In plaats van rechtstreeks naar Google komen ze aan op je meetadres — t.jouwsite.nl — waar de GA4-client in je servercontainer ze ontvangt en doorgeeft.

Daaruit volgen drie dingen. Verzoeken gaan naar je eigen domein, dus blokkeerlijsten rond bekende trackerhostnamen raken ze niet. De gebeurtenis komt bij een machine die jij beheert voordat hij bij Google komt, dus je kunt zien en beperken wat er weggaat. En cookies worden door de server in zijn antwoord gezet in plaats van door een script.

Wat is server-side tagging heeft het volledige mechanisme, inclusief waar dat laatste op Safari stukloopt.

Reken op een stap in je rapportages

Je cijfers bewegen, meestal omhoog, op de dag dat je omzet. Gebeurtenissen die eerst verloren gingen aan een blokkeerder of aan een bezoeker die wegging voordat het verzoek klaar was, komen nu aan.

Dat is de verbetering die werkt, maar het betekent wel dat een vergelijking maand-op-maand over die datum heen twee verzamelmethodes vergelijkt in plaats van twee maanden. Zet de datum in je annotaties en wees voorzichtig met de eerste vergelijking die je daarna maakt.

Het Measurement Protocol is iets anders

Het Measurement Protocol stuurt gebeurtenissen naar GA4 vanaf een server, zonder browserhit. Dat is het juiste gereedschap voor wat buiten je site gebeurt — een retour die je backoffice verwerkt, een lead die telefonisch converteert.

Het staat naast een servercontainer in plaats van ervoor in de plaats. Wat het niet kan, is de paginacontext meedragen die een browserhit meebrengt, dus het is een aanvulling op je meting en geen vervanging ervan.

Wat jouw probleem blijft

Toestemming blijft gelden. Een GA4-hit van een bezoeker die opslag weigerde is nog steeds cookieloos, precies zoals consent mode bedoelt — de server verandert niet wat je mocht verzamelen.

En een verkeerde gebeurtenis blijft verkeerd. Server-side verbetert de bezorging, niet het meetplan erachter.

Naast de advertentieplatformen

Dezelfde container die GA4 voedt, kan vanuit dezelfde gebeurtenis ook Google Ads, Meta en TikTok voeden. Zie Google Ads server-side tracking, de Meta Conversions API en wat is de Conversions API voor de advertentiekant, en Aan de slag voor de opzet.

Vragen die hierover gesteld worden

Veranderen mijn GA4-cijfers na de overstap?
Ja, en meestal omhoog, omdat gebeurtenissen die een blokkeerder of een vroeg gesloten tabblad kwijtmaakte nu wél aankomen. Reken op een stap in je rapportages op de dag dat je omzet. Dat is geen kwaliteitsprobleem, maar het betekent wel dat elke vergelijking over die datum heen twee verschillende verzamelmethodes vergelijkt.
Moet ik mijn GA4-opzet opnieuw bouwen?
Nee. Je gebeurtenissen, parameters en conversies blijven zoals ze zijn. Wat verandert is de route tussen je site en GA4, niet je meetplan. Dat is de belangrijkste reden dat server-side de moeite waard is op een bestaande opzet in plaats van een verbouwing.
Ontkom ik met server-side GA4 aan de cookiebanner?
Nee. Toestemming gaat over wat je op het apparaat van de bezoeker plaatst en uitleest, en dat wordt in de browser bepaald, ongeacht waar het verzoek daarna langsgaat. Consent mode blijft werken, en een servercontainer maakt het doorgeven van dat signaal juist makkelijker.
En het Measurement Protocol?
Dat is een aparte route om gebeurtenissen naar GA4 te sturen vanaf een server zonder browserhit, handig voor dingen die buiten de site gebeuren zoals een retour. Het staat naast een servercontainer in plaats van ervoor in de plaats, en het draagt de paginacontext niet die een browserhit wel meebrengt.