Google Enhanced Conversions data guide
Enhanced Conversions recovers attribution by sending hashed customer data alongside a web conversion, and its defining failure is silence: the setting reads active, the tag fires, and no user data ever arrives. The three causes are always the same — field selectors pointing at markup a redesign moved, values read before the confirmation renders, or hashing applied before normalization. All three look identical in the settings screen and all three are visible in the diagnostics report, which is the first place to look and the last place anyone does.
Free30 minutesNo obligation
Enhanced Conversions data · what breaks
Where teams get this wrong — Enhanced Conversions data
- 01
Reading the toggle instead of the diagnostics
Active means configured. Only the diagnostics report says whether data arrived.
- 02
Reading values from CSS selectors
They break on every redesign, silently, with no error.
- 03
Hashing before normalizing
A valid hash of a malformed value matches nothing.
Enhanced Conversions data · the fix
What a correct implementation looks like — Enhanced Conversions data
Values sourced from the data layer
Not from DOM selectors.
Normalized before hashing
Lowercase, trimmed, E.164 phones.
Tag sequenced after the values exist
Which matters on single-page checkouts.
Verified in the diagnostics report
Not by the setting.
Enhanced Conversions data · architecture
What data is needed and where it should come from
Google's documentation defines the accepted fields and current normalization rules. These are the ones that matter and the sources that hold up.
- 1
Email
Lowercase, trimmed, then hashed. The primary matching field.
- 2
Phone
E.164 format, digits only, then hashed.
- 3
Name and address
Accepted, and contribute less. Useful where you already collect them cleanly.
- 4
Where to source it
The data layer, populated from the order record. Never DOM selectors.
- 5
When to fire
After the values exist in the page. On single-page checkouts this is a real sequencing problem.
- 6
Consent dependency
ad_user_data must be granted. Where it isn't, the absence of data is correct rather than a fault.
Enhanced Conversions data · diagnose
Common mistakes and how to validate each — Enhanced Conversions data
Ordered by how often we find them. Each one has a specific check rather than a general instruction to be careful.
- 01
Selectors broken by a redesign
The most common cause. Check whether the configuration references CSS classes; if so, it's one deploy from failing silently.
- 02
Values not yet rendered when the tag fires
Test a single-page checkout specifically. The tag fires, then the confirmation renders.
- 03
Hashing applied twice
Compare the raw and dispatched values on one real conversion.
- 04
Consent denied during the test
Confirm ad_user_data was granted, or you're diagnosing correct behaviour.
- 05
Diagnostics never opened
Open it. It's the fastest diagnostic available and almost nobody reads it.
Enhanced Conversions data · prove
How to prove your implementation is right — Enhanced Conversions data
Against your own records and a live payload, not against a preview screen.
Source of truth
the Google Ads Enhanced Conversions diagnostics report, over a closed window
- Diagnostics showing a real match rate rather than zero.
- User-provided data confirmed present on a live conversion.
- Values confirmed sourced from the data layer, not selectors.
- Normalization verified against Google's current specification.
- Checked on a live conversion, not in preview mode.
- Reconciled over a fully closed window, matched per record.
- Re-checked 30 days later.
Enhanced Conversions data · free audit
What we check in the free audit
- Selectors broken by a redesign
- Values not yet rendered when the tag fires
- Hashing applied twice
- Consent denied during the test
- Diagnostics never opened
Checked against
the Google Ads Enhanced Conversions diagnostics report, over a closed window
Free30 minutesNo obligation
Enhanced Conversions data · when not to buy
What this reference deliberately leaves out — Enhanced Conversions data
Stated openly, because a reference that's silent about its own gaps is the dangerous kind.
- Google's accepted field list and normalization rules change. Verify against current documentation before building.
- Enhanced Conversions for leads uses a related but distinct mechanism, with its own configuration.
- Match rate benchmarks aren't published by Google and vary by vertical, so we won't quote a target figure.
- Vendor documentation is the authority, not this page. Where the two disagree, the vendor is right and we'd like to know so we can correct it.
- Parameter names and behaviour change. Anything here is accurate as we last verified it; verify against the current documentation before you rely on it for a build.
Enhanced Conversions data · what we deliver
The checklist — Enhanced Conversions data
Diagnostics report shows real user-provided data
Not zero.
Values come from the data layer
Not CSS selectors.
Normalization applied before hashing
Case, whitespace, phone format.
The tag fires after the values render
Test on a single-page checkout specifically.
ad_user_data consent is granted for the test
Otherwise the absence is correct behaviour.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies your existing browser-side setup against this reference, on a live conversion.
- Implementation checked against the spec
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, built to this specification.
- First-party server container on your own subdomain
- Events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, documented to this standard.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring so the next break surfaces in days
FAQ
Enhanced Conversions data questions, answered
The diagnostics report in Google Ads. If it shows little or no user-provided data, the setting is active and the feature is doing nothing.
Because they depend on markup that changes whenever the site does. Reading from the data layer decouples tracking from presentation.
Yes — ad_user_data must be granted. Where consent rates are low, the ceiling on recovery is low, and that isn't a fault to fix.
Sending user data from the order record removes the DOM dependency entirely, which is why most fixes end there.
More on Enhanced Conversions data
Free · 30 min
Find out whether Enhanced Conversions is doing anything
Free30 minutesNo obligation
