Waarom wijst GA4 meer omzet toe aan Google Ads dan Google Ads aan zichzelf?

Bewerkt

Bij het gebruik van AdPage's Server-Side Tagging met webhooks kan het voorkomen dat GA4 meer conversies en omzet aan Google Ads toewijst dan Google Ads zelf rapporteert. Dit is tegengesteld aan wat je normaal verwacht (waarbij Google Ads doorgaans juist hoger meet dan GA4) en kan verwarrend zijn. In dit artikel leggen we uit waarom dit gebeurt en hoe je deze data moet interpreteren.


De kern van het probleem

AdPage stuurt via webhooks alle transacties door naar je server container, inclusief transacties die via de browser nooit volledig gemeten zouden worden. Dit zorgt ervoor dat GA4 méér data ontvangt dan wat er via de standaard browser-gebaseerde tracking binnenkomt. Google Ads is echter afhankelijk van specifieke klik-identifiers om conversies aan campagnes te koppelen, en die identifiers zijn niet altijd beschikbaar in webhook-data.


Hoe werkt het technisch?

Wat webhooks extra vangen

AdPage webhooks ontvangen transactiedata rechtstreeks vanuit het e-commerceplatform (Shopify, WooCommerce, Magento). Dit betekent dat ook de volgende scenario's worden meegenomen:

  1. Bezoekers die de bedankpagina niet bereiken — Denk aan bezoekers die na het betalen hun browser sluiten, de verbinding verliezen of worden omgeleid. Het e-commerceplatform registreert de betaling wel, maar de bedankpagina (en dus de browser-gebaseerde tracking) wordt nooit geladen.

  2. In-app browser-overgangen — Bezoekers die via Facebook Ads, ChatGPT, Perplexity of andere apps op een productpagina terechtkomen, gebruiken vaak de in-app browser. Wanneer zij vervolgens overstappen naar Safari of een andere browser om de betaling af te ronden, gaat de sessie-informatie (en daarmee de klik-identifiers) verloren.

  3. Bezoekers met adblockers of strenge privacy-instellingen — Webhook-data komt rechtstreeks van het e-commerceplatform en is niet afhankelijk van browser-side scripts.

Hoe GA4 deze data verwerkt

GA4 ontvangt al deze webhook-transacties via je server container en verwerkt ze via het eigen attributiemodel. GA4 kan conversies toewijzen aan Google Ads op basis van:

  • UTM-parameters die in eerdere sessies zijn vastgelegd

  • Sessie-informatie die is opgeslagen in first-party cookies

  • Data-driven attributie die met machine learning berekent welk kanaal heeft bijgedragen aan de conversie

  • Lookback window van standaard 90 dagen, waarbinnen eerdere interacties worden meegenomen

Doordat GA4 ook de webhook-transacties ontvangt (inclusief de drie scenario's hierboven), kan GA4 deze extra conversies via het attributiemodel alsnog toewijzen aan Google Ads — bijvoorbeeld omdat de bezoeker in een eerdere sessie via een Google Ads-campagne op de site is gekomen.

Waarom Google Ads zelf lager meet

De Google Ads server-side tag werkt fundamenteel anders dan GA4. Om een conversie te claimen heeft Google Ads specifieke klik-identifiers nodig:

Identifier

Omschrijving

gclid

Google Click ID — standaard klik-identifier voor Google Ads

gbraid

Klik-identifier voor iOS-webconversies (geïntroduceerd na iOS 14)

wbraid

Klik-identifier voor iOS-app-naar-webconversies

Wanneer deze identifiers ontbreken, kan de Google Ads server-side tag de conversie niet aan een campagne koppelen. Dit geldt met name voor:

  • Webhook-transacties waarbij de bezoeker de bedankpagina niet heeft bereikt (en dus de klik-ID niet is doorgestuurd naar de server container)

  • Bezoekers die van een in-app browser naar Safari overstappen (de gclid/gbraid/wbraid gaat verloren bij de browserwissel)

  • Apple-bezoekers waarbij gbraid/wbraid niet correct worden doorgestuurd via de standaard Google Ads tag in de server container

Visueel overzicht

                        E-commerce Platform (Shopify/WooCommerce/Magento)
                                          |
                     ┌────────────────────┼────────────────────┐
                     |                    |                    |
              Browser-tracking       Webhook naar          Webhook naar
              (bedankpagina)        Server Container      Server Container
                     |                    |                    |
                     |                    ▼                    ▼
                     |              GA4 Server Tag      Google Ads Server Tag
                     |                    |                    |
                     |            Attributie via         Vereist gclid/
                     |           UTM + ML-model        gbraid/wbraid
                     |                    |                    |
                     ▼                    ▼                    ▼
              Alle conversies      Meer conversies       Minder conversies
              met klik-ID's       (incl. webhooks       (alleen met
                                   geattribueerd)       klik-identifiers)

Waarom is dit bij AdPage-klanten extra zichtbaar?

Zonder webhooks zouden veel van deze transacties simpelweg niet gemeten worden — niet in GA4, niet in Google Ads. Met AdPage's webhook-implementatie komen deze transacties wél binnen, waardoor het verschil pas zichtbaar wordt:

  • GA4 kan deze extra transacties attribueren aan Google Ads via het eigen attributiemodel, zelfs als de klik-ID ontbreekt

  • Google Ads kan dit niet, omdat het platform harde klik-identifiers nodig heeft

Dit verklaart waarom GA4 meer omzet aan Google Ads kan toewijzen dan Google Ads zelf rapporteert. Het is geen fout in de tracking, maar een gevolg van de rijkere dataset die AdPage levert.


Hoe moet je deze data interpreteren?

Welke conversie is "de juiste"?

Er is geen enkel goed of fout antwoord. Iedere conversiebron heeft voor- en nadelen:

GA4-import conversies:

  • Voordeel: Breedste dataset dankzij webhooks, data-driven attributiemodel, UTM-parameters als bron

  • Nadeel: Mogelijk overschatting door modelling van consent-weigeraars

  • Aanbeveling: Vaak de meest betrouwbare bron voor campagne-optimalisatie in Google Ads

Google Ads server-side tag (via AdPage):

  • Voordeel: Directe koppeling met klik-ID, AdPage's custom tag ondersteunt ook gbraid/wbraid via webhooks

  • Nadeel: Mist conversies zonder klik-identifiers

  • Aanbeveling: Beste voor nauwkeurige klik-attributie, maar meet niet alles

Client-side Google Ads tag:

  • Voordeel: Standaard Google-implementatie

  • Nadeel: Afhankelijk van bedankpagina laden, kwetsbaar voor adblockers en ITP

  • Aanbeveling: Gebruik als terugvaloptie, niet als primaire conversie

Advies voor je Google Ads-account

  1. Gebruik GA4-import conversies als primaire conversie voor je biedstrategie — deze bevat de meest volledige dataset

  2. Houd de server-side conversie als secundaire conversie aan voor monitoring en vergelijking

  3. Controleer het attributiemodel in Google Ads (onder Doelen → Conversies → Instellingen) en kies een model dat past bij je strategie

  4. Gebruik één conversie als primair om dubbeltellingen te voorkomen


Aanvullende factoren die het verschil vergroten

Apple-apparaten en gbraid/wbraid

Apple-bezoekers vormen vaak een groot deel van het websiteverkeer. Door iOS-privacybeperkingen worden standaard gclid-parameters beperkt en vervangen door gbraid en wbraid. De standaard Google Ads tag in de server container heeft moeite om deze parameters correct door te sturen. AdPage heeft hiervoor een custom server-side tag ontwikkeld die ook via webhooks gbraid en wbraid meestuurt. Controleer of deze tag actief is in je setup.

👉 Zie: Google Ads API — Instellen van de servertag van AdPage

Consent Modeling

Google past consent modeling toe om data aan te vullen voor bezoekers die geen toestemming geven. Dit kan zorgen voor kleine discrepanties zelfs tussen verschillende conversieacties binnen Google Ads. De webhook-data van AdPage bevat ook transacties van bezoekers die geen consent gaven — deze worden in GA4 als 'unassigned' getoond en niet doorgestuurd naar marketingplatformen met persoonsgegevens.

Attributiemodel en lookback window

Controleer in je Google Ads-account welk attributiemodel actief is op je conversieacties. Een data-driven model kan conversies anders verdelen dan last-click. Controleer ook de doorklikconversieperiode (standaard 30 dagen) en of deze overeenkomt met je sales cycle.


Checklist: Controleer je setup

  1. ✅ Is de AdPage custom Google Ads server-side tag actief (voor gbraid/wbraid via webhooks)?

  2. ✅ Zijn je GA4-conversies correct geïmporteerd als conversieactie in Google Ads?

  3. ✅ Is er slechts één primaire conversieactie actief per doel (purchase) om dubbeltellingen te voorkomen?

  4. ✅ Controleer in GA4 het percentage Apple-bezoekers (Rapporten → Technologie → Overzicht)

  5. ✅ Controleer het attributiemodel per conversieactie in Google Ads (Doelen → Conversies → Instellingen)

  6. ✅ Zijn Enhanced Conversions correct ingesteld op de web container?


Veelgestelde vragen

Waarom meet Google Ads normaal gesproken meer dan GA4, maar bij ons andersom? Standaard meet Google Ads meer door view-through conversies en een breder attributiemodel. Maar met AdPage's webhooks ontvangt GA4 extra transacties (bedankpagina niet bereikt, browser-overgangen) die het wél kan attribueren via UTM-parameters en ML-modelling, terwijl Google Ads deze niet kan claimen zonder klik-identifier.

Moet ik me zorgen maken over dit verschil? Nee, het verschil is een logisch gevolg van de webhook-implementatie. Het is juist een teken dat je meer data meet dan zonder webhooks. Kies één conversie als primair voor je biedstrategie en gebruik de andere als referentiepunt.

Zien we dit verschil in alle accounts? Dit verschil is het meest zichtbaar in accounts met veel mobiel verkeer (in-app browsers), veel Apple-bezoekers en e-commerceplatformen waar bezoekers niet altijd de bedankpagina bereiken. In het voorbeeld van de klant was dit patroon zichtbaar in zowel het .com-, NL- als BE-account.

Kan ik het verschil verkleinen? Ja, door ervoor te zorgen dat de AdPage custom Google Ads tag actief is (voor webhook-gebaseerde gbraid/wbraid doorsturen) en Enhanced Conversions correct zijn ingesteld. Dit helpt Google Ads om meer conversies te matchen. Het verschil zal echter nooit volledig verdwijnen zolang er transacties binnenkomen via webhooks waarbij de klik-identifier niet beschikbaar was.

Waarom wijst GA4 webhook-transacties toe aan Google Ads als er geen gclid beschikbaar is? GA4 gebruikt niet alleen gclid voor attributie. Het platform koppelt sessies aan kanalen via UTM-parameters, cookie-data en het eigen data-driven attributiemodel. Als een bezoeker eerder via Google Ads op de site kwam en later via een webhook een transactie binnenkomt, kan GA4 deze alsnog toewijzen aan de oorspronkelijke Google Ads-sessie.


Gerelateerde artikelen

  • De Server-Side Google Ads conversie claimt geen of te weinig conversies

  • Mijn advertentiekanalen claimen andere conversie-aantallen dan Google Analytics

  • Google Ads API — Instellen van de servertag van AdPage

  • Hoe kan je Enhanced Conversie data voor server-side Google Ads tags instellen?

  • Conversie-attributie verschillen tussen marketingplatformen

Was dit artikel nuttig?

Onze excuses! Zou je ons meer willen vertellen?

Bedankt voor de feedback!

Er is een probleem opgetreden bij het verzenden van uw feedback
Controleer uw verbinding en probeer het opnieuw.