Blog · Google Ads
Enhanced conversions for leads: setup and common mistakes
Enhanced conversions for leads lets Google Ads learn which of your leads became customers, even when the sale happens offline: on the phone, in a clinic, in your CRM. Google describes it as "an upgraded version of offline conversion import that uses user-provided data". When a visitor submits your lead form, your site sends Google a hashed email address or phone number. Later, when that lead qualifies or buys, you import the conversion with the same hashed details, and Google matches the two.
The setup has three parts: turn the feature on and accept Google's customer data terms, capture the form's email or phone with the Google tag or Google Tag Manager, and import the converted leads from your CRM. Most of the problems in practice come from the second and third parts: no customer data found on the form page, and imports that don't match. Before you start, there is one policy point that can rule it out entirely, covered first below.
Checked against Google Ads Help and Google for Developers on 25 October 2026. Google is changing the settings screens during 2026, so menu names in your account may differ slightly. Sources are listed at the end.
First check: is your business allowed to use it?
Google's customer data policies set the rules for any upload of customer information. Two of them matter most here:
- You must get consent for sharing customer data with third parties where the law requires it, and tell customers that you share their information.
- "Conversions related to sensitive categories can't be used for measurement in enhanced conversions or store sales (uploads)." Health and medical information is among the sensitive categories Google lists.
So if your conversions are about health, for example a booked treatment or a patient consultation, read the policy carefully before building anything. For a clinic it can rule the feature out, and it's better to find that out before the tagging work than after.
How it differs from gclid import and from enhanced conversions for web
| gclid offline import | Enhanced conversions for leads | Enhanced conversions for web | |
|---|---|---|---|
| Where the conversion happens | Offline | Offline | On the website |
| What you store at form time | The gclid of the click | Nothing extra: the tag sends hashed lead data | Nothing: sent at conversion |
| What the import uses | The gclid | Hashed email/phone, plus the gclid where you have it | No import |
With plain offline conversion import you have to capture the gclid in a hidden field and keep it with every lead. Enhanced conversions for leads still recommends sending the gclid "in addition to the identifiers you already import", but the hashed email or phone gives Google a second way to match. Google also says the upgrade "enables engaged-view conversions and cross-device conversions" (About enhanced conversions for leads).
Step 1: Turn it on and accept the customer data terms
In Google Ads, the feature works only after the account has accepted the customer data terms; the terms apply to the whole account. Depending on how far Google's 2026 settings update has reached your account, you'll find it either under Goals → Settings → Enhanced conversions or under Settings → Customer data use → Turn on enhanced conversions (Updates to your enhanced conversions settings). Google is merging the separate web and leads settings into one switch, so older guides that ask you to pick a "method" (Google tag, Tag Manager or API) may no longer match your screen.
Then create one conversion action per stage you want to import: Goals → Summary → + Create conversion action → Conversions offline, for example "Qualified lead" and "Converted lead". Google's implementation checklist recommends a unique action per event and keeping new actions secondary for the first 2–3 weeks, until you trust the data.
Step 2: Capture the email or phone on the lead form
The website part sends the hashed details when the form is submitted. Requirements from Google's setup pages:
- Auto-tagging on, and a Conversion Linker on every page where visitors land from an ad (Tag Manager setups).
- At least one identifier on the form: email, phone number or address. Google recommends the email.
- Phone numbers with a country code, in E.164 format (+16505551234).
There are two ways to do it.
With the Google tag. In the Google tag settings, open Manage automatic event detection and enable Form interactions; the tag then captures form submissions automatically. Or send the data yourself before the event:
gtag('set', 'user_data', { email: 'lead@example.com', phone_number: '+16505551234' });
(Configure the Google tag for enhanced conversions for leads)
With Google Tag Manager. Add a Google Ads User-Provided Data Event tag with your conversion ID and a user-provided data variable. The variable can be Automatic (Tag Manager finds the fields), Manual (you point to the fields with CSS selectors or variables) or Code (a data layer object). Google notes that with the automatic method "you won't be able to collect phone numbers". Fire the tag on a trigger "that happens after the form has been filled out" (Configure Google Tag Manager for enhanced conversions for leads).
You can send the values unhashed, and the tag normalises and hashes them before they reach Google's servers. If you hash them yourself, follow Google's rules exactly (step 4).
Step 3: Import the converted leads
When a lead reaches the stage you track, send it back to Google. Google lists three routes: Data Manager (recommended, including CRM connections such as HubSpot or Salesforce), the Google Ads API, and Zapier. Google's Tag Manager guide now calls offline conversion import "a legacy feature".
What each imported conversion needs, according to the Google Ads API guide:
- Required: the conversion action, the conversion time with a time zone offset (after the click), and the hashed user identifiers (email and/or phone).
- Recommended: the gclid when you have it, a unique order ID per conversion (it prevents duplicate imports), value and currency, and the
ad_user_dataconsent status. - Not allowed: custom variables on these conversions; rows with them are dropped.
Two rules from the checklist that are easy to miss: import all converted leads, not only the ones you think came from Google Ads, and don't upload conversions with a value of 0 unless you use conversion adjustments. Daily imports are "strongly recommended".
Step 4: Normalise and hash correctly
If you hash the data yourself (API uploads, or a custom data layer), the format must match what the tag produced at form time, or nothing will match. Google's rules:
- Remove leading and trailing spaces.
- Convert to lowercase.
- Phone numbers in E.164 (+ and country code, no spaces or dashes).
- For gmail.com and googlemail.com addresses, remove the dots before the @; the API guide also removes "+" suffixes there. Don't change other domains.
- Hash with SHA-256, as lowercase hex (64 characters).
Country, state, city and zip code are sent in plain text, not hashed.
How to check it works
- Tag Manager Preview: the user-provided data tag should be under Tags Fired after a test submission. If it isn't, fix the trigger.
- Network check: a request to
google.com/pagead/form-data/with anemparameter means the email was captured. - Diagnostics: in Goals → Conversions → Summary, the Diagnostics tab of the conversion action shows whether user-provided data arrives and how imports match.
Common mistakes
- No customer data on the form page. The tag can only send what the page has. Forms inside an iframe need the parent page to receive the data (Google suggests
postMessage()). - Relying on automatic collection for phone leads. It doesn't collect phone numbers; use the manual or code variable.
- Phone numbers without a country code. They don't normalise to E.164 and don't match.
- Different hashing on each side. For example dots removed from Gmail addresses at import but not at capture. Let the tag hash, and follow the same rules in your CRM export.
- Importing only attributed leads. Google needs all converted leads to match correctly.
- No order ID. The same lead imported twice counts twice.
- Primary from day one. A new action that misbehaves then steers bidding. Start secondary.
- Missing consent. Without the consent signals, Google warns the conversions may not be attributable. See Consent Mode v2 in GTM for the website side.
- Sensitive categories. Health-related conversions can't be measured this way; check the policy first.
If conversions are missing in GA4 as well, start with GA4 not tracking conversions: the same tag problems often show up in both.
FAQ
Do I still need to store the gclid? It's still recommended when you have it, alongside the hashed email or phone. With the Google tag collecting user data, the gclid stops being the only way to match.
Can I use it for a clinic or other health business? Google's customer data policies say conversions related to sensitive categories, including health, can't be used for measurement in enhanced conversions. Check the policy for your case before you build it.
Does it work if a visitor declines cookies?
Consent decides what's allowed. Google asks for the ad_user_data consent status with imports and warns that conversions without proper consent may not be attributable. Collect consent where the law requires it.
Is the email sent to Google in plain text? No. It's normalised and hashed with SHA-256, by the tag or by you, before it reaches Google.
If you'd like the tag, the conversion actions and the CRM import set up and checked, see Google Ads conversion tracking.
Sources
- Google Ads Help: About enhanced conversions for leads
- Google Ads Help: About enhanced conversions
- Google Ads Help: Configure the Google tag for enhanced conversions for leads
- Google Ads Help: Configure Google Tag Manager for enhanced conversions for leads
- Google Ads Help: Enhanced conversions for leads implementation checklist
- Google Ads Help: Updates to your enhanced conversions settings
- Google Ads Help: Customer data policies
- Google Ads Help: About offline conversion imports
- Google for Developers: Enhanced conversions for leads (Google Ads API)
Free tracking check
Stuck on this in your own account?
Free, within 2 business days. We look at your site from the outside, no account access needed. Fixes are quoted separately.