Enhanced conversions is a Google Ads feature that supplements conversion tags with first-party customer data, such as an email address or phone number, hashed with SHA-256 and matched to signed-in Google accounts. It recovers conversions that cookies and click IDs alone would miss and gives bidding more accurate data.
A Google Ads conversion tag normally relies on a click identifier and cookies to connect a sale to an ad click. When the cookie is gone, blocked or set on another device, the conversion goes unrecorded. Enhanced conversions adds a second way to match: data the customer gave you, in hashed form.
How it works
- On the conversion page or lead form, the tag picks up user-provided data: email address, phone number, name and address.
- The data is normalised and hashed with SHA-256. Google describes this as a one-way hash, so the original value cannot be read back from it.
- Google compares the hash with hashed data from Google accounts that were signed in when they interacted with your ad.
- When there is a match, the conversion is attributed to the ad, including cases the click ID alone could not cover.
There are two variants:
| Variant | When the data is sent | Typical use |
|---|---|---|
| Enhanced conversions for web | With the tag at the online conversion | Ecommerce purchases, online sign-ups |
| Enhanced conversions for leads | Captured on the form, matched when you import the offline outcome | Lead generation, sales closed in a CRM |
User data is usually read from the dataLayer or from form fields through a user-provided data variable in GTM.
Why it matters in 2026
Two changes this year affect how enhanced conversions is set up:
- One setting instead of methods. Google has been merging enhanced conversions for web and for leads into a single on/off setting during 2026, with Google Ads accepting user-provided data from the Google tag, GTM, Data Manager and API connections at the same time, instead of making you pick one implementation method.
- Uploads move to the Data Manager API. From 15 June 2026, Google moved offline conversion imports and enhanced conversions for leads uploads to the Data Manager API, while advertisers who had not already used the Google Ads API for these uploads can no longer start there. The details are in our Data Manager API migration guide and in Google Ads API after developer tokens.
Consent is the other dependency. Since Google introduced ad_user_data in Consent Mode, hashed data for a visitor who denied it should not be used.
How to check it
- In Google Ads, open the conversion action under Goals and check its enhanced conversions diagnostics for status and warnings.
- In Tag Assistant, complete a test conversion and confirm the conversion hit carries user-provided data (the email or phone fields) and that consent for
ad_user_datais granted for that test. - In GTM Preview, check that the user-provided data variable resolves to real values, not empty strings.
- For API or Data Manager uploads, compare the number of uploaded rows with the matched rows reported back.
Common mistakes
- Data not on the page. The thank-you page no longer has the email, so the tag sends nothing.
- Hashing twice or wrongly. Uploading values that are already hashed into a field that hashes again, or hashing before lowercasing and trimming.
- Wrong page. Data captured on a form step but the conversion fires on a page where the variable is empty.
- Ignoring consent. Sending user data when
ad_user_datais denied. - Judging too early. Diagnostics take days to fill in after a change.
Related terms: Conversions API, attribution model, server-side tagging.
Frequently asked questions
What is the difference between enhanced conversions for web and for leads?
Enhanced conversions for web sends hashed user data with the conversion tag at the moment of the online conversion, such as a purchase. Enhanced conversions for leads uses hashed data captured on a lead form and later matches it to offline conversions you import, such as a closed deal. Google has been combining the two into a single setting in 2026.
Is enhanced conversions data sent in plain text?
Google's documentation says the data is hashed with SHA-256, a one-way algorithm, before it is used for matching. The Google tag can hash it in the browser, and API uploads must be hashed before sending. Consent rules still apply to collecting and sending it.
Does enhanced conversions work without consent?
Under Consent Mode, the ad_user_data signal governs whether user data may be sent to Google for advertising. If it is denied for a visitor, that visitor's hashed data should not be used. Check your consent setup before judging match rates.
How do I normalise an email address before hashing?
Google's API documentation says to remove leading and trailing whitespace and convert the text to lowercase before hashing with SHA-256. For gmail.com and googlemail.com addresses, it also says to remove periods before the domain.
Sources
Dimitris builds Tracking Whisper and writes about tracking, analytics and data from the work the agent does every day: GTM containers, GA4 properties, ad platforms and the numbers in between.


