How to Set Up Enhanced Conversions in Google Ads (2026)
That is the short version. The longer version matters because the setup changed in April 2026, and most guides still describe the old flow.
Google merged enhanced conversions for web and enhanced conversions for leads into one on/off setting. You no longer pick a single implementation method. Google now accepts data from tags, Data Manager, and API connections at the same time.
This guide walks through the current setup for both the Google tag and Google Tag Manager, the extra steps for lead-gen accounts, and how to confirm the data is actually being recorded.
What Are Enhanced Conversions in Google Ads?
Enhanced conversions is a Google Ads feature that sends hashed first-party customer data, such as an email address, along with your conversion tags. Google matches that data to signed-in Google accounts to recover conversions that cookies and click IDs miss.
The data is hashed with SHA-256 before it leaves the browser or your server. Google uses it to attribute conversions that happen across devices, after cookies expire, or when browser privacy features strip identifiers.
There are two flavors, now controlled by a single switch:
| Enhanced conversions for web | Enhanced conversions for leads | |
|---|---|---|
| What it measures | Conversions that happen on your website (purchases, sign-ups, form fills) | Conversions that happen later, offline (SQLs, closed deals) |
| Where data comes from | Your Google tag or GTM on the conversion page | Your tag at form submit, plus your CRM upload later |
| Best for | Ecommerce, SaaS sign-ups, lead forms | B2B and lead-gen with a sales cycle |
| How data reaches Google | Tag in the browser | Tag, then Data Manager, API, or a CRM connector |
What changed in April 2026
Before April 2026, you turned on enhanced conversions for web and for leads separately and chose one implementation method. Google combined them into a single on/off setting.
Google now accepts user-provided data from website tags, Data Manager, and API connections simultaneously. Existing users who had accepted the customer data terms were migrated automatically. New accounts must turn it on themselves.
A related change: since June 15, 2026, offline conversion and enhanced conversions for leads uploads go through the Data Manager API, not the Google Ads API. That only matters if you upload conversions with custom code.
What Do You Need Before You Start?
You need a working conversion tag, customer data on the conversion page, and admin access to Google Ads. Check these first:
- A working conversion action. Enhanced conversions improves an existing tag. It does not replace one.
- Customer data on the conversion page. At least an email, phone number, or full name plus postal code and country. Email is the strongest match key.
- The exact trigger. Know whether the conversion fires on a thank-you page load or a button click.
- Admin access to Google Ads, plus GTM publish access or a developer if you use code.
- Consent in place. Your privacy policy and consent banner should cover sharing hashed data with Google. In the EEA and UK, Consent Mode v2 governs whether data is sent.
- Customer data terms. You must accept Google's terms before the setting can be turned on. If a manager account (MCC) owns conversion tracking, accept them there.
Which Setup Method Should You Use?
Use Google Tag Manager if you already run GTM. Use the Google tag if your site loads gtag.js directly. Use Data Manager or the API when conversions are confirmed in a CRM or backend, not in the browser.
| Method | Best for | Effort | Data accuracy | Main risk |
|---|---|---|---|---|
| Google tag, automatic detection | Simple sites, quick start | Low | Medium | Picks up the wrong field or misses fields |
| Google tag, CSS selectors or code | Sites without GTM | Medium | High | Breaks when form markup changes |
| Google Tag Manager | Most advertisers | Medium | High | Variable misconfiguration |
| Data Manager (CRM connectors) | HubSpot, Salesforce, and lead-gen funnels | Low to medium | High | First run only pulls 14 days of data |
| Data Manager API | Server-side and custom builds | High | Highest | Needs a developer |
Our default for most accounts is GTM with the code or manual method. Automatic detection is fine for a quick start, but it guesses. Guessing is how you end up hashing a newsletter field instead of the checkout email.
How to Set Up Enhanced Conversions With the Google Tag
Turn the setting on in Google Ads, allow user-provided data in your Google tag, then pass customer data to the tag on the conversion page.
Step 1: Turn on enhanced conversions in Google Ads
- In Google Ads, go to Goals > Settings.
- Open the Customer data use panel (older accounts may still label it Enhanced conversions).
- Turn enhanced conversions on and accept the customer data terms.
Step 2: Allow user-provided data in the Google tag
Open your Google tag's settings and turn on Allow user-provided data capabilities. Then choose how the tag finds the data: automatic detection, CSS selectors, or code.
Step 3: Send the customer data
The most reliable option is code. Set the user data before the conversion event fires:
gtag('set', 'user_data', {
email: 'customer@example.com',
phone_number: '+15551234567',
address: {
first_name: 'Jane',
last_name: 'Doe',
postal_code: '02892',
country: 'US'
}
});
Replace the example values with variables from your page or data layer. Leave out any field you do not collect rather than sending it blank.
Formatting rules that break most setups
| Field | Format |
|---|---|
| Lowercase, trimmed. Remove periods before gmail.com | |
| Phone | E.164 format, for example +15551234567 |
| Country | Two-letter ISO code, for example US |
| Address | Each part as its own field, not one string |
| Pre-hashed values | SHA-256 hex, normalized before hashing |
If you send raw values, the Google tag normalizes and hashes them for you. If you hash yourself, you must normalize first. Hashing an email with a trailing space produces a value that will never match. Google's field reference.
How to Set Up Enhanced Conversions With Google Tag Manager
In GTM, you create a User-Provided Data variable and attach it to the Google Ads conversion tag that fires on your conversion. It takes about 30 minutes if your data layer already holds the customer email.
Step 1: Turn the setting on in Google Ads
Same as above: Goals > Settings, turn on enhanced conversions, and accept the customer data terms.
Step 2: Push customer data to the data layer
Ask your developer to push the email (and phone, if collected) to the data layer when the form submits or the order confirms. For example:
window.dataLayer.push({
event: 'lead_submit',
user_email: 'customer@example.com',
user_phone: '+15551234567'
});
If a developer is not available, you can read form fields with CSS selectors instead. That works, but it breaks whenever someone redesigns the form.
Step 3: Create a User-Provided Data variable
- In GTM, go to Variables > New.
- Choose User-Provided Data as the variable type.
- Pick Manual configuration or Code, and map Email and Phone to Data Layer Variables for
user_emailanduser_phone. - Save it with a clear name, such as UPD - Lead Form.
Step 4: Attach it to your conversion tag
Open the Google Ads Conversion Tracking tag for this conversion. Check Include user-provided data from your website and select the variable from Step 3. If you send conversions through the Google tag instead, add a user_data event parameter pointing to the same variable.
Step 5: Preview, then publish
Use GTM Preview mode to submit a test conversion. Confirm the conversion tag fired and the variable holds a real email, not undefined. Then publish the container.
One GTM-specific trap: the conversion tag must fire after the data layer push. If the tag fires on a page view that happens before the push, the variable is empty and nothing is sent.
How to Set Up Enhanced Conversions for Leads
Enhanced conversions for leads needs two halves: the tag captures hashed email at form submit, and your CRM later sends the same hashed email when the lead qualifies. Google matches the two to credit the original click.
- Capture at form submit. Complete the Google tag or GTM setup above on your lead form. This is the step most teams skip, and without it there is nothing to match against.
- Create an offline conversion action for the downstream stage, such as SQL or Closed Won.
- Send the CRM event. Use HubSpot's native ad conversion events, Data Manager's Salesforce or HubSpot connector, Zapier, or the Data Manager API.
- Send the same identifier. If the form captured a work email, the CRM must send that same email. A personal email added later by a rep will not match.
Two timing limits matter for long sales cycles. On its first run, Data Manager imports only the last 14 days of HubSpot or Salesforce data. And uploads that arrive too long after the click are rejected, so bid on a stage that happens within weeks, not months.
We cover the CRM side in depth in our guide to connecting your CRM to Google Ads.
How Do You Know Enhanced Conversions Are Working?
Check the network request right away, then check the Diagnostics tab after about 48 hours. A healthy setup shows an Excellent or Good status and a coverage rate close to 100% of eligible conversions.
Check 1: The browser request (immediately)
- Complete a test conversion on your site.
- Open Chrome DevTools, go to the Network tab, and filter for "google".
- Find the request to googleadservices.com/pagead/conversion.
- In the Payload tab, look for an "em" parameter followed by a long hashed string.
If "em" is there, hashed data is leaving the browser. If not, the tag fired without user data.
Check 2: Google Ads diagnostics (after 48 hours)
Go to Goals > Summary, open the conversion action, and select Diagnostics. You will see one of four statuses:
| Status | What it means | What to do |
|---|---|---|
| Excellent | Active and fully optimized | Nothing |
| Good | Active, but more data would help | Add phone or address fields |
| Needs attention | Active with errors | Read the alert and fix the field it names |
| No recent data | Nothing recorded in the last 7 days | Recheck the tag, trigger, and data layer |
Also check the coverage rate: the share of conversion events that included user data. It updates within hours and defaults to a 7-day view. Low coverage usually means the data is missing on some pages or forms. Note that alerts do not appear when an action has fewer than 20 conversions in 7 days. Google Ads Help.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| No "em" in the payload | Variable empty when the tag fired | Fire the tag after the data layer push |
| Low coverage rate | Some forms or pages lack the data | Add the variable to every conversion path |
| Needs attention: formatting | Phone not in E.164, or bad hashing | Send raw values and let Google hash them |
| Setting will not turn on | Data terms not accepted, or MCC owns tracking | Accept terms at the conversion-tracking account |
| Wrong data hashed | Automatic detection grabbed the wrong field | Switch to manual or code |
| No consented data in EEA or UK | Consent Mode blocking ad_user_data | Review banner and consent defaults |
Give it about 30 days before judging performance. Google says the impact of enhanced conversions shows up over roughly that window.
FAQ
Are enhanced conversions worth setting up?
Yes, for almost every account. Enhanced conversions recovers conversions that cookies and click IDs miss, which gives Smart Bidding more data. Setup takes under an hour for most sites, and it does not change or remove existing conversion data.
Is enhanced conversions the same as offline conversion import?
No. Offline conversion import sends CRM events matched by click ID (GCLID). Enhanced conversions sends hashed customer data like email. Enhanced conversions for leads combines both ideas, and Google now recommends it over GCLID-only import.
Do I need to choose between the Google tag, GTM, and the API?
Not anymore. Since April 2026, Google Ads accepts user-provided data from tags, Data Manager, and API connections at the same time. You turn enhanced conversions on once and send data from wherever it lives.
Is enhanced conversions GDPR compliant?
It can be, but compliance depends on your consent setup. Data is hashed with SHA-256 before it is sent. In the EEA and UK, use Consent Mode v2 so data is only sent when users grant consent. Check with your legal team.
How long until enhanced conversions show results?
The Diagnostics tab updates within about 48 hours, and the coverage rate within hours. Google says the performance impact shows up over roughly 30 days.
Why does my status say No recent data?
It means no enhanced conversion data was recorded in the last 7 days. The usual causes are a tag firing before the data layer push, an empty variable, or an unpublished GTM container.
Does enhanced conversions work on Shopify?
Yes. Shopify stores can use Google's own sales channel app, a tracking app, or GTM with a custom pixel. The same rules apply: the email must be available when the purchase conversion fires.
Sources
- Updates to your enhanced conversions settings, Google Ads Help
- Set up enhanced conversions for web using Google Tag Manager, Google Ads Help
- About the enhanced conversions for web tag diagnostics report, Google Ads Help
- About offline conversion imports, Google Ads Help
- Configure the Google tag for enhanced conversions for leads, Google
Want this run on your account?
We review your account, show you what is capping results, and walk through the fixes live with a senior operator.
Get a Free Account Review ↗