47.66° N 117.43° W Summit · Profitable Growth
Answer library / Conversion Tracking · Architecture
What are enhanced conversions in Google Ads and how do I set them up correctly?
Enhanced conversions send hashed first-party data, such as a checkout or form email, so Google can match each conversion to the ad click a cookie lost. One failure I find is the setting marked enabled while the hashed-email field arrives empty. As of October 2026, enhanced conversions for leads was on in 18 of my 28 lead-gen accounts.
What enhanced conversions do
Enhanced conversions take the first-party data a customer already gave you at checkout or on a lead form, hash it with SHA-256, and send it alongside the conversion event. Google matches that hashed identifier against signed-in Google accounts to attribute the conversion back to an ad click that the cookie alone lost.
The problem they solve is recovery. Safari and Firefox cap or strip third-party cookies, iOS limits click identifiers, and consent banners block a slice of traffic outright. So a real conversion happens, but Google never connects it to the click that drove it. That click looks like wasted spend. Smart Bidding then optimizes against an incomplete picture. Enhanced conversions hand Google a second way to make the match, so more of your real conversions show up in the account and bidding gets a cleaner signal.
The data never leaves in plain text. When you pass email, phone, name, and address to the Google tag, directly or through GTM, the tag normalizes and hashes them with SHA-256 before anything is sent. You don’t hash them yourself on the web path. Google compares hashes, not raw values.
One switch, two different jobs
Google used to ship two products under one name, each with its own setting. In 2026 Google began combining enhanced conversions for web and enhanced conversions for leads into a single on/off setting (Google’s notice). Even with one switch, the two jobs it covers are still different.
Enhanced Conversions for Web improves measurement for conversions that already fire on your site, like a purchase or a form submit. It supplements the existing conversion with hashed user data so more of those events match. This is the e-commerce path.
Enhanced Conversions for Leads is for businesses that close offline. The lead submits a form, the tag captures the email with the lead, and later you upload the offline conversion (the closed deal) keyed to that same email. Google ties the ad click to the eventual sale. If you run a service business and close on the phone or in person, this is the one you want.
Know which job your conversion is doing before you touch anything. If the business closes offline and the closed deal never comes back as an upload, the lead side does nothing for bidding. Across the 33 Google Ads accounts I manage, in the 30 days to October 21, 2026, enhanced conversions for leads was on in 18 of the 28 lead-gen accounts, and only 6 of those 28 bid on an offline conversion import.
The three setup paths
Since April 2026 Google accepts user-provided data from the tag, Data Manager and the API at the same time, so these aren’t exclusive. They differ in how much you control.
Google Tag (gtag.js) with automatic collection. The lightest path. You enable enhanced conversions in the conversion action settings, and the tag scrapes user data from the page using CSS selectors or automatic detection. It works, but it’s fragile. A theme update that renames a field or moves the confirmation data breaks the scrape silently. I treat automatic collection as a starting point, not a finished build.
Google Tag Manager with manual variables. The path I default to. You capture email, phone, and address into dataLayer variables at the point the user submits, then map those variables into the conversion tag’s user-provided data fields. It survives front-end changes because you control where the data comes from, and you can see the values flowing in GTM Preview before you publish.
An API or offline import. For leads that close in a CRM. You push the identifier and the conversion value back through an API or a scheduled upload. Since 15 June 2026, Google has moved offline conversion imports and enhanced conversions for leads uploads to the Data Manager API. The Google Ads API keeps them only for developer tokens Google allowlisted because they were already sending these uploads in the first half of 2026, so a new build starts on Data Manager. On an API upload you normalize and hash the identifiers yourself, to Google’s spec. This is where value-based bidding gets real fuel, because you can send the actual deal size, not a flat lead value.
What decides your match rate
Setup is half the job. The match rate is what tells you whether it worked, and a few things move it.
Send more fields. Email is the strongest single identifier, but email plus phone plus name plus address gives Google more chances to land a match.
Let the tag do the hashing. The Google tag and GTM’s user-provided data variable normalize and hash the values for you, so send them plain and don’t pre-hash them. Hand-normalizing (lowercase the email, strip whitespace, phone in E.164) and hashing only belongs on an API upload, where a messy string won’t match the clean hash on Google’s side.
Respect consent. Under Consent Mode v2, the signal that governs enhanced conversions is ad_user_data. If the user denies it, the user data shouldn’t be sent. Bolting enhanced conversions onto a site with no consent signal is a compliance problem, and in the EEA it will also throttle what Google can model.
How to verify it’s live
Don’t trust a green checkmark. Open the conversion action in Google Ads and look at the diagnostics for that action. Within a couple of days of real traffic you should see the diagnostics report on the data coming in. How well it matches depends on how many fields you send and how clean they are. A match rate near zero means the data isn’t arriving, the fields are empty or malformed, or consent is blocking it.
Cross-check in GTM Preview or the browser network tab that the user-provided data fields actually carry values when the conversion fires. An empty field hashes to nothing and matches nothing. On a $40K-a-month account I inherited, enhanced conversions read as enabled while the hashed-email field was being dropped before it reached Google, so Google received the wrapper without the payload. The audit I run on inherited accounts checks for it.
On Shopify, don’t build this inside a custom pixel. Google’s custom pixel limitations page lists enhanced conversions among the features that may not work from that sandbox, and recommends its Google & YouTube app for sitewide measurement. Pick one install path. The most common Shopify break I find is a duplicate install, the Google & YouTube app plus a GTM Google tag firing the same purchase twice.
Where this sits in the stack
Enhanced conversions are one layer, not the whole tracking system. They make your existing conversion measurement more complete. They don’t fix a conversion that never fires, a checkout event that breaks on mobile, or a lead form that GTM can’t see. They also won’t tell you that the action you’re enhancing is the wrong action. On two of the three accounts in my Ecommerce Tracking Accuracy Benchmark, measured May to August 2026, 16.6% to 17.2% of what the Conversions column counted was add-to-cart, not a sale. My Q3 account benchmark found 0 of 4 purchase accounts doing it, so it’s a defect to check for, not a rate. Raising the match rate on that only sharpens a signal pointed at the wrong event. Get the base conversion firing reliably first, confirm it in a controlled test, then layer enhanced conversions on top to recover the matches the cookie lost. Built in that order, you get a measurable lift in recorded conversions and a Smart Bidding signal that reflects what actually happened.
When to bring me in
Bring me in when Google Ads, Meta and your store report different numbers for the same sales, when a purchase or lead event stopped firing after a site change, or when you can’t say which number to trust.
I'm Conner Crowe, and I write every audit myself. Send the free audit request and add me as a read-only user, and within 24 hours of access you'll have a written read on which numbers to trust and what to fix first. No call needed, and nothing in your account or store changes.
See it in Google Ads
Where to look in your account.
Whether the measurement itself is healthy
Goals, then Conversions, then Summary, then Diagnostics
- Enhanced conversions health, one bar per conversion action. Excellent means the hashed customer data is arriving and matching.
- Urgent. When I captured this, one of my own two actions had an issue, and See details names it. Check this tab after any site or checkout change.
- Consent mode status for the website. Google reads the consent signals your cookie banner sends; Excellent means they’re arriving.
From my own Google Ads account, October 2026. Tap or click the screen to see it full size.
What Google is allowed to count
Goals, then Summary, then View all conversion actions
- Tracking status. Inactive or Needs attention means the tag hasn’t recorded anything lately, so check it before you trust the totals.
- Primary or Secondary. Only Primary actions feed Smart Bidding; Secondary ones are reported and ignored by the bidding.
- Count. One per click for leads, Every for purchases. A lead form set to Every counts a double-submit twice.
- Included in account-level goals. Yes is what the campaigns actually optimize toward.
From my own Google Ads account, October 2026. Tap or click the screen to see it full size.
Tools for this diagnosis
-
The Tracking Stack
Eight-layer conversion-tracking reference for Shopify brands.
Related questions
-
How do I know whether Meta or Performance Max drove a sale?
Why Meta and Google both claim the same order, how to see what each one really added, and how calls and bookings get counted for lead-gen businesses.
-
What is server-side tracking?
Server-side tracking sends conversion data from your own server to ad platforms instead of the browser. How it works, and when to use it.
-
What conversion value should I send to Google and Meta, and how do I keep them reconciling?
How to pick the conversion value you send to Google Ads and Meta so both platforms reconcile with each other and with Shopify or your CRM.
-
Why don't my GA4 and Meta conversion numbers match?
GA4 and Meta count conversions differently: attribution windows, modeling, dedup. How to read the gap and when it signals a real problem.
Want your tracking checked?
Same check,
run on your tracking.
Add me as a read-only user and I'll write the audit myself: which of your numbers to trust and what to fix first, 5 to 7 pages, back within 24 hours of access. No call needed. If you'd rather talk first, a call is open too.