Google Ads Enhanced Conversions for Leads: Setup Guide visual workflow

Short answer: Enhanced conversions for leads lets Google Ads credit offline outcomes, such as a qualified lead or a closed sale in your CRM, by matching hashed email and phone instead of relying only on the GCLID. Setup has two halves: (1) accept the Customer data terms, turn the feature on and make your Google tag or GTM send hashed user data when a lead form is submitted; (2) import the CRM outcome with the same email or phone, plus GCLID where you have it, through Google Ads Data Manager. Keep the new conversion action secondary for 2–3 weeks, check diagnostics, then bid on it.

On this pageWhat it is and when to use itBefore you startStep 1: Google Ads settingsStep 2: Tag the lead formData formatting rulesStep 3: Conversion actionsStep 4: Import via Data ManagerStep 5: Verify and go liveCommon errors and fixesSources

Need this done for you? GrowthSparx offers a fixed-scope lead tracking and attribution setup: GA4, Google Ads, Meta, WhatsApp, calls and CRM wired into one dashboard, usually live in 2–3 weeks.

Benchmark reference: the public 2025–2026 numbers behind this guide (Meta and Google CPC/CPM in India, CPL ranges by industry, landing-page conversion, real estate funnel rates, WhatsApp API pricing) are collected and graded in our India lead generation benchmarks 2026 report.

What are enhanced conversions for leads, and when do you need them?

Google describes enhanced conversions for leads as "an upgraded version of offline conversion import". Your website sends hashed lead data, such as an email address, when the form is submitted; when that lead later converts, you import the same hashed data along with identifiers like GCLID, and Google matches them (Google Ads Help).

You need it if your real conversion happens after the form: a site visit, an admission, a consultation attended, a B2B deal. Without it, Smart Bidding optimises to form fills. With GCLID-only imports, every lead whose click ID was lost (a stripped URL parameter, a form on another domain, a CRM that never mapped the hidden field) cannot be matched. Hashed email and phone fill that gap.

Enhanced conversions for webEnhanced conversions for leadsGCLID offline import (legacy)
Conversion happensOn the website (e.g. purchase)Offline, later (CRM stage)Offline, later
Match keyHashed data on the conversion tagHashed data captured on the form, re-sent at import; plus GCLIDGCLID only
Upload needed?NoYes, dailyYes
Google's recommendationFor web conversionsRecommended for new offline setupsUpgrade to enhanced conversions for leads

Since April 2026, enhanced conversions for web and for leads share a single on/off setting, and existing users were migrated automatically. For the concept of offline conversion tracking and choosing an upload method, see our offline conversion tracking guide; for defining what counts as "qualified", see tracking qualified leads from Google Ads to CRM. This page is the setup.

What do you need before starting?

  • Admin access to the Google Ads account that owns the conversion actions (the manager account, if conversions are tracked there).
  • Auto-tagging on, and GCLID, GBRAID and WBRAID captured in hidden form fields and stored in the CRM.
  • A lead form on your own page, not inside a third-party iframe. Google says the tag must run directly on the page; if a form sits in an iframe, its checklist suggests modifying the iframe or passing data to the parent page with postMessage().
  • Email and/or phone on the form. At least one is required; Google recommends both.
  • A CRM stage with a timestamp for each outcome you will import, and someone named to own the daily upload.
  • A privacy notice on the form that covers sharing hashed contact data with advertising partners. India's DPDP Act, 2023 applies to this data.

Step 1: How do you turn on enhanced conversions for leads in Google Ads?

  1. Go to Goals → Settings and open the enhanced conversions section. Tick the box to turn it on and choose how the tag data is collected (Google Tag Manager in Google's GTM guide; Google tag if you use gtag.js directly).
  2. Next to Customer data terms, select View Terms, read them, tick the box to accept on behalf of your company and click Agree. The status should show "Accepted". If you cannot see the terms, conversions are probably tracked by a manager account, and Google says the terms must be accepted there.
  3. Confirm auto-tagging is on in account settings.

Menu paths are from Google's GTM setup article as checked in October 2026; Google moves these settings periodically.

Step 2: How do you send user data from the lead form?

Option A: Google Tag Manager (what we use on most sites).

  1. Make sure a Conversion Linker tag fires on all pages.
  2. Create a new tag of type Google Ads User-Provided Data Event and enter your Google Ads conversion ID.
  3. Under User-provided data, create a new variable and pick a collection type:
    • Automatic: simplest, but Google notes it cannot collect phone numbers. Poor fit for Indian lead forms where phone is the main field.
    • Manual: point a DOM Element variable at each input by CSS selector or ID. Add stable HTML IDs if your page builder changes class names.
    • Code: push the values to the data layer on successful submit and read them with Data Layer Variables. Most reliable.
  4. Trigger it on your form submission event (a Form Submission trigger, or the custom event your data-layer push fires). If another tag fires first, enable Wait for Tags.

A Code-method data layer push, fired only after the server confirms the submission:

window.dataLayer = window.dataLayer || [];
dataLayer.push({
  event: 'lead_form_success',
  leadsUserData: {
    email: 'priya.sharma@example.com',
    phone_number: '+919876543210'
  }
});

Option B: Google tag (gtag.js) without GTM. Google's gtag article sets the data and then fires an event:

gtag('set', 'user_data', {
  "email": yourEmailVariable,
  "phone_number": yourPhoneVariable
});
gtag('event', 'form_submit', {'send_to': 'AW-XXXXXXXXX'});

If a field is not collected, Google says to remove it entirely rather than send it blank. You can send up to three emails or phones as arrays. Google also offers automatic form detection: in Google tag settings, Manage automatic event detection, enable Form interactions.

How must email and phone be formatted?

FieldKey (unhashed / pre-hashed)RuleIndian example
Emailemail / sha256_email_addressTrim spaces, lower-case; for gmail.com and googlemail.com remove dots before the @Priya.Sharma@Gmail.com → priyasharma@gmail.com
Phonephone_number / sha256_phone_numberE.164: plus sign, country code, no spaces, dashes or brackets098765 43210 → +919876543210
Address (optional)address with first_name, last_name, street, city, region, country, postal_codeGeographic fields stay unhashedcountry: 'IN', postal_code: '201301'
HashingSend unhashed and let the tag hash it, or pre-hash with hex SHA-256 and use the sha256_ keys. For scheduled file uploads, Google requires pre-hashed user data.

The phone rule matters most in India. Forms collect "9876543210", "09876543210" and "+91 98765 43210" for the same person; hashed, those are three different strings and none matches. Normalise to +919876543210 both in the tag and in the CRM export, or match rates collapse.

Step 3: Which conversion actions should you create?

Create one conversion action per CRM stage you will import: go to Goals → Conversions → Summary → + Create conversion action → Import → CRMs, files, or other data sources → Track conversions from clicks (Data Manager help). Google recommends the Qualified lead or Converted lead goal.

Action nameGoalCRM triggerValueInitial status
EC Leads – QualifiedQualified leadqualified_at first setFixed, e.g. ₹9,000 (from your funnel maths)Secondary
EC Leads – WonConverted leadwon_at setActual deal value in INRSecondary

The ₹9,000 is an example: if 1 in 4 qualified leads closes at ₹1,20,000 with 30% margin, a qualified lead is worth 0.25 × 1,20,000 × 0.30 = ₹9,000.

Step 4: How do you import conversions through Data Manager?

Google calls Data Manager the recommended import route, alongside the Google Ads API and third-party tools such as Zapier. From 15 June 2026, offline conversion and enhanced-conversions-for-leads uploads "will be migrated to the Data Manager API and blocked in the Google Ads API", so any custom script built on the old upload method needs rebuilding.

  1. Open Tools → Data manager, connect your source and choose Conversions as the use case.
  2. Map columns: email, phone, GCLID (and GBRAID/WBRAID), conversion action, conversion time (with time zone, e.g. Asia/Kolkata), value, currency.
  3. Name the connection and set the schedule to daily.

How far back each run reads depends on the source, per Google's setup article:

SourceRows read per run
Google Sheets, GCS, Amazon S3, HTTP, SFTPLast 90 days, every run
Salesforce, HubSpotLast 14 days on first run, then changes since the last successful run
BigQuery, Redshift, Snowflake, MySQL, PostgreSQLLast 14 days, every run

For Zoho, LeadSquared or a custom CRM, the practical route is a daily export into a Google Sheet or database table that Data Manager reads. A sheet layout we use:

email_sha256,phone_sha256,gclid,conversion_action,conversion_time,value,currency
9f86d0…,a3c5e1…,Cj0KCQjw…,EC Leads – Qualified,2026-10-09 16:05:00+05:30,9000,INR
b1946a…,7d865e…,,EC Leads – Qualified,2026-10-09 18:20:00+05:30,9000,INR

The second row has no GCLID; that lead still matches on email and phone. Google's checklist says to upload all conversions for the event, including ones not attributed to Google Ads, and to keep conversion_time as the time the offline event happened. Rows with personal data should be uploaded within 63 days of the event (import FAQ).

Step 5: How do you verify the setup and go live?

  1. GTM Preview: submit a test lead; the User-Provided Data Event tag should be under Tags Fired with your values.
  2. Network check: in Chrome DevTools with Preserve log on, submit the form and look for a request to google.com/pagead/form-data/ with an em parameter that is hashed, not plain text.
  3. Diagnostics: Goals → Conversions → Summary → Diagnostics. Look for "No user-provided data matches" or "Enhanced conversions has no recent data".
  4. Reports: segment campaigns by the new action and check the "All conv. (by conv. time)" column after the first uploads.
  5. Go live: Google's implementation checklist recommends keeping the action secondary for the first 2–3 weeks. If you are replacing a GCLID import, Google's upgrade guide says wait the longer of 1–2 conversion cycles or 4 weeks, then make the new action primary and the old one secondary.

When the qualified action is primary, a target CPA set against form fills will be far too low. Re-base it: if you paid ₹800 per form lead and 25% qualify, start near ₹3,200 per qualified lead and adjust (illustrative numbers).

What errors block enhanced conversions for leads, and how do you fix them?

Error or symptomLikely causeFix
CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMSTerms not accepted, or accepted in the wrong accountAccept in Goals → Settings of the account (or MCC) that owns conversions
CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADSFeature offTurn on in Goals → Settings
"No user-provided data matches"Phone formats differ between tag and upload; unhashed vs hashed mismatchNormalise both to E.164 and lower-case email before hashing
Tag fires but phone missingAutomatic collection usedSwitch to Manual or Code
No tag data on some formsForm inside iframe or on a separate booking domainMove the form, or pass data to the parent page
Template rejectedStandard GCLID template used while enhanced conversions for leads is onUse the enhanced conversions for leads mapping in Data Manager
Conversions counted twiceSame lead uploaded on two daysKeep an uploaded flag per stage in the CRM; include an order ID where the method supports it

The first two error codes and the template mismatch are listed in Google's file import article. If GA4 and Google Ads now show different lead counts, our guide to fixing duplicate conversions covers the usual causes. For a full audit across GA4, Google Ads, Meta and CRM, use the lead tracking audit checklist.

Sources

FAQ

Common questions

What are enhanced conversions for leads in Google Ads?

Enhanced conversions for leads is Google's upgraded version of offline conversion import. Your Google tag captures hashed email or phone from the lead form; later you import the qualified or sold lead with the same hashed details, plus the GCLID where available. Google matches the two and credits the ad click, even when no click ID survived to the CRM.

What is the difference between enhanced conversions for web and for leads?

Enhanced conversions for web improves measurement of conversions that happen on your website, such as a purchase, by adding hashed customer data to the conversion tag. Enhanced conversions for leads is for conversions that happen later, offline, such as a qualified lead or a sale in your CRM. Since April 2026 both share one on/off setting in Google Ads.

Do I still need GCLID with enhanced conversions for leads?

Yes, keep capturing it. Google recommends including GCLIDs with uploaded events whenever possible to maximise accuracy, and says to import all events whether they contain a GCLID, user-provided data, or both. GCLID is required only if you do not use a tag to collect user-provided data, but sending both gives the best match rate.

How long does enhanced conversions for leads take to start working?

Tag data appears within days, but Google's implementation checklist recommends keeping the new conversion action secondary for the first 2–3 weeks. If you are upgrading from GCLID-only imports, Google says to wait the longer of 1–2 conversion cycles or 4 weeks before making the new action primary. Upload daily throughout.

Why does Google Ads say customer data terms not accepted?

Enhanced conversions for leads requires the Customer data terms to be accepted in Goals > Settings. If you cannot see the terms, conversions are probably tracked at a manager (MCC) account, and the terms must be accepted there. Uploads fail with CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS until they are.

Need a practical growth system?

Book a review of your current acquisition, content and conversion workflow.

Book a Strategy Call
RS
Founder & Performance Marketing Lead, GrowthSparx

Rinku works across SEO, lead generation, paid acquisition and conversion systems for Indian and global businesses. This article uses practical operating frameworks, identifies limitations and links changing platform facts to primary sources.

Have a question? Message us directly on WhatsApp—usually a reply within a few hours.

Chat on WhatsApp