GA4 vanuit web-GTM via je servercontainer sturen
Je servercontainer draait, maar nog niets stuurt er data naartoe. In deze les maak je een GA4-property aan, voeg je een Google-tag en GA4 Event-tags toe aan je webcontainer en laat je ze elke hit naar je eigen subdomein sturen in plaats van naar Google. GA4-hits gaan dan naar k7q2x.example.com in plaats van naar Google, en de servercontainer bepaalt waar de data daarna heen gaat. De scripts van GTM en gtag.js zelf laden nog steeds vanaf googletagmanager.com, tenzij je ze vanaf je eigen domein serveert (les 8).
Gemiddeld 12 min lezen
Op deze pagina
Wat je leert
- Een GA4-property en webdatastream aanmaken en de Measurement ID vinden.
- Een Google-tag met
server_container_urltoevoegen in de webcontainer. - Eigen en e-commerce-events versturen met GA4 Event-tags.
- In DevTools controleren dat hits naar je subdomein gaan.
01 De GA4-property en webstream aanmaken
Sla deze sectie over als je al een GA4-property hebt. Je hebt alleen de Measurement ID ervan nodig.
- 1 Open analytics.google.com, ga naar Admin en klik op Create, dan Property.
- 2 Vul een propertynaam, je rapportagetijdzone en valuta in en rond daarna de bedrijfsgegevens af.
- 3 Als je gevraagd wordt data te gaan verzamelen, kies je Web, vul je de URL van je website en een streamnaam in en klik je op Create stream.
- 4 Kopieer de Measurement ID uit de streamdetails. Die ziet eruit als
G-XXXXXXXXXX.
02 De Google-tag met je server-URL toevoegen
De Google-tag laadt GA4 op de pagina en verstuurt de page_view. Eén instelling, server_container_url, bepaalt waar zijn hits heen gaan.
- 1 Ga in je webcontainer naar Tags, klik op New en kies Google tag als tagtype.
- 2 Plak je Measurement ID in Tag ID.
- 3 Voeg onder Configuration settings een rij toe met de parameter en waarde hieronder.
- 4 Zet de trigger op Initialization - All Pages (of All Pages), geef de tag een naam en sla op.
Configuration parameter: server_container_url
Value: https://k7q2x.example.comGebruik precies de URL van je servercontainer: https://, geen pad en geen slash aan het eind. Initialization - All Pages vuurt vóór andere tags, dus events die vroeg vuren weten al waar ze hun data heen moeten sturen.
03 Events versturen met GA4 Event-tags
Paginaweergaven en events van enhanced measurement (scrolls, uitgaande klikken, zoeken op de site, bestandsdownloads) komen automatisch uit de Google-tag. Je eigen events, zoals aanmeldingen en aankopen, hebben een Google Analytics: GA4 Event-tag nodig. Hergebruik de sign_up-trigger uit les 1:
- 1 Maak een tag van het type Google Analytics: GA4 Event.
- 2 Zet Measurement ID op
G-XXXXXXXXXX(jouw ID). Het event gaat via de Google-tag met dezelfde ID, inclusief de server-URL daarvan. - 3 Zet Event Name op
sign_up. Voeg onder Event Parametersmethodtoe met de Data Layer Variable die je eerder hebt gemaakt. - 4 Kies de Custom Event-trigger
sign_upen sla op.
Voor e-commerce pusht je site de aankoopgegevens in het ecommerce-object dat GA4 verwacht. Maak eerst het vorige ecommerce-object leeg, zoals in dit voorbeeld.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'T-10293',
value: 129.90,
currency: 'EUR',
items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
}
});- 1 Maak een Custom Event-trigger voor
purchase. - 2 Maak een Google Analytics: GA4 Event-tag met Event Name
purchase. - 3 Open More Settings, dan Ecommerce, vink Send Ecommerce data aan en kies Data Layer als Data source.
- 4 Koppel de
purchase-trigger en sla op.
04 Wat er verandert in de browser
Zonder server-URL stuurt GA4 hits naar hosts van Google zoals region1.google-analytics.com of analytics.google.com. Met een server-URL gaan dezelfde hits naar je subdomein op het pad /g/collect:
https://k7q2x.example.com/g/collect?v=2&tid=G-XXXXXXXXXX&en=page_view&...- Het verzoek blijft op je eigen domein, dus voor de browser is het first-party.
- Minder blockers matchen erop, omdat het niet meer naar een bekend analyticsdomein gaat. Blockers die op het pad
/g/collectmatchen, kunnen het nog wel tegenhouden: Request Proxy in les 8 vangt dat af. - De servercontainer ziet elke GA4-hit voordat GA4 hem ziet, en daar kun je later data filteren of verrijken.
05 Controleren en publiceren
- 1 Klik op Preview in de webcontainer en maak verbinding met je site. De Google-tag hoort te vuren bij Initialization en de GA4 Event-tags bij hun events.
- 2 Open in het venster van de site DevTools, ga naar het tabblad Network en filter op
collect. - 3 Herlaad de pagina. Je hoort verzoeken naar
https://k7q2x.example.com/g/collectte zien met status200of204, en geen naargoogle-analytics.comofanalytics.google.com. - 4 Ziet alles er goed uit, klik dan op Submit en publiceer de webcontainer.
- Er staat geen hardgecodeerde gtag.js-snippet voor dezelfde ID meer op de site.
- De Google-tag heeft
server_container_urlop je subdomein staan. -
/g/collect-verzoeken gaan naark7q2x.example.com. - De Preview van de servercontainer toont binnenkomende verzoeken (de les over debuggen legt uit hoe je die leest).
Veelgestelde vragen
Kan ik dit zonder GTM instellen, direct in gtag.js?
Ja. Voeg server_container_url toe aan het config-commando, bijvoorbeeld gtag('config', 'G-XXXXXXXXXX', { server_container_url: 'https://k7q2x.example.com' });. De rest van de cursus gaat uit van GTM.
Heb ik ook een Google-tag voor Google Ads nodig?
Niet voor deze les. GA4-hits zijn genoeg om de servercontainer te voeden, en server-side tags voor andere leveranciers kunnen dezelfde binnenkomende data hergebruiken.
De verzoeken gaan nog steeds naar google-analytics.com. Wat gaat er mis?
Meestal is de wijziging nog niet gepubliceerd, laadt een andere Google-tag of een hardgecodeerde gtag.js-snippet voor dezelfde ID zonder de instelling, of zit er een typfout in de parameternaam. Die moet precies server_container_url zijn.
Klaar om het in de praktijk te brengen?
Rol in een paar minuten een GTM-servercontainer uit op je eigen domein. Voor het Gratis-abonnement heb je geen creditcard nodig.
Gratis account aanmaken