10-01-2025

Hoe server-side tagging laden via een pad op je website

Written by:

Het product van Google blijft zich onophoudelijk ontwikkelen. Tot voor kort kon je het beste een server-side tagging omgeving opzetten via een subdomein. Met deze aanpak kun je first-party cookies maken die nodig zijn voor je tools en die een langere levensduur hebben dan third-party cookies. Als gevolg daarvan verzamel je meer gegevens en blijven de gegevens aanzienlijk betrouwbaarder.

Maar met de nieuwe maatregelen van Safari is er nu meer nodig dan alleen het aanmaken van een eigen domein om de levensduur van cookies te verlengen. Cookies die zijn ingesteld vanaf een subdomein met een ander IP-adres worden nu slechts 7 dagen bewaard.

Verschillende opties

Google heeft onlangs de aanbevolen methode voor het koppelen van een aangepast domein aan de servercontainer Google Tag Manager bijgewerkt. In plaats van een subdomein te gebruiken (bijv. sgtm.2manydots.nl), wordt nu geadviseerd om hetzelfde originedomein te gebruiken (bijv. 2manydots.nl/data).

Door hetzelfde origin domein te gebruiken voor sGTM, krijg je het belangrijkste voordeel van tagging aan de serverkant: de mogelijkheid om first-party cookies in te stellen. Bovendien, omdat de tagging server hetzelfde origin domein gebruikt, heb je geen extra configuraties nodig om de levensduur van cookies te verlengen. Het configureren van een pad op hetzelfde domein is echter aanzienlijk complexer dan het instellen van een subdomein.

Met deze laatste update zijn er nu meerdere manieren om je server-side tagging omgeving op je website te laden. Laten we deze opties met je doornemen.

Dezelfde oorsprong (pad) Subdomein Standaard domein (Google)
Voorbeeld URL https://www.2manydots.nl/data https://data.2manydots.nl https://sgtm.run.app
Server-set cookie toegang Volledige toegang tot veiligheid en voordelen Volledige toegang tot veiligheid en voordelen Geen. Alleen JavaScript-cookies zijn toegestaan.
Moeilijkheid Moeilijk. Je configureert een CDN of loadbalancer om de aanvragen door te sturen naar je server. Matig. Je hoeft alleen een DNS-record voor je subdomein aan te passen. Gemakkelijk. Je hoeft zelf geen DNS wijzigingen aan te brengen.

Optie 1: Subdomein

Dit was de aanvankelijke methode die werd aanbevolen voor tagging aan serverzijde. Bij deze aanpak host u uw taggingserver op een subdomein. Alle gegevens worden hier verwerkt en via een API doorgestuurd naar de gewenste services, zoals Google Analytics 4 of de Facebook Conversions API.

Zorg ervoor dat het subdomein voor uw server-side tagging container verschilt van het subdomein van uw website. Als je website bijvoorbeeld toegankelijk is op www.2manydots.nl, kies dan een ander subdomein voor je servercontainer, zoals sgtm.2manydots.nl. Het onderstaande diagram illustreert hoe deze opstelling werkt.

Optie 2: Zelfde oorsprong (pad)

Dit is de nieuwste methode van Google. In plaats van een subdomein te configureren, koppel je een pad naar de taggingserver. Je kunt hiervoor elk gewenst pad kiezen. In ons geval zou het bijvoorbeeld www.2manydots.nl/data kunnen zijn. Het specifieke pad maakt niet uit, zolang het niet al wordt gebruikt op je website.

We leiden je door het proces om dit zelf op te zetten, op voorwaarde dat je al een server-side tagging omgeving hebt. Om dit te configureren, heb je het volgende nodig:

  • Een servercontainer in Google Tag Manager
  • Een taggingserver
    • Gebruik je nog steeds App Engine? Zorg ervoor dat je tagging server nieuwer is dan versie 2.2.0.
  • Een CDN (bijv. Cloudflare) of loadbalancer die het pad kan doorsturen.

Stap 1: een werker aanmaken

Er zijn meerdere manieren om dit in te stellen, maar we zullen Cloudflare gebruiken vanwege de eenvoud. Met Cloudflare is het instellen via een worker ongelooflijk eenvoudig. Houd er echter rekening mee dat workers niet helemaal gratis zijn. Het gratis plan staat maximaal 100.000 aanvragen per dag toe.

Maak een nieuwe werker aan en geef deze een naam naar keuze.

Stap 2: je worker configureren

Nu is het tijd om je worker te configureren. We hebben de code al voor je voorbereid. Er zijn twee belangrijke beslissingen die je moet nemen:

  1. Kies je pad.
    Bijvoorbeeld /data. Werk deze waarde bij binnen de haakjes bij ‘const newPath’.
  2. Kies waar je je werker wilt koppelen. Werk deze waarde bij binnen de haakjes bij ‘const newDomain’.
    • Optie 1: Link naar de standaard Google Cloud URL. We raden deze optie af omdat je Google Tag Manager omgeving dan niet correct wordt geladen.
    • Optie 2 (aanbevolen): Link naar de URL van je subdomein. In ons geval is het subdomein bijvoorbeeld sgtm.2manydots.nl. We raden sterk aan om deze optie te selecteren voor de beste prestaties.
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
  const url = new URL(request.url);
  const { pathname, search } = url;
  // Specify the path you want to modify and the new domain
  const newPath = pathname.replace('/data/', '/');
  const newDomain = 'https://sgtm.2manydots.nl';
  const newUrl = newDomain + newPath + search;
  const response = await fetch(newUrl, request);
  
  // Return the response from the fetch request
  return response;
}

Stap 3: trigger de werknemer op het door jou gekozen pad

Zodra je je worker hebt opgeslagen, is het belangrijk om de worker te triggeren op het pad dat je hebt gekozen. Dit doe je onder het tabblad ‘Triggers’ in je aangemaakte worker. Schakel het automatisch aangemaakte pad uit.

Maak een nieuwe route. Voer hier het volgende in: www.jouwwebsiteurl.nl/gekozenpad/*

  • www.jouwwebsiteurl.nl = Het subdomein waar je website op draait en GTM op zal draaien.
  • /chosenpath/ = Je eerder gekozen pad
  • = RegEx dat alles de volgende keer wordt opgehaald.

Stap 4: Pas de server URL aan in Google Tag Manager

Pas de configuratie van je servercontainer aan in Google Tag Manager zodat deze het pad herkent en verzoeken correct verwerkt. Heb je dit gedaan? Klik dan op de knop Voorbeeld en start een debugsessie om te zien of het werkt. Pas ook je variabelen aan, vooral als je je GTM-container via een subdomein laadt.

Hulp nodig?

Heb je alle stappen gevolgd? Dan ben je helemaal klaar! Al je gegevens stromen nu via het (sub)domein van je website en het gekozen pad rechtstreeks naar de taggingserver. Aangezien de taggingserver hetzelfde domein gebruikt als je website, zijn er geen extra configuraties nodig om de levensduur van cookies te verlengen.

Als je vastzit of hulp nodig hebt, zijn we er om je te helpen. Ons team heeft met succes meer dan 100 server-side tagging implementaties voltooid en staat altijd klaar om nieuwe uitdagingen aan te gaan. Bekijk onze server-side tagging pagina of neem gerust contact met ons op voor meer ondersteuning.