Two months ago I was troubleshooting a Google Ads account for a B2B SaaS company spending EUR 15,000 per month. Their conversion count in Google Ads was 40 percent lower than the leads their CRM recorded. Consent Mode was configured. Server-side tagging was in place. The gap was a cookie problem. Safari's ITP was capping first-party cookies at seven days, and a large share of their audience used iPhones for initial research before converting on desktop days later. The GCLID cookie was gone by the time they came back. The fix was enabling enhanced conversions -- about an hour of work. Within three weeks, reported conversion volume climbed 22 percent with no budget change, and tROAS bidding started hitting targets it had missed for months.
That is the core value proposition of google enhanced conversions: they give Google Ads a second path to match a conversion back to an ad click when the cookie trail breaks.
What Are Google Enhanced Conversions
Standard Google Ads conversion tracking relies on the GCLID -- a click identifier stored in a first-party cookie. When a user clicks an ad, converts later, and the cookie is still present, the loop closes. But cookies are fragile. Safari ITP, Firefox ETP, cross-device journeys, and users clearing browser data all break that chain.
Enhanced conversions solve this by sending hashed first-party customer data -- email address, phone number, name, or mailing address -- alongside the conversion tag. Google matches that hashed data against signed-in Google user profiles to attribute the conversion, even when the cookie is gone.
The data is SHA-256 hashed before it leaves the browser (or your server), so Google never receives raw PII from the tag. Google's documentation is explicit that the hashing happens client-side and that the unhashed data is not transmitted.
There are two flavors, and they serve different use cases:
| Type | Use case | Data source |
|---|---|---|
| Enhanced conversions for web | E-commerce and on-site conversions | User-provided data at conversion (email, phone, address from checkout or form) |
| Enhanced conversions for leads | Lead gen and B2B where the real conversion happens offline | GCLID or hashed user data uploaded from your CRM |
If you sell online and the conversion happens on your website, you want enhanced conversions for web. If you generate leads online but the sale closes in a CRM -- common in B2B -- you want google ads enhanced conversions for leads. Many businesses need both.
Why Google Enhanced Conversions Matter Now
Cookie-based tracking is losing ground on three fronts. Browser restrictions are permanent: Safari ITP caps JavaScript-written cookies at seven days, Firefox has Total Cookie Protection, and Chrome continues testing cookie restriction features. Consent gaps eat signal even with Consent Mode v2 in Advanced mode. And Smart Bidding can only optimize toward conversions it can see -- if 20-30 percent are invisible because cookies expired, your bids are based on an incomplete dataset.
Google states that advertisers using enhanced conversions see on average a 17.1 percent increase in conversion measurement. In the accounts I manage, the lift ranges from 10 to 35 percent depending on Safari and mobile traffic share.
How to Set Up Enhanced Conversions Google Ads: Web
There are three implementation paths. The right one depends on your tag management setup.
Option 1: Google Tag (gtag.js)
If you use the Google tag directly on your site:
- In Google Ads, go to Goals > Conversions > Settings and enable enhanced conversions for web. Choose "Google tag" as the implementation method.
- On your conversion page (checkout confirmation, thank-you page), pass the user-provided data to the Google tag. The simplest approach is setting a global variable before the tag fires:
gtag('set', 'user_data', {
"email": "user@example.com",
"phone_number": "+1234567890"
});
- Google's tag will automatically hash and send this data with the conversion ping. If you prefer to hash it yourself before passing, you can -- the tag detects pre-hashed values.
Option 2: Enhanced Conversions Google Tag Manager
For sites using GTM, which is most of the accounts I work with:
-
Enable enhanced conversions in Google Ads under Goals > Conversions > Settings. Select "Google Tag Manager" as the method.
-
In your GTM container, open the Google Ads Conversion Tracking tag for the relevant conversion action.
-
Check "Include user-provided data from your website" and configure the data source. GTM gives you three sub-options:
- Automatic collection: GTM scans the page for form fields and captures email, phone, name, and address automatically. This works well for simple checkout pages.
- Manual configuration (Data Layer): Push the user data into the dataLayer and map it via GTM variables. More reliable for SPAs and custom forms.
- Code: Define a JavaScript variable or global function that returns the user data object.
-
For the data layer approach, push data before the conversion tag fires:
dataLayer.push({
'event': 'purchase',
'enhanced_conversion_data': {
'email': 'user@example.com'
}
});
- In GTM, create a Data Layer Variable pointing to
enhanced_conversion_data.emailand wire it into the conversion tag's user-provided data fields.
The GTM route via enhanced conversions google tag manager is the most flexible. You control exactly what data is sent, the timing is explicit, and you can test everything in GTM's Preview mode before publishing.
Option 3: Google Ads API
For advertisers with developer resources, the Google Ads API lets you send enhanced conversion data server-side. Useful when the conversion page does not contain the user data you need.
Enhanced Conversions for Leads Google Ads
This variant is built for lead generation where the conversion does not happen on your website. A user fills out a form, becomes a lead, and weeks later converts in your CRM. Standard tracking cannot measure this because the cookie is long gone. Enhanced conversions for leads google ads solve this with two approaches:
Approach 1: GCLID-based. Capture the GCLID at form submission, store it in your CRM, and upload it back to Google Ads when the lead converts. Works well when you can reliably capture and store the GCLID.
Approach 2: User-data-based. Capture the user's email at form submission and pass it to Google via the enhanced conversions tag. When uploading the offline conversion from your CRM, include the hashed email. Google matches on the email hash even without a GCLID -- more resilient because it does not depend on a cookie surviving.
Setup steps for the user-data approach:
- Enable enhanced conversions for leads in Google Ads under Goals > Conversions > Settings.
- On your lead form submission page, fire a Google Ads conversion tag with the user's email attached (same as the web setup -- via gtag, GTM, or API).
- In your CRM, when the lead converts, include the same email in your offline conversion upload. Google connects the dots.
For B2B companies with long sales cycles, this is often the single highest-impact tracking improvement available. I cover the broader B2B measurement picture in my B2B conversion tracking guide, but enhanced conversions for leads is usually where I start.
Verification: How to Confirm Enhanced Conversions Are Working
Do not assume the setup works because you published it. Verify.
-
Tag Assistant. Connect Tag Assistant to your site, complete a test conversion, and check whether the event shows "Enhanced conversions: Yes." If it says "Not set," the user data is not reaching the tag.
-
Google Ads diagnostics. Go to Goals > Conversions, select your conversion action, and click Diagnostics. The match rate shows what percentage of events included usable hashed data. Above 80 percent is good. Below 50 percent means something is wrong.
-
Real-time test. Google provides a verification guide -- submit a test conversion and confirm it appears with enhanced conversion data within 72 hours.
-
Before-and-after comparison. Compare conversion counts for two weeks before and after enabling enhanced conversions, holding spend constant. If count increases and CPA decreases, the additional data is working.
Common Mistakes I See in Enhanced Conversions Setups
After auditing google enhanced conversions implementations across dozens of accounts, these are the patterns that break things:
-
Sending unhashed data to a manual hash setup. If you told Google you would hash the data yourself but pass it unhashed, the double-hash renders it unmatchable. Pick one approach and be consistent.
-
Missing email on the conversion page. The most common issue in e-commerce: the checkout confirmation page does not display or have access to the customer's email in the DOM or dataLayer. GTM's automatic collection cannot find what is not there. You need your developer to expose it.
-
Enhanced conversions enabled but no data source configured. I have seen accounts where the toggle is on in Google Ads but no implementation was done on the site side. Google Ads shows zero enhanced conversion matches, and nobody notices for months.
-
Not combining with Consent Mode. Enhanced conversions still require the conversion tag to fire. If Consent Mode blocks the tag for non-consenting users and you are not running Advanced mode, enhanced conversions cannot help those users. The two features are complementary, not alternatives. For setup details, see my Consent Mode v2 guide.
-
Ignoring the leads variant for B2B. Many B2B advertisers set up enhanced conversions for web on their form-submit event and call it done. But the form submission is not the real conversion -- the closed deal is. Without enhanced conversions for leads piping CRM data back, Smart Bidding optimizes for form fills, not revenue.
If your tracking setup has any of these issues -- or you suspect something is off but cannot pinpoint it -- I can audit your implementation and tell you exactly what to fix.
Where Enhanced Conversions Fit in the Measurement Stack
Google enhanced conversions are one layer in a multi-layer measurement stack:
| Layer | What it recovers |
|---|---|
| Consent Mode v2 | Conversions lost to cookie consent denial |
| Enhanced conversions (web) | Conversions lost to cookie expiry, cross-device, browser restrictions |
| Enhanced conversions (leads) | Offline conversions that happen in CRM after initial web interaction |
| Server-side tracking | Data lost to ad blockers and client-side restrictions |
| Offline conversion imports | Revenue and pipeline data from CRM for long-cycle sales |
Each layer is independent. The accounts with the most accurate data have all of them running. The order I typically implement: conversion tracking foundation first, then Consent Mode, then enhanced conversions, then server-side tracking.
FAQ
What are enhanced conversions in Google Ads?
Enhanced conversions are a feature that sends hashed first-party customer data such as email addresses alongside your conversion tag. Google matches this data against signed-in user profiles to attribute conversions even when cookies have expired or the user converted on a different device. The data is SHA-256 hashed before leaving the browser so Google never receives raw personal information.
Do enhanced conversions replace standard conversion tracking?
No. Enhanced conversions are a supplement to standard conversion tracking, not a replacement. You still need a properly configured conversion tag firing on your conversion page. Enhanced conversions add a second matching signal on top of the existing cookie-based method so Google can recover conversions that cookie loss would otherwise hide.
What is the difference between enhanced conversions for web and enhanced conversions for leads?
Enhanced conversions for web are designed for conversions that happen on your website, like purchases or signups. Enhanced conversions for leads are designed for businesses where the initial interaction is online but the actual conversion happens offline in a CRM, such as a signed contract or closed deal. The leads variant connects online ad clicks to offline outcomes using hashed user data.
Is user data safe with enhanced conversions?
Yes. All user data is SHA-256 hashed before it is transmitted to Google. The hashing happens in the browser or on your server before any data leaves your infrastructure. Google receives only the hash and matches it against its own hashed records of signed-in users. The raw email address or phone number is never sent to Google through the enhanced conversions tag.
How long does it take to see results after enabling enhanced conversions?
You should see enhanced conversion data appearing in your Google Ads reports within 72 hours of a properly verified setup. The impact on bidding performance typically takes two to three weeks as Smart Bidding recalibrates with the additional conversion signal. The total conversion lift varies but Google reports an average increase of 17.1 percent in measured conversions.
Not sure your enhanced conversions are actually working -- or whether your tracking stack has gaps you have not found yet? Let me take a look. I will audit your setup and tell you exactly what needs fixing.