// Google AdsBlog

Enhanced Conversions voor Google Ads.

De implementatiegids: hoe je gemiste conversies terugwint door gehashte e-mail en telefoon naar Google Ads te sturen. Setup, validatie, veelgemaakte fouten.

// · 9 min lezen · Mink Helwig, Oprichter SignumCore

Vrijwilligers pakken voedselpakketten in

Enhanced Conversions helpt conversies meten die door ITP, geweigerde toestemming of ontbrekende cookies wegvallen. Het principe: bij elke conversion stuur je naast de standaard tag-parameters ook gehashte PII (email, phone, naam, adres). Google matcht dat tegen signed-in users aan hun kant en telt de conversie mee die anders in de "modeled" of "unattributed" bucket zou zijn gevallen.

Hoeveel je terugwint hangt af van twee dingen: hoeveel van je bezoekers bij Google ingelogd zijn, en hoe schoon je hashing is. Google noemt geen vast percentage. De setup vraagt discipline — een fout gehashte e-mail matcht nooit.

// 01 / HOE HET WERKT

De flow van user-data naar Google.

Drie stappen in de browser + server:

  1. User vult een formulier in (of checkout). Je JavaScript leest email, phone, etc. uit.
  2. Hashing (cruciaal): email wordt lowercased + trimmed en dan SHA-256 gehashed. Phone wordt E.164-formatted (met +31, geen spaties) en SHA-256 gehashed.
  3. Het hash-object wordt naar Google Ads gestuurd — via de conversion tag (browser) OF via server-side GTM (betere match-rate).

Google matcht jouw hash tegen de hashes van signed-in Google-users. Match = conversie wordt toegekend aan de oorspronkelijke click.

// 02 / IMPLEMENTATIE VIA GTM

De eenvoudige route.

Stap voor stap in GTM:

  1. Open je Google Ads-conversion action in Google Ads. Ga naar "Enhanced Conversions" → Enable. Kies "Google Tag Manager" als implementatie-methode.
  2. In GTM: open je bestaande Google Ads Conversion Tracking tag. Zie je nieuwe sectie Include user-provided data? Ja? Enable.
  3. Maak een User-Provided Data variable: type "User-Provided Data". Vul in: email = {{dl.user_email}}, phone = {{dl.user_phone}} etc. Selector OF dataLayer OF automatic mode.
  4. Link de variable aan je conversion tag. Publish workspace.
  5. Valideer via Google Ads Tag Assistant — zie "Enhanced Conversions data: Detected" op je thank-you page.
// 03 / IMPLEMENTATIE VIA SGTM

De route via de server.

Browser-side hashing werkt maar heeft risico's: adblockers, JavaScript errors, consent-denied users. Server-side Enhanced Conversions hasht en verstuurt vanuit je sGTM-container — hogere match-rate, privacy-robuuster.

Setup:

  1. In je server-side GTM container: add Google Ads Conversion Tracking template (officieel Google-template, server-side variant).
  2. Configureer met jouw Conversion ID + Conversion Label.
  3. Vul de user-data velden in: sha256_email_address, sha256_phone_number etc. — of gebruik de ingebouwde Transformation → Hash functie zodat je plain-text email vanuit browser kunt sturen en sGTM server-side hashed.
  4. Fire trigger op hetzelfde event waar je conversie-pixel triggerde (purchase, generate_lead).

Voordeel: de browser stuurt de gegevens één keer (versleuteld via HTTPS, niet opgeslagen); de server hasht ze en verstuurt ze direct naar Google Ads.

// 04 / VALIDATION

Hoe weet je of het werkt?

Reken op drie tot zeven dagen voordat er data zichtbaar is in Google Ads. Controleer dan:

  • Google Ads → Tools → Conversions → [jouw conversion] → Diagnostics. Je ziet "Enhanced Conversions: Recording data".
  • Match-rate score: onder Diagnostics zie je het percentage van conversies dat daadwerkelijk matchte tegen een Google-user. Als vuistregel: ≥60% is gezond, <40% wijst op een fout in de hashing of de invoer. Google publiceert hier geen norm voor.
  • Performance-delta: na een week of twee zie je in de Google Ads-rapporten het verschil tussen enhanced en standard. Dat verschil is jouw recovery rate — het enige percentage dat over jouw account iets zegt.
// 05 / VEELGEMAAKTE FOUTEN

Waar gaat het mis?

  1. Email niet lowercased. "User@Domain.com" vs "user@domain.com" geven verschillende hashes. Lowercase + trim voor hashen, altijd.
  2. Phone zonder landcode. "+31612345678" matcht, "0612345678" niet. E.164-format verplicht.
  3. Dubbel hashen. Als je client-side al hasht en sGTM opnieuw hasht → garbage. Kies één laag; server-side is beter.
  4. Consent-denied users meesturen. Enhanced Conversions vereist marketing-consent. Als je het stuurt zonder consent: AVG-boete-risico. Check of je Consent Mode v2 ad_user_data signaal correct granted/denied is.
  5. Test-data in productie. Google Ads tagt conversies soms als "enhanced conversion testing" als data er niet goed uitziet. Check Diagnostics-tab regelmatig.
// 06 / COMBINATIE MET CAPIs

Samen met Meta, LinkedIn, TikTok.

Enhanced Conversions is specifiek voor Google Ads. Voor andere vendors heb je vergelijkbare features met andere namen:

  • → Meta CAPI — user_data met fbc/fbp + hashed email/phone/external_id
  • → LinkedIn Conversions API — user data met hashed email + LinkedIn fbclid-equivalent (li_fat_id)
  • → TikTok Events API — user data met hashed email + TikTok cookie (ttclid)

De truc: één server-side implementatie voedt alle CAPIs tegelijk. Dezelfde plain-text email komt binnen via sGTM, wordt per vendor correct ge-hashed (elk vendor heeft eigen hash-specs) en verstuurd.

// 07 / TL;DR

Samenvatting.

  1. Enhanced Conversions telt conversies mee die anders wegvallen, via gehashte PII.
  2. GTM-route is snel (browser-side hashing), de sGTM-route haalt doorgaans een hogere match en is minder gevoelig voor adblockers.
  3. Kritieke fouten: email niet lowercased, phone zonder landcode, dubbel hashen, consent-denied users toch versturen.
  4. Validatie: Google Ads → Diagnostics; als vuistregel is een match-rate ≥60% gezond.
  5. Combineer met Meta CAPI / LinkedIn / TikTok via één server-side data-flow.
// BRONNEN

Bronnen

Weet wat je website oplevertWachtlijst