Performance marketeers, ads-specialisten en e-commerce ondernemers weten het als geen ander: betrouwbare data verzamelen via de browser (client-side) is tegenwoordig een enorme uitdaging. Door de aanhoudende trackingbeperkingen (ITP, iOS-updates) en de stijgende adoptie van adblockers, mis je al snel 20% tot 40% van je conversiedata in je advertentieplatformen.
Wanneer je ROAS- of CPA-gedreven campagnes draait voor complexe e-commerce omgevingen of B2B leadgeneratie, is dat verlies aan data onacceptabel. Je algoritmes krijgen te weinig voeding, attributie raakt vertroebeld en je Performance Max-campagnes presteren suboptimaal.
Het grootste probleem bij leadgeneratie? Campagnes sturen vaak blind op kwantiteit (zoveel mogelijk leads) in plaats van kwaliteit (leads die daadwerkelijk omzet opleveren). Zonder extra data-infrastructuur ziet Google het verschil niet tussen een ‘dure autoliefhebber zonder budget’ en een serieuze koper.
Wat als je die gaten in je Google Ads-attributie perfect kunt opvullen met 100% harde, accurate data, en tegelijkertijd je biedstrategieën kunt dwingen om alleen nog te optimaliseren op leads die converteren naar keiharde omzet? Dat is exact waar Google Ads Offline Conversies via server-side Google Tag Manager (sGTM) in het spel komen.
Deze gids stelt je in staat om:
- Adblockers en ITP-beperkingen effectief te omzeilen: Bouw een directe server-to-server verbinding waarmee je tot wel 40% aan voorheen verloren conversiedata permanent terughaalt.
- Biedalgoritmes optimaal te voeden: Geef je Smart Bidding en Performance Max-campagnes de exacte, ongemodelleerde data die ze nodig hebben om scherper te sturen op een maximale ROAS.
- Volledige controle te behouden over je data & privacy: Richt de authenticatie veilig in via je eigen Google Cloud credentials en de officiële Google Ads API, zonder afhankelijk te zijn van black-box tools van derden.
- Foutloze klik-attributie te realiseren: Leer hoe je click identifiers zoals gclid, gbraid en wbraid correct opvangt, opschoont en meestuurt naar Google om mismatches te voorkomen.
In deze gids nemen we je stap voor stap mee door het proces van de strategische backend-inrichting in de Google Cloud Console tot de fijnmazige configuratie van de sGTM-tag. Laten we beginnen!
Snel naar
- Wat zijn offline conversies en waarom heb je ze nodig in sGTM?
- Strategie voor leadgen: Leadkwaliteit vs. Leadaantallen?
- Strategie voor e-commerce: Optimaliseren op netto omzet en de echte LTV
- De Google Ads offline conversies in 4 stappen inrichten via sGTM
- De valkuil bij Google Ads Offline Conversies (OCT): een juiste conversion time
- Tip: Schakel tijdens het testen de logs in
- Veelgestelde vragen over offline conversies instellen voor Google Ads
- Conclusie: Google Ads offline conversies via sGTM als robuust fundament voor performance marketing
- Bronnen
Wat zijn offline conversies en waarom heb je ze nodig in sGTM?
Traditioneel gezien werden offline conversies gebruikt voor acties die buiten de website plaatsvinden. Denk aan een potentiële klant die online een leadformulier invult, maar pas drie weken later telefonisch een B2B-contract tekent.
Vandaag de dag is de toepassing veel breder. Offline conversies (of liever gezegd: server-to-server conversies) vormen de meest robuuste methode om online e-commerce conversies gegarandeerd door te geven. Door aankoopdata direct vanaf je server (sGTM) naar de Google Ads API te schieten, omzeil je de browser van de gebruiker volledig.
De voordelen op een rij:
- Maximale datakwaliteit: Geen last van adblockers of falende scripts in de browser.
- Betere match rates: Doordat je verrijkte data (zoals gehashte klantgegevens) direct vanaf je server veilig doorstuurt.
- Nauwkeurige attributie: Je voedt de biedingsalgoritmes van Google Ads met zuivere data, wat direct leidt tot een strakkere sturing op je doel-ROAS of CPA.
- Veiligheid en controle: Jij bepaalt exact welke event data (en welke PII) de server verlaat richting Google.
Strategie voor leadgen: Leadkwaliteit vs. Leadaantallen?
Met Offline Conversion Tracking (OCT) kun je data tot 90 dagen na de initiële klik terugkoppelen aan Google Ads. Hierdoor kun je het algoritme voeden met het moment dat een lead promoveert tot een Qualified Lead (voldoet aan budget en fit) of een definitieve sale/closed won.
Maar op welke data moet jouw Google Ads-account actief gaan bieden? Gebruik deze matrix, gebaseerd op jouw volumes en de lengte van je verkoopcyclus:
Scenario 1: Hoog volume & korte verkoopcyclus
- Kenmerken: Je verkoopcyclus duurt minder dan 10 dagen en je realiseert minimaal 100 sales per maand via Google Ads.
- Strategie: Direct sturen op Sales. Je volume is hoog genoeg om het Smart Bidding-algoritme stabiel te houden en de data is recent genoeg voor snelle optimalisatie.
Scenario 2: Lager volume & middellange verkoopcyclus
- Kenmerken: Je haalt minimaal 30 sales per maand, de cyclus valt binnen de 90 dagen, maar de lead heeft wel wat tijd nodig om te converteren.
- Strategie: Sturen op Qualified Leads. Het pure salesvolume is net te laag voor het algoritme, maar er is wel genoeg data op het niveau van leadkwaliteit.
Let wel op deze harde voorwaarde: Een lead moet idealiter binnen 7 dagen het stempel ‘qualified’ krijgen in je CRM, zodat het algoritme snel genoeg leert. Je meet de uiteindelijke sales/closed won’s op de achtergrond mee als secundaire conversie.
Scenario 3: Laag volume en/of zeer lange verkoopcyclus
- Kenmerken: Te weinig harde sales- of kwalificatiedata om het algoritme stabiel te voeden.
- Strategie: Blijf sturen op de standaard soft-conversions (zoals formulieraanvragen), maar importeer je Qualified Leads en Sales op de achtergrond (secundair). Hierdoor optimaliseert Google niet automatisch, maar kun je als marketeer wel handmatig budgetten verschuiven naar de campagnes die onderaan de streep de beste leads opleveren.
Strategie voor e-commerce: Optimaliseren op netto omzet en de echte LTV
Waar B2B-marketeers Offline Conversion Tracking (OCT) gebruiken om leads te kwalificeren, zetten high-end e-commerce merken deze sGTM-infrastructuur in voor iets heel anders: het elimineren van data-ruis door annuleringen, fraude en, de grootste winstpakker, retouren.
Als e-commerce ondernemer of performance marketeer stuur je je Performance Max- en Search-campagnes waarschijnlijk aan op basis van de standaard purchase-conversie. Maar sturen op bruto omzet is een gevaarlijke blinde vlek. Als een specifieke campagne veel omzet genereert, maar 40% van die producten komt binnen 14 dagen retour, dan leert het Google-algoritme dat dit ‘geweldige kopers’ zijn. In werkelijkheid brand je kostbaar advertentiebudget af.
Met server-side Google Tag Manager en Google Ads Offline Conversies verschuif je de focus van bruto transacties naar netto winstgevendheid. Hier zijn de 3 belangrijkste e-commerce strategieën die we bij Try Savvy implementeren:
Strategie 1: De retour gecorrigeerde biedstrategie (Profit-on-return)
- Het probleem: De browser vuurt een conversie op de bedankpagina. De retourzending vindt pas twee weken later plaats in het magazijn.
- De strategie: In plaats van de browser-conversie direct als leidend te beschouwen, gebruiken we server-side tracking om conversie-aanpassingen (Conversion Adjustments) naar de Google Ads API te schieten. Zodra een retour wordt verwerkt in je ERP of e-commerce backend, stuurt een webhook een signaal naar sGTM. De server corrigeert of herroept (restate of retract) de oorspronkelijke conversiewaarde in Google Ads.
Google Smart Bidding stopt met het targeten van ‘serieretourneerders’ en verschuift het budget naar consumenten die hun aankopen daadwerkelijk houden.
Strategie 2: Achteraf betalen en betaalstatus synchronisatie
- Het probleem: Bij betaalmethoden zoals Klarna, Riverty of handmatige overboekingen mislukt een percentage van de betalingen achteraf, of er treedt een flinke vertraging op. De conversie is echter al geteld in Google Ads.
- De strategie: We splitsen de tracking op. De initiële check-out wordt server-side gemeten als secundaire conversie. Pas op het moment dat de webhooks van je payment service provider (zoals Mollie of Stripe) de status naar paid veranderen, triggert sGTM de echte, primaire offline conversie richting Google Ads.
Strategie 3: Subscriptionmodellen & recurring revenue (LTV)
- Het probleem: Voor e-commerce merken die werken met abonnementen (bijvoorbeeld supplementen, herhalingsaankopen of boxen) vindt de eerste aankoop plaats op de site, maar de opvolgende transacties (de echte marge) gebeuren volledig buiten het zicht van de browser.
- De strategie: Elke keer dat er een automatische incasso of herhaalbestelling succesvol wordt afgerond in bijv. Shopify of WooCommerce, schiet de backend een webhook naar de Savvy Track sGTM-container. Je koppelt deze herhalingsaankoop via de oorspronkelijke match-signalen (zoals een gehasht e-mailadres via EC4L of de opgeslagen GCLID) terug naar de originele Google Ads-campagne.
Een combinatie van strategieën is voor e-commerce mogelijk, afhankelijk van je situatie.
De Google Ads offline conversies in 4 stappen inrichten via sGTM
Stap 1: De voorbereiding: De API en credentials configureren
Als je ervoor kiest om de authenticatie zelf te beheren in plaats van via een third-party connector, moet je een robuuste basis leggen in de Google Cloud Console. Dit zijn de stappen die je eenmalig moet doorlopen:
- Google Ads API inschakelen: Navigeer naar je Google Cloud Console project. Nog geen project? Maak dan hier een account en project aan.
- Zoek in de API-bibliotheek naar de ‘Google Ads API‘
- Klik op Inschakelen.
- Afhankelijk van je exacte setup genereer je credentials (een Client ID en Client Secret) om veilige server-to-server communicatie op te zetten.
- Vraag een developer token aan via je Google Ads Manager Account (MCC) onder API Center. Dit token fungeert als jouw ‘sleutel’ om legitiem API-verzoeken te mogen doen. Meer info over hoe je aan de token komt vind je hier. Heb je nog geen MCC? Zorg ervoor dat je deze aanmaakt. Normale accounts kunnen zo’n token namelijk niet krijgen.
- Gebruik je OAuth-gegevens om een Refresh Token te genereren. Deze zorgt ervoor dat je sGTM-container continu geauthenticeerd blijft zonder handmatige interventies.
Buiten dit alles om is het vanzelfsprekend dat je server-container live staat, correct gekoppeld is aan een custom subdomein en clean event data ontvangt (bijvoorbeeld via GA4 of een robuuste CMS webhook/datalayer integratie).
Zodra de backend-credentials en je sGTM container gereed zijn, kunnen we de logica gaan bouwen binnen server Google Tag Manager.
Stap 2: Het tag-sjabloon importeren
- Ga in je sGTM-container.
- Ga naar Templates.
- Zoek in de Template Gallery naar de Google Ads Offline Conversion tag. Voeg deze toe aan je werkruimte.
Stap 3: De offline conversies sGTM tag aanmaken
- Ga naar tags.
- Maak een nieuwe tag aan.
- Kies als tag type de Google Ads offline conversion tag.
- Voeg een logische naam toe, bijvoorbeeld “Google Ads – Offline Conversie – Purchase” als je het aanmaakt als aankopen naar Google Ads wil schieten.
- Kies onder de authenticatie-instellingen voor de optie waarbij je zelf de Google Credentials opgeeft.
- Daar vullen we de sleutels in die je in stap 1 hebt gegenereerd.
- Begin met het Customer ID: Dit is het 10-cijferige ID van het specifieke Google Ads-account waarin de conversie geregistreerd moet worden. Let op: Vul dit in zonder koppeltekens zoals de streepjes ertussen, zodat je (bijv. Uitkomt op 1234567890. Zie ook de Google documentatie.
- Diezelfde customer ID kun je in de meeste gevallen ook als Operating Customer ID neerzetten.
- Vul je developer token uit stap 1 in.
Zo, even op adem komen, de authentication credentials zitten erin. Laten we nu de andere parameters toevoegen die benodigd zijn:
- Gbraid: De unieke klik-identifier voor conversies die plaatsvinden binnen een mobiele app, afkomstig van iOS-apparaten (vanaf iOS 14+).
- Wbraid: De klik-identifier voor webconversies (zoals aankopen op jouw Shopify- of WooCommerce-shop) afkomstig van iOS-apparaten met trackingbeperkingen.
- Gclid: De traditionele Google Click ID die gekoppeld is aan de advertentieklik, hoofdzakelijk gebruikt voor desktop- en Android-verkeer. In onze optiek vaak de meest belangrijke bij de gemiddeld genomen situaties die we langs zien komen.
- Conversion Time: Google eist een exacte timestamp voor offline conversies (meestal in yyyy-mm-dd hh:mm:ss+|-hh:mm format). Zorg voor een variabele die dit correct formatteert op het moment van de conversie.
We raden je aan ook zeker consent voor ad user data en ad personalization goed na te lopen, zodat je alleen importeert wat verwerkt mag worden volgens toestemming. Je kan hiervoor een variabele kiezen of zorgen dat je met je trigger alleen triggert als consent granted is, om het vervolgens in de twee dropdowns als default op granted te zetten.
Daarnaast kun je eventueel nog cart data en user data toevoegen en verder specificeren. Hier vind je meer info over de cart data die je kan toesturen.
Stap 4: Kies een trigger
Kies een trigger voordat je de tag opslaat (bijvoorbeeld een server-side purchase of lead_generation event).
Let op de timing: Het is essentieel dat op het moment dat de trigger afvuurt, de benodigde parameters ook daadwerkelijk aanwezig zijn in de server-container. Vuur je de tag af op een aankoopevent waarbij de click identifier (gclid, wbraid of gbraid) ontbreekt of niet correct uit de cookies/event data is gevist? Dan kan Google Ads de conversie niet matchen aan een advertentieklik en faalt het verzoek.
Stap 5: Testen
Nu de technische configuratie staat, is het tijd om te controleren of de data-pipeline vlekkeloos functioneert. Omdat offline conversies rechtstreeks via een API-koppeling lopen, werkt het testen net iets anders dan je van traditionele browser-tags gewend bent.
- Open je server Google Tag Manager container
- Klik rechtsboven op ‘Preview‘.
- Simuleer een advertentieklik: Open een nieuw tabblad en navigeer naar je website met een handmatig toegevoegde testparameter in de URL. Gebruik bijvoorbeeld: www.jouwwebsite.nl/?gclid=TEST_123. Hiermee dwing je de container om een click identifier te registreren.
- Doorloop het conversiepad op je website. Doe een testaankoop of vul het leadformulier in waarop je de trigger van de tag hebt ingesteld bij stap 4.
- Ga terug naar de sGTM Preview Console en selecteer het binnengekomen event (bijvoorbeeld purchase). Klik op jouw Google Ads Offline Conversion tag en open het tabblad ‘Outgoing HTTP Requests‘.
- Check de response: Je hoort hier een POST-request te zien richting https://googleads.googleapis.com. Als de server reageert met een Status 200 OK, dan heeft de Google Ads API je netwerkverzoek en de bijbehorende payload succesvol geaccepteerd.
- Controleer aanvullend je logging in de preview container voor meldingen.
Let op: Het kan tot 24 a 48 uur duren voordat de geïmporteerde conversies daadwerkelijk zichtbaar worden in het Google Ads dashboard. Je kunt de status van de uploads tussentijds controleren in je Google Ads-account onder Tools & Settings > Conversions > Uploads.
De valkuil bij Google Ads Offline Conversies (OCT): een juiste conversion time
Google Ads eist een extreem strikte validatie van het exacte moment waarop de conversie heeft plaatsgevonden. Dit noemen we de conversion time. Als de timestamp niet exact aan de syntax-eisen van Google voldoet, weigert de Google Ads API de conversie simpelweg. Er vindt dan geen attributie plaats.
De verplichte Google-notatie: yyyy-mm-dd hh:mm:ss+|-hh:mm
Hoe zit dit format in elkaar?
- yyyy-mm-dd: Het jaar, de maand en de dag van de conversie (bijv. 2026-06-02).
- hh:mm:ss: Het exacte uur, de minuut en de seconde van de aankoop of lead.
- +|-hh:mm: De absolute noodzaak: de Timezone Offset ten opzichte van UTC. Voor Nederland (Amsterdamse tijd) is dit tijdens de zomertijd +02:00 en tijdens de wintertijd +01:00.
Een correct voorbeeld op het moment waarop ik deze gids schreef is: 2026-06-02 14:02:21+02:00
Tip: Schakel tijdens het testen de logs in
Schakel tijdens het testen altijd de logs in via een logger tag of de sGTM tag-instellingen. Hiermee kun je in je sGTM-preview exact uitlezen of de HTTP-call naar Google resulteert in een succesvolle statuscode (200 OK) en eventuele API-fouten direct debuggen.
Veelgestelde vragen over offline conversies instellen voor Google Ads
Zelfs ervaren tracking specialisten stuiten weleens op uitdagingen bij deze iets wat complexe setup. Hier zijn de oplossingen voor de meest kritieke knelpunten:
- Waarom faalt mijn Gclid-koppeling?
Als je de Gclid (Google Click ID) uit de _gcl_aw cookie haalt via je datalaag, stuur je vaak onbewust een prefix mee. Een typische cookie-waarde ziet er zo uit: GCL.12345.abcde123. De Google Ads API accepteert echter alleen het laatste gedeelte (abcde123). Gebruik een RegEx of Custom JavaScript variabele in sGTM om het voorvoegsel en de punten af te knippen voordat je de data naar de tag stuurt. - Moet ik de dynamische waarden en winkelwagen-data voor e-commerce los specificeren?
Voor geavanceerde setups wil je exact weten welke producten zijn gekocht. De offline conversion template is vaak slim genoeg om de standaard GA4-geformatteerde items-array uit je Event Data te halen. Voorwaarde is wel dat je datalaag perfect gestructureerd is met parameters zoals item_id, price en quantity. Is je event data clean? Dan kun je het cart-data veld in de tag vaak leeg laten, de tag pakt het dan immers vanzelf op. Verifieer echter altijd of de conversiewaarde (value) en valuta (currency) netjes als losse parameters worden meegestuurd door een aantal test events te sturen. - Moet ik voor PII (Persoonsgegevens) en zelf hashen voordat het naar de Google Ads API gaat?
Het meesturen van klantdata (zoals e-mailadres of telefoonnummer) verhoogt de kwaliteit van je enhanced conversions en de match rate aanzienlijk. Je hoeft deze data vooraf niet zelf door een SHA256-molen te halen. Bij een correcte sGTM-inrichting kun je deze data als ‘plain text’ aan de tag voeden. De tag-infrastructuur hasht de gegevens automatisch en lokaal op jouw server voordat de call naar Google wordt gemaakt. - Hoe fix je de API Foutmelding: “User doesn’t have permission to access customer”?
Heb je het idee dat alles klopt, maar worden de conversies geweigerd met een permissie-fout? Dit betekent vaak dat het e-mailadres dat je hebt gebruikt om de OAuth/Refresh tokens te genereren, niet de juiste rechten heeft op het specifieke sub-account in Google Ads. Je hebt Standaard- of Admin-toegang nodig op het klantaccount (Customer ID) waarnaar je de conversies stuurt. Alleen MCC-toegang is soms niet afdoende voor de API.
Conclusie: Google Ads offline conversies via sGTM als robuust fundament voor performance marketing
Het handmatig opzetten van Google Ads offline conversies via de API en sGTM vraagt om gedegen technische kennis, maar het is een investering die zichzelf razendsnel terugverdient. Door de browser te passeren, creëer je een waterdichte data-pipeline. Je voedt Google met 1st-party data, waardoor algoritmes beter gaan renderen, attributie zuiverder wordt en je ROAS structureel verbetert.
Loop je vast met de implementatie, worstel je met complexe datalagen op Shopify of WooCommerce, of zoek je een razendsnelle server-side hostingomgeving speciaal gebouwd voor performance marketeers? Het team van Try Savvy ontwerpt, bouwt en beheert trackinginfrastructuren die wel het volledige plaatje laten zien.
Bronnen
Wil je dieper de techniek in duiken of de exacte API-vereisten nalezen? Raadpleeg dan onderstaande officiële documentatie en repositories:
- Google Ads API – Offline Conversies Documentatie: Overzicht en vereisten voor het uploaden van klik-conversies (Google Developers)
- Google Ads API – Quickstart & Authenticatie: Handleiding voor het aanmaken van je Developer Token en OAuth credentials (Google Developers)
- Template Repository: Stape.io Google Ads Offline Conversions Tag (GitHub) – De broncode van het veelgebruikte sGTM-sjabloon.
