Most agencies running Google Ads for lead generation clients have the same problem: Google only sees the form fill. It has no idea whether the lead answered the phone, whether sales called it qualified, or whether it closed. Left alone, Smart Bidding optimises toward more form fills, including the ones that go nowhere, so cost per qualified lead creeps up even as cost per lead looks fine.
Enhanced conversions for leads is Google's current answer to that gap. It lets you feed Google Ads the later-stage signal, qualified lead, booked call, closed deal, with enough identity information attached that Google can match it back to the original ad click and bid toward outcomes that actually matter. This guide covers how it works today, how it relates to the older GCLID-only offline import, how to set it up with Data Manager or Google Tag Manager, and how to read the diagnostics when something breaks.
Everything below is checked against Google's own documentation as of 12 October 2026, linked in Sources. Where Google has recently changed the feature, the change and its date are called out explicitly, since this is an area Google renames and restructures often.
Enhanced conversions for web vs. enhanced conversions for leads
Google has shipped two related but distinct features under the "enhanced conversions" name, and conflating them is the most common source of confusion here.
Enhanced conversions for web supplements an on-site conversion, a purchase, a signup, a form submission, with hashed first-party data captured at the moment of conversion (email, phone, name, address), through the Google tag or Google Tag Manager, in real time.
Enhanced conversions for leads is built for the gap that matters to agencies: a lead converts on the website today, but the event you actually want Google Ads to optimise toward (qualified, booked, closed-won) happens days or weeks later, inside a CRM, with no browser present. Google describes it as "an upgraded version of offline conversion import that uses user-provided data, such as email addresses, to supplement imported offline conversion data to improve accuracy and bidding performance." You upload the later-stage event with the lead's hashed contact details, and Google matches it back to the original ad click.
The 2026 consolidation. For most of this feature's life (leads launched in 2022), these were two separate products, each with its own settings screen, and advertisers picked a single implementation method per product. Search Engine Land reported in early 2026 that Google was collapsing this into one on/off setting, in two phases: from April 2026, Google Ads started accepting data simultaneously from website tags, Data Manager, and API connections instead of forcing one method; then web and leads merged into a single unified setting from June 2026. The distinction no longer shows up as a separate setup flow, though the mechanics below, hashed data, GCLID matching, upload windows, are unchanged, and existing implementations migrated automatically.
A related shift: from 15 June 2026, offline conversion and leads uploads move to the Data Manager API, and are blocked in the standalone Google Ads API except for allowlisted legacy integrations. If your CRM vendor uploads via a custom API integration, confirm which API it's actually calling.
How this replaced (and relates to) GCLID-based offline conversion import
Offline conversion import, the older mechanism, matches an uploaded conversion to an ad click using only the GCLID (Google Click ID), the tracking parameter Google appends to your ad's destination URL that your site needs to capture and store against the lead record. Upload a conversion with the right GCLID inside the matching window and Google counts it, no hashed personal data involved.
Enhanced conversions for leads layers hashed first-party data (email and/or phone) on top of the GCLID. Google is explicit that GCLID should still be included wherever possible, "to maximize accuracy, include GCLIDs with your uploaded events whenever possible," since it's the highest-confidence signal. Hashed email and phone are what let Google keep matching when the GCLID alone would miss: cross-device journeys, signed-in users, and conversions where the GCLID didn't make it cleanly into the CRM.
In short: enhanced conversions for leads doesn't replace GCLID matching, it extends it. Capture and store the GCLID on every lead where possible, and capture hashed email and/or phone too, since together they recover matches either signal alone would lose.
What Google Ads Data Manager actually is
Google Ads Data Manager is a point-and-click tool for importing and activating first-party data inside Google Ads, built so you connect a data source once and reuse it for more than one purpose. Google's description: it lets you "bring your customer data from outside of Google and activate it in Google Ads," and because the connection is centralised, "you might upload data from BigQuery for Enhanced Conversions for Leads, then reuse the same connection to bring data into Customer Match."
Practical sources it connects to: Google Sheets (fastest to set up, worst for ongoing automation), a direct CRM connection (Google lists integrations including HubSpot), BigQuery, and the Data Manager API for custom integrations, including connectors like Zapier. This list changes, so check Google's current version before committing to one for a client.
Data Manager is the route Google is pushing hardest. For custom integrations it now has its own Data Manager API, separate from the general-purpose Google Ads API, and Google calls it the primary API for importing offline conversions.
Where the "qualified lead" signal actually comes from
Data Manager and the Google Ads API move data, they don't generate it. The qualified-lead, booked-call, and closed-won events have to come from somewhere that tracks each lead's pipeline stage over time. A CRM that records stage changes against each lead, Inflowave is one example, is where that signal is produced; Data Manager, the API, or a connector is just the pipe carrying it to Google Ads. Get the stage-tracking right in the CRM first; the upload is the easy part.
The upload window: how long you have after the click
This is where lead gen agencies most often get burned, because sales cycles routinely run longer than Google's matching windows.
- 90 days, GCLID retention. Google retains a GCLID for 90 days. An offline conversion uploaded later than that won't import, because there's no GCLID left to match against.
- 63 days, enhanced conversions for leads matching on PII. For conversions matched using hashed email or phone rather than GCLID, the window is shorter: more than 63 days after the last click and it's not imported.
- 1 to 90 days, the conversion action's own lookback window. Every conversion action also has its own configurable click-through window. Outside it you'll see "Click too old." For a sales cycle longer than a few weeks, set this as long as reasonably needed, up to 90 days, not the short default meant for ecommerce.
The upshot: if a CRM's "qualified" stage is reached 70 days after form submission, the upload can silently fail to match, inside 90 days for GCLID but outside the 63-day PII window, depending on which path fires. Late-cycle conversions are the ones most likely to miss the window; don't assume a missing conversion means the tag is broken, check the click date first.
Upload frequency matters too: upload at least daily, or on a consistent regular cadence at minimum, since the gap between upload time and click time affects how usable the data is for Smart Bidding.
Customer data terms and consent
Before enhanced conversions for leads will activate, Google requires the account to accept its Customer Data Terms. This happens inside the setup flow itself: turning the feature on prompts you to agree if you haven't already. There's no way around it.
Consent in the EEA and UK. If any measured traffic comes from the EEA or UK, Consent Mode v2 is a hard requirement, not best practice, per Google's EU User Consent Policy. The signal that matters is ad_user_data: it governs whether user data can be sent to Google for ad measurement at all. If denied, or missing because the site runs v1 or no consent mode, enhanced conversions for that visitor simply won't fire, and it fails silently. If European lead volume is under-reporting and nothing else looks wrong, check the consent banner first.
Setup methods
Four ways to get it running, roughly in the order most agencies should consider them:
- Google Tag Manager. A Conversion Linker tag firing on all pages, automatic Form interactions collection turned on, and a data source configured for leads conversions. Best if you already manage the client's tag container.
- Google tag (gtag.js) directly on the site. Same mechanics, no tag manager needed.
- Google Ads Data Manager. No site code for the offline side; connect a CRM, spreadsheet, or BigQuery dataset and schedule imports. The route Google is pushing hardest, and the right default without in-house engineering support.
- Google Ads API / Data Manager API. For agencies running many accounts with engineering resources, a direct integration is durable, but remember the June 2026 change: new integrations go through the Data Manager API, not the general Ads API.
Whichever on-site method you pick pairs with an upload method for the later CRM events: the on-site piece captures the lead's hashed identity, the upload tells Google what happened to it later.
Which pipeline stages to send, and how to configure the conversion actions
Don't send every CRM stage change to Google Ads. Two or three matter:
- Qualified lead: passed a basic sales-readiness filter. The earliest stage worth sending, since it already filters out junk fills, spam, and wrong numbers.
- Booked / scheduled: booked a call or appointment. Often the strongest target for appointment-based services, closer to revenue than "qualified" but still fast enough to stay inside the upload windows above.
- Closed-won, with value: attach the real deal value where you can, so Google can bid toward higher-value outcomes rather than just more conversions. Most likely to fall outside the 63/90-day windows on a long cycle, so treat it as secondary rather than the only signal.
Google's own checklist recommends "Qualified lead" or "Converted lead" as the conversion goal when you create the action.
On the conversion action settings:
- Primary vs. secondary. Only "Primary" actions feed Smart Bidding. Mark the qualified-lead (or booked-call) action Primary; mark the raw form-fill action Secondary, visible for reporting but not chased by bidding.
- One conversion per click, not "Every," so a lead who submits twice, or gets touched multiple times moving through stages, doesn't inflate the count.
- Upload everything, not just what you can attribute. Google's checklist says to upload all conversions for the event, including ones with no Google Ads click, because the feature needs full volume to calibrate matching correctly.
Reading conversion status: what the labels actually mean
The Conversions summary table shows a status per action. Google has been changing these labels: in 2026 it started showing "Misconfigured" and "Awaiting conversions", while its own help pages still also use "Inactive" and "No recent conversions". Your account may show either set, so treat them as pairs.
| Label | Also shown as | What it means |
|---|---|---|
| Active | Working as intended | |
| Needs attention | Still recording, but there is a configuration issue; hover for the next step | |
| Misconfigured | Inactive | Not recording, usually a broken tag or setup error; fix it first |
| Awaiting conversions | No recent conversions | Nothing recorded recently; often normal for a new action, a paused campaign or low traffic |
If an action shows "Misconfigured" (or "Inactive"), use Google's Tag Assistant from the summary table; it verifies the tag and refreshes the status once confirmed. Don't assume "Awaiting conversions" means something is broken; check volume and campaign status first.
Why GA4 and Google Ads conversion counts never quite match
This comes up constantly with clients comparing dashboards. The honest answer: the two platforms measure different things by design, and a stable gap is not a bug.
- Different attribution scope. Google Ads only attributes to its own ad clicks. GA4 attributes across every channel, organic, direct, email, paid. A lead who clicked an ad, left, and converted three days later via organic search often shows as organic in GA4, while Google Ads still credits the ad click. This accounts for most of the typical gap.
- Different attribution timing. Google Ads credits the click date; GA4 credits the date the conversion happened, shifting each platform's count across a month or quarter boundary.
- Consent-based modelling. When a visitor denies analytics consent, GA4 fills the gap with statistical modelling rather than a hard count, and quality depends on traffic volume.
- Cross-device matching. Google Ads can connect a signed-in user's click on one device to a conversion on another through its account graph; GA4's default matching is more limited.
Google publishes no "normal" size for this gap, so judge it by stability: a gap that stays roughly the same month to month is attribution. A large or suddenly changing gap usually points to a real problem, duplicate tag firing, a broken cross-domain setup, an unverified conversion action, not attribution philosophy.
Google Tag Manager not firing: a checklist
Work through these in order before assuming the integration is broken:
- Conversion Linker tag exists and fires on every page, not just the thank-you page; without sitewide firing, cross-page matching breaks.
- Trigger is "All Pages," not scoped to a URL that might miss the real lead-form page.
- Open the conversion tag in GTM and confirm it shows "linked" to the Conversion Linker. A tag can "fire" in Preview mode and still fail to execute correctly.
- Check for a duplicate legacy tag; old hardcoded tracking alongside a GTM-managed one double-counts or conflicts.
- Confirm the Google tag (AW- ID) fires before the conversion tag, not after or in parallel.
- Rule out cookie blocking. If
_gcl_awnever gets created, a privacy setting, a consent banner blocking storage, or a server rule stripping cookies is the likely cause. - On server-side GTM, the Conversion Linker needs to live in the server container too.
- Check for JavaScript errors silently blocking the tag from executing.
Troubleshooting table
| Symptom | Likely cause | Fix |
|---|---|---|
| Conversions not tracking at all | Tag removed, broken, or never installed correctly | Run Tag Assistant from the summary table; reinstall the Google tag or GTM container |
| Leads not showing in CRM / not matching back to the click | GCLID not captured on the form, or synced to CRM without it | Store the GCLID URL parameter against the lead record at submission time |
| Offline conversions uploaded but not imported | Upload past 63 days (PII match) or 90 days (GCLID) after the click, or outside the action's lookback window | Extend the lookback window up to 90 days; investigate long-cycle leads separately |
| "Click too old" error on upload | Click falls outside the conversion action's configured lookback window | Increase the lookback window in the conversion action settings |
| GA4 and Google Ads totals disagree | Different attribution models, timing, and scope (expected) | Expect a stable gap; investigate only a large or sudden change |
| European leads missing or under-counted | Consent Mode v2 missing, or ad_user_data denied |
Verify the CMP sends Consent Mode v2 signals; check ad_user_data in Tag Assistant |
| Enhanced conversions won't turn on | Customer Data Terms not yet accepted | Have the account owner complete the acceptance prompt in the setup flow |
Set it up in an afternoon
A realistic order of operations for adding this to a live lead gen account:
- Confirm auto-tagging is on; sometimes disabled by accident on older accounts.
- Make sure the lead form captures the GCLID and stores it against the lead record, the most valuable single fix if it is missing.
- Create a conversion action named clearly, "Qualified Lead" or "Booked Call," not something to decode in six months.
- Set it to Primary, counting "One" per click, lookback window matched to the real sales cycle, up to 90 days.
- Turn on enhanced conversions for leads and accept the Customer Data Terms when prompted.
- On-site half: Conversion Linker firing sitewide in GTM, automatic Form interactions collection on.
- Upload half: connect the CRM (or a spreadsheet as a first pass) through Data Manager, mapping qualified-lead and closed-won events with hashed email/phone and GCLID.
- Run one real upload, check diagnostics and status the next day; "Awaiting conversions" at low volume is normal the first week.
- On EEA/UK traffic, verify the consent banner sends Consent Mode v2 signals; it fails silently otherwise.
- Set a recurring upload schedule, daily if possible, and recheck status weekly for the first month.
Frequently Asked Questions
What's the difference between enhanced conversions for web and for leads?
Web attaches hashed customer data to a conversion happening in real time on-site. Leads is for a later-stage event, a CRM status change like "qualified" or "closed-won," happening weeks later. Since Google's 2026 update both live under one on/off setting, but the mechanics still differ by whether the event is real-time or an offline CRM upload.
Did enhanced conversions for leads replace offline conversion import?
Not exactly, it extends it. Offline conversion import matches purely on the GCLID; enhanced conversions for leads adds hashed email and/or phone on top, recovering matches offline import alone would miss. Still include the GCLID with every upload wherever you have it.
Why do my Google Ads leads not show up as conversions in the CRM?
Usually the GCLID was never captured on the form, or the CRM record doesn't retain it through the pipeline, so Google Ads can't tie the eventual qualified/closed event back to the original click.
Why does my conversion action say "Inactive" or "Misconfigured" when leads are clearly coming in?
That status means the tag has stopped recording entirely, not that leads stopped arriving in the CRM. Run Tag Assistant from the summary table to pinpoint the fault.
Why don't my GA4 numbers match my Google Ads conversion numbers?
Different attribution models and scope: Google Ads only credits its own ad clicks, GA4 credits every channel and dates conversions by when they happened. A stable gap is expected; a large or sudden change points to a real tracking issue.
Do I need Consent Mode v2 if my client only serves US traffic?
If the account genuinely has zero EEA/UK traffic, no. But check actual traffic first, national campaigns often pick up EEA/UK visitors agencies don't expect.
How long do I have to upload a conversion after the original ad click?
Two limits: 90 days for pure GCLID matching, and a shorter 63 days if matching relies on hashed personal data. Each conversion action also has its own lookback window of 1 to 90 days, which can bind first if left short.
Sources
All checked 12 October 2026.
- About enhanced conversions for leads, Google Ads Help
- Enhanced conversions for leads implementation checklist, Google Ads Help
- Configure Google Tag Manager for enhanced conversions for leads, Google Ads Help
- Configure the Google tag for enhanced conversions for leads, Google Ads Help
- Using Google Ads Data Manager with enhanced conversions for leads, Google Ads Help
- About Google Ads Data Manager, Google Ads Data Manager Help
- Scale data connections with the Data Manager API, Google Ads Data Manager Help
- About enhanced conversions, Google Ads Help, SHA256 hashing and normalisation rules
- Guidelines for importing offline conversions, Google Ads Help, upload windows
- Offline conversion imports FAQs, Google Ads Help
- Troubleshoot your conversion tracking status, Google Ads Help, status labels
- Troubleshoot your sitewide tagging, Google Ads Help
- Use Tag Assistant to troubleshoot unverified or inactive conversion actions, Google Ads Help
- Set up consent mode on websites, Google for Developers
- Google blocks new offline conversion imports via Ads API from June 15, PPC Land
- About offline conversion imports, Google Ads Help
- Google Ads simplifies enhanced conversions into a single switch, Search Engine Land
- Google Ads finally collapses enhanced conversions into a single toggle, PPC Land
- Google Ads conversion tracking status adds Awaiting conversions & Misconfigured, Search Engine Roundtable

