Hoe stel je Adform server-side tracking in met Google Tag Manager?

uitleg-Hoe stel je Adform server-side tracking in met Google Tag Manager

Wil je Adform Site Tracking meten via server-side tagging? Dat doe je met twee tags die samenwerken: in de webcontainer een tag die de Adform identifiers als first party cookie bewaart. Vervolgens in de servercontainer de Adform tag die events naar de Adform API stuurt. Alleen de servertag plaatsen is zeker niet genoeg: zonder de cookiewebtag verlies je vooral view-through-attributie.

Deze uitleg gaat daarom juist over deze combinatie van web- en servertag. Het gaat niet over Adform Custom HTML trackingcodes die los in de webcontainer draaien; die route behandelen is wat ons betreft alleen iets om op terug te vallen. Verder gaat deze uitleg niet over campagnestrategie, biedingen of instellingen in Adform zelf. Daar zijn anderen, die niet trackingspecialist zijn zoals wij bij Try Savvy, veel beter in 😉

Kleine opmerking vooraf: Met de Stape tags bedoelen we community templates: ze zijn niet van Adform zelf. Ze zijn in onze optiek wel heel goed gemaakt en bieden precies de duurzame structuur die we zoeken: daarvoor credits naar Stape voor het maken van deze tag templates. Het zou kunnen dat ze binnenkort in de template galerij van GTM beschikbaar komen, maar op het moment van schrijven (3 november 2026) moeten we ze nog via Github importeren.

Deze uitleg stelt je in staat om:

  • het juiste Adform-trackingdomain voor je regio te kiezen;
  • de Adform Cookie Retrieval Script tag in de webcontainer in te stellen, met consent;
  • de Adform-tag (PageView en TrackEvent) in de servercontainer in te stellen;
  • de Adform-identifiers via URL-parameters en first-party cookies aan te leveren;
  • de complete opzet end-to-end te testen met Preview en Outgoing HTTP Requests.

Hoe de web en server container voor Adform kunnen samenwerken

Adform werkt met cookie-ID’s en click-ID’s, niet met ingevulde formuliergegevens. De opzet verdeelt het werk:

  • Webcontainer: Cookie Retrieval Script tag. Deze tag zoekt de Adform cookie-ID en bewaart hem als first-party cookie adfuid in de browser. Dat is de route waarmee ook view-through-conversies (bezoekers die een advertentie zagen maar niet klikten) kunnen worden toegerekend, want zonder klik staat er geen adfcookieid in de URL.
  • Servercontainer: Adform-tag. De tag kent twee configuraties. PageView vangt op de landingspagina de URL-parameters adfcookieid (cookie-ID van de klik) en adfcd (click-ID) en zet ze in de cookies adfuid en _adfcd. TrackEvent stuurt conversie-events naar de Adform Server Side Tracking API.

Klik-attributie loopt via de URL-parameters die Adform achter de campagneklik zet, via de macro’s __ADFUID__ en __ADFCD__. View-through-attributie loopt via de first-party cookie. In de standaardopzet leest de servertag de cookie-ID automatisch uit de request-headers, zonder extra variabele-mapping.

Wat heb je nodig?

  • Een werkende web-GTM-container en een werkende servercontainer. Staat je servercontainer er nog niet? Begin dan met de gids voor server-side tagging.
  • Adform-toegang met Site Tracking voor de advertiser, zodat je van daar ophaalt:
    • het trackingdomain van de advertiser;
    • het Tracking Setup ID: log in op Adform, open de advertiser en ga naar Site Tracking > Tracking Settings; het ID staat bovenaan die pagina. Je ziet het alleen bij advertisers die op jouw account zichtbaar of gedeeld zijn;
    • de eventnamen per tracking point;
    • de eventvariabelen die per tracking point worden verwacht;
    • de consentverwachting van Adform voor jouw account.
  • Een consentoplossing op je website die marketingtoestemming dekt. Voor het zetten van Adform-cookies is consent de standaard juridische basis; server-side tracking is geen route om consent te omzeilen.
  • De URL-parameters die Adform in de campagneset-up achter klikken zet (standaard adfcookieid en adfcd, via de macro’s __ADFUID__ en __ADFCD__).

Vaste placeholders die je per klant invult: Tracking Setup ID, eventnamen en eventvariabelen. In de voorbeelden hieronder staan ze als placeholder tussen accolades, bijvoorbeeld {tracking_setup_id} en {event_naam}. Eventnamen zijn hoofdlettergevoelig en moeten exact matchen met het tracking point in Adform.

Wat je niet naar Adform stuurt

Gebruik uitsluitend de identifiers waarvoor deze opzet is bedoeld: cookie-ID’s, click-ID’s, eventnamen en de afgesproken eventvariabelen. Verstuur geen persoonsgegevens naar Adform: geen e-mailadres, telefoonnummer, naam, adres of verbruikswaarden. Dit is een vaste vuistregel in deze opzet.

Stap 1: kies het Adform trackingdomain

Het trackingdomain kiest Adform op advertiserniveau. De standaarddomeinen zijn op het moment van schrijven (3 november 2026) per regio:

RegioTrackingdomainToelichting
Americasa2.adform.netNoord-, Midden- en Zuid-Amerika
APACasia.adform.netAzië en Oceanië
Chinaadfnet.cnChina
EMEAtrack.adform.net of server.adform.nettrack.adform.net is de standaard; server.adform.net is het alternatief met een afwijkende naam
Globala1.adform.netGeo-gebalanceerd domein voor Site Tracking en directe campagnes; het tracking point wordt dan geserveerd vanaf de locatie die het dichtst bij de bezoeker ligt

Belangrijk: het trackingdomain wordt tijdens de advertiser creatie gekozen en kan daarna niet meer worden gewijzigd. Campagnes, advertenties en tracking points verwijzen ernaar, dus kies de regio bewust. Wil je in meerdere regio’s programmatic campagnes draaien? Dan zijn aparte advertisers met aparte trackingdomains nodig. Voor directe campagnes in meerdere regio’s volstaat het globale domein a1.adform.net.

Je stopt het gekozen domein later bij de TrackEvent-configuratie, niet in de webtag. Houd het dus bij de hand.

De webtag is de bewaarroute voor de Adform cookie-ID.

  1. Voeg de tag-template van Stape toe aan je webcontainer. Dat kan via de GTM Community Template Gallery (“Adform Cookie Retrieval Script by Stape”) of handmatig door de template.tpl uit de template-repository op GitHub te importeren. Bekijk de permissies en de template-versie voordat je opslaat.
  2. Maak een nieuwe tag met dit template.
  3. Stel de cookie-instellingen in:
    • Cookie Domain: standaard auto, zodat de cookie op het hoogst mogelijke parent-domein wordt gezet en op alle subdomeinen beschikbaar is.
    • Cookie SameSite: standaard None.
    • Cookie Expiration: standaard 60 dagen; afstemmen op je attributievenster.
  4. Kies een trigger op paginalading (bijvoorbeeld Initialization/All Pages of DOM Ready).

De tag zoekt de cookie-ID in vaste volgorde en stopt bij de eerste geldige waarde:

  1. de URL- of referrer-parameter adfcookieid;
  2. de bestaande first-party cookie adfuid;
  3. het Adform cookiescript (track.adform.net/Serving/Cookie), dat de tag alleen laadt wanneer de eerste twee bronnen geen geldige ID opleveren.

Consent is hier verplicht: de tag mag alleen afgaan met geldige marketingtoestemming. Koppel je consenttrigger aan de tag, zodat de webtag (en daarmee het Adform cookiescript) niet draait zonder toestemming. Hoe je consent in GTM opzet lees je in de uitleg over Google consent mode v2.

Stap 3: stuur events naar de servercontainer

De Adform-tag in de servercontainer werkt op events die binnenkomen via een client, meestal de GA4 client. Staat die routering al? Dan komen paginaweergaven en aangepaste events automatisch in de servercontainer binnen en hoef je hier niets extra’s te bouwen.

Op verzoek niveau zijn er twee bronnen voor de Adform identifiers:

  • de URL-parameters adfcookieid en adfcd op een landingspagina (klik);
  • de first-party cookie adfuid die de webcontainer heeft gezet (view-through en terugkerende bezoekers).

De servertag en webtag delen zo dezelfde identifiers: de cookie-ID van de laatste interactie en de click-ID van de campagneklik. Lees in de uitleg over click ID’s waarom click-ID-overdracht zo wezenlijk is voor attributie.

We raden dus aan de identifiers vanuit de webcontainer te transporteren via je client. Concreet houd dat in dat je bij je GA4 Event settings in de webcontainer twee events parameters toevoegd met de adfcd en de adfuid..

Stap 4: configureer de Adform-tag in de servercontainer

Installeer in de servercontainer de tag-template van Stape (“Adform tag”, community template; zie de template-repository op GitHub) en maak de twee configuraties die je nodig hebt: PageView en TrackEvent.

Adform’s PageView configuratie

  • Koppel de tag aan het paginaview-event van je client (meestal het GA4 page_view-event).
  • Vul de URL-parameternaam van de cookie-ID in (standaard adfcookieid, uit de Adform macro __ADFUID__).
  • Vul de URL-parameternaam van de click-ID in (standaard adfcd, uit de Adform macro __ADFCD__).
  • Stel eventueel de levensduur van de cookies adfuid en _adfcd bij.

Let op: de PageView-configuratie stuurt zelf niets naar Adform. Hij zet alleen de cookies met de identifiers. De TrackEvent-configuratie doet het versturen.

Adforms custom event/TrackEvent configuratie

  • Tracking Domain: het trackingdomain van de advertiser (zie stap 1 in deze uitleg), bijvoorbeeld track.adform.net.
  • Tracking Setup ID: de advertiser-ID, te vinden onder Site Tracking in Adform.
  • Event Name: de exacte naam van het event-based tracking point in Adform. Let op:  hoofdlettergevoelig.
  • Variables: de eventvariabelen die per tracking point in Adform zijn afgesproken; zet ze per punt als tabel in de tag.
  • Compliance: geef de consentstatus van de bezoeker door, zodat Adform de verwerking kan beoordelen.

Koppel per conversie een eigen TrackEvent tag met zijn eigen eventnaam en variabelen. Hergebruik niet één tag met verschillende eventnamen in dezelfde configuratie; dan kloppen naam en variabelen per tracking point en voorkom je hoofdletter- en dubbelmetingen.

En hoe zit het met de Adform Custom HTML trackingcode(s)?

Adform levert ook Custom HTML-trackingcodes die direct in de webcontainer draaien. Die route werkt, maar verplaatst al het tracking naar de browser: kwetsbaarder voor browserbeperkingen en ad-blockers, zonder de voordelen van first-party context en servercontainer. Gebruik de Custom HTML-route alleen als fallback, bijvoorbeeld als je in uitzonderlijke gevallen geen servercontainer kunt draaien. Combineer de routes niet tegelijkertijd op hetzelfde tracking point: dan meet je dubbel.

Nu is het tijd om te controleren of alles goed werkt.

Loop deze checklist van web naar server naar Adform:

  1. GTM Preview op web: de Cookie Retrieval Script tag vuurt alleen na het geven van marketingtoestemming. Test zowel met als zonder consent.
  2. Test-URL met identifiers: open https://voorbeeld.nl/?adfcookieid={test_cookieid}&adfcd={test_clickid} met testwaarden en controleer in DevTools (Application → Storage → Cookies) dat de cookie adfuid de cookie-ID krijgt en _adfcd de click-ID.
  3. DevTools → Network: zonder URL-parameters wordt het Adform cookiescript (track.adform.net/Serving/Cookie) alleen geladen wanneer er nog geen geldige cookie was, en alleen met consent.
  4. sGTM Preview: controleer dat de PageView- en TrackEvent-configuratie afgaan op de juiste events.
  5. Outgoing HTTP Requests in sGTM Preview: het TrackEvent-verzoek gaat naar het juiste trackingdomain, met het Tracking Setup ID, de exacte eventnaam en de afgesproken variabelen.
  6. Pas daarna in Adform: controleer of het tracking point de events ontvangt.

Een succesvol verzoek bewijst dat de payload wordt geaccepteerd, niet dat attributie of campagneregels in Adform kloppen. Controleer dat apart met een testcampagne en het rapportagepaneel van Adform.

Veelgemaakte fouten

  • Alleen de servertag plaatsen. Zonder cookiewebtag bereik je alleen klikattributie; view-through-conversies vallen weg door de ontbrekende first-party cookie.
  • Consent niet afdwingen. De webtag (en het Adform cookiescript) moet afhangen van marketingtoestemming, en de TrackEvent-configuratie moet de consentstatus doorgeven.
  • Verkeerd trackingdomain voor de regio. Het domain hangt vast aan de advertiser en kan niet meer worden gewijzigd.
  • Eventnamen niet exact overnemen. Eventnamen zijn hoofdlettergevoelig, en dubbele of afwijkende namen vallen weg bij het tracking point in Adform.
  • Persoonsgegevens meesturen. Verstuur geen e-mail, telefoonnummer, naam, adres of verbruikswaarden; Adform werkt met identifiers en eventvariabelen.
  • Web- en Custom HTML-route combineren. Kies één route per tracking point, anders meet je dubbel.

Vervolgstappen

Veelgestelde vragen over Adform server-side tracking

Waarom zowel de webtag als de servertag?

De webtag (Cookie Retrieval Script) bewaart de Adform cookie-ID als first-party cookie, ook voor bezoekers zonder klik. De servertag stuurt events naar de Adform API. Samen dekken ze klikattributie en view-through-attributie.

Kan ik het trackingdomain later wijzigen?

Nee. Het trackingdomain wordt tijdens de advertiser-creatie gekozen en kan daarna niet meer worden gewijzigd. Wil je in meerdere regio’s programmatic draaien, dan gebruik je aparte advertisers met aparte trackingdomains.

Waar vind ik het Tracking Setup ID?

Log in op het Adform-platform, open de advertiser en ga naar Site Tracking > Tracking Settings. Het Tracking Setup ID staat bovenaan die pagina. Je ziet deze instellingen alleen voor advertisers die zichtbaar (gedeeld) zijn op jouw account. Zie je de advertiser of de instellingen niet? Vraag dan de eigenaar van de advertiser (bijvoorbeeld de bureau- of platformpartij) om toegang, of haal het ID op via de Tracking Mappings API.

Let op: het Tracking Setup ID is het account waarmee de site-trackingdata wordt opgeslagen en kan bij een gedeelde tracking setup afwijken van het advertiser-ID zelf.

Je vult het ID alleen in de TrackEvent-configuratie in, samen met het trackingdomain en de eventnamen.

Stuurt de PageView-configuratie data naar Adform?

Nee. PageView zet alleen de cookies adfuid en _adfcd met de identifiers uit de URL. Events naar Adform gaan via de TrackEvent-configuratie.

Nee. Voor het zetten van Adform-cookies is consent de standaard juridische basis. De webtag mag alleen draaien na consent, de TrackEvent-configuratie geeft de consentstatus mee aan de Adform API, en server-side tagging verandert niet welke toestemming je nodig hebt.

Wanneer gebruik ik de Adform Custom HTML-trackingcode?

Alleen als fallback, wanneer een servercontainer niet mogelijk is. De route draait volledig in de browser en blijft kwetsbaarder voor browserbeperkingen. Combineer hem niet met de server-side route op hetzelfde tracking point.

Bronnen


Deel dit artikel
Verhoog de effectiviteit van jouw campagnesBekijk Savvy Track

Denk je dat je genoeg weet?

Krijg het nieuwste in je inbox.

Copyright © 2023 - 2026