Browser tracking has been quietly dying for years. iOS restrictions, Safari ITP, ad blockers, and third-party cookie deprecation have chipped away at what Google Ads can actually see. In 2026, if you are still relying on the default conversion tag alone, you are leaving conversions unattributed and Smart Bidding under-fed.
Enhanced Conversions is Google's official answer. It attaches hashed first-party data (email, phone, name, address) to your existing conversions so Google can match them to signed-in users, even when cookies fail. This guide walks through exactly how we deploy it on Trakkify client accounts, in Google Tag Manager, with proper consent, verification, and troubleshooting.
- What are Enhanced Conversions?
- Why Enhanced Conversions matter
- How Enhanced Conversions work
- Types of Enhanced Conversions
- Prerequisites
- Step-by-step setup
- Required customer data fields
- Data hashing explained
- Verifying Enhanced Conversions
- Common setup mistakes
- Best practices
- Enhanced vs standard tracking
- Real business example
- FAQs
What are Enhanced Conversions?
Enhanced Conversions is a Google Ads feature that supplements your existing conversion tags with hashed first-party customer data collected on your website. When a user converts (submits a form, completes a purchase), you send that hashed data alongside the normal conversion event. Google then matches it to signed-in Google users and closes the attribution loop.
Think of it as giving Google a second way to recognize the person who converted, one that does not depend on cookies or device fingerprints.
Why Enhanced Conversions matter
- Recover lost conversions. ITP, ad blockers, and cookie decay hide 15 to 40 percent of conversions from standard tags. Enhanced Conversions recovers a meaningful share.
- Stronger Smart Bidding. tCPA, tROAS, and Maximize Conversions all depend on conversion volume and accuracy. Better data means smarter bids.
- More accurate attribution. Cross-device journeys (mobile ad click, desktop purchase) get stitched back together via signed-in Google identity.
- Better lead quality insights. With Enhanced Conversions for Leads plus offline uploads, you can optimize on qualified leads and revenue, not just form fills.
- Higher reporting accuracy. Reported conversions align more closely with actual business outcomes.
How Enhanced Conversions work
The end-to-end flow, simplified:
The critical detail: hashing happens before data leaves the browser (or your server, if you use server-side GTM). Google never receives plain-text email, phone, or name.
Types of Enhanced Conversions
1. Enhanced Conversions for Web
Used for online conversions like purchases, sign-ups, and lead form submissions where the conversion happens on your website. Customer data is captured from the page (typically the confirmation page) and attached to the standard conversion tag.
2. Enhanced Conversions for Leads
Used when the meaningful conversion happens after the web form, for example a sales rep qualifying the lead in a CRM. You send hashed lead data at form submission, then later upload offline conversions matched by email or phone.
3. Ecommerce use cases
For ecommerce, Enhanced Conversions typically fires on the order confirmation page with the customer's email and billing details. It pairs naturally with a purchase data layer, GA4 ecommerce events, and Merchant Center.
Prerequisites
- Google Ads account with at least one existing conversion action.
- Google Tag Manager container installed sitewide (recommended).
- GA4 property, linked to Google Ads.
- Website access to add or verify a data layer.
- Form fields that capture email and ideally phone.
- Privacy policy disclosing the use of first-party data for advertising.
- Consent management platform with Consent Mode v2 wired up.
ad_user_dataconsent is granted. Consent Mode v2 handles this automatically when configured.Step-by-step setup
There are three official methods. We strongly recommend Method 1 for anything beyond a one-page site.
Method 1: Google Tag Manager (recommended)
- Enable Enhanced Conversions in Google Ads. Go to Tools & settings → Conversions, select your conversion action, then open Enhanced conversions. Toggle it on, choose Google Tag Manageras the setup method, and accept the customer data terms.
- Confirm your conversion tag exists in GTM. You should already have a Google Ads Conversion Tracking tag firing on the confirmation event (purchase, form_submit, etc). If not, create it first.
- Add a user_data variable. In GTM, go to Variables → New → User-Provided Data. Choose Manual configuration for reliability.
- Map fields to your data layer. For each field (email, phone, first name, last name, address), point to a data layer variable, for example
{{DLV - user.email}}. Do not rely on CSS selectors unless you have no data layer available. - Attach the variable to the conversion tag. Open your Google Ads Conversion Tracking tag, expand Include user-provided data, and select the user_data variable you just built.
- Publish only after verification. Use GTM Preview and Tag Assistant to confirm the user_data is present before pushing to production.
Method 2: Google tag (gtag.js)
If you use the Google tag directly (no GTM), add agtag('set', 'user_data', ...)call before the conversion event fires. Fields must be hashed with SHA-256 if you send them from a server context; the browser SDK hashes automatically.
Method 3: Manual website code
For custom stacks or server-side implementations, you can hash and send data directly via the Google Ads API or the Measurement Protocol. This is the most flexible path and pairs well with server-side GTM.
Required customer data fields
- Email is the single strongest match signal. Send it whenever available.
- Phone number, normalize to E.164 (for example +919812345678) for best match.
- First name and last name help match reinforcement.
- Address (street, city, region, postal code, country) is most impactful for ecommerce.
Send whatever the user has already provided during the funnel. Never add extra form fields solely to enable Enhanced Conversions, that hurts conversion rate more than match rate helps.
Data hashing explained
Hashing converts a value like jane@example.cominto a fixed-length string that cannot be reversed back to the original. Google specifically requires SHA-256.
- Lowercase and trim email and name before hashing.
- E.164 format phone numbers before hashing.
- UTF-8 encode before applying SHA-256.
- Do not double-hash, that guarantees a zero match rate.
When you use GTM's User-Provided Data variable, hashing is handled automatically. You only need to worry about normalization if you send data from your own server.
How to verify Enhanced Conversions
- Google Tag Assistant. Fire a real conversion in preview mode. Expand the conversion event, look for a user_data block, and confirm hashed values appear for the fields you mapped.
- Google Ads Diagnostics. In your conversion action, open the Diagnostics tab. Within 24 to 48 hours you should see status change from Needs attention to Recording.
- Conversion status column. Under conversion actions, the Enhanced Conversions column shows Recording, Not recording, or Setup incomplete.
- Match rate. Once volume builds, the match rate is your quality signal. Below 30 percent usually indicates a mapping or normalization issue.
Common setup mistakes
- Wrong field mapping. Email selector actually pointing to phone (or vice versa). Always confirm with real test data.
- Missing data layer. Relying on CSS selectors that break every time the theme updates.
- Duplicate tags. Two conversion tags firing on the same page, one with user_data, one without, dragging the match rate down.
- Consent not respected. Sending hashed PII when the user denied ad_user_data consent. This is a compliance risk.
- Wrong trigger. Firing user_data on page view rather than on the conversion event, which produces a mismatched signal.
- Not lowercasing or trimming. "JANE@Example.com " and "jane@example.com" hash to different values and will not match.
Best practices
- Test in GTM Preview before publishing. Every single time.
- Use a purchase or form_submit data layer, never rely on brittle CSS selectors.
- Wire Consent Mode v2 first, then layer Enhanced Conversions on top.
- Send as many fields as the funnel provides. Email at minimum, phone and address for ecommerce.
- Document your implementation. Which tag, which variable, which trigger, which consent gate.
- Re-audit after every theme or checkout change. Enhanced Conversions is quiet when it breaks.
Enhanced Conversions vs standard conversion tracking
| Dimension | Standard tracking | Enhanced Conversions |
|---|---|---|
| Accuracy | Cookie-dependent, drops in Safari/iOS | Recovers signal via hashed user data |
| Attribution | Last-click, cookie-only | Cross-device via signed-in Google identity |
| Privacy | Cookies and IDs | SHA-256 hashed first-party data with Consent Mode |
| Smart Bidding | Under-fed in privacy-restricted environments | Stronger, more stable optimization |
| Setup complexity | Basic tag install | Tag plus user_data variable plus data layer |
| Best for | Simple sites, low volume | Any account running Smart Bidding in 2026 |
Real business example
A lead-gen client in the education vertical was running Maximize Conversions with a target CPA. Their standard Google Ads tag was firing correctly on form submission, but Diagnostics kept flagging attribution gaps and their internal CRM showed 30 percent more leads than Google Ads reported.
We deployed Enhanced Conversions for Leads through GTM using the existing form data layer (email, phone, first name). Within a week, Google Ads Diagnostics moved to Recording, match rate stabilized around 62 percent, and Smart Bidding CPA volatility dropped noticeably. Reported conversions matched CRM leads far more closely, which meant tCPA finally had honest data to optimize against.
Frequently asked questions
See the 20 questions and answers in the FAQ section below this article.
Trakkify deploys Enhanced Conversions, Consent Mode v2, GA4, GTM, and server-side tracking for lead-gen and ecommerce accounts. If you want this shipped correctly the first time, we can audit your stack and configure it end to end.

