Enhanced Conversions Setup for B2B Google Ads Accounts
Bridge the gap between form fills and actual buyers with hashed CRM data.

Most B2B Google Ads accounts have a targeting problem dressed up as a tracking problem. Smart Bidding sees a form fill, calls it a win, and goes looking for more people who behave exactly like the person who just filled out that form. The trouble is, filling out a form and buying something are two different acts, sometimes separated by months. If the algorithm never learns which form-fillers turned into buyers, it just gets faster at finding the wrong people.
Dreamdata's research on B2B buying puts the average customer journey at around 192 days. That's a long gap for any tracking system to bridge, and standard conversion tracking wasn't built to bridge it. It was built to say "someone clicked, then something happened on the page." It was never built to say "someone clicked, and six months later, someone signed a contract."
Three things break attribution before a lead even reaches a CRM. Safari's Intelligent Tracking Prevention strips out click ID parameters like GCLID through a feature called Link Tracking Protection, while ordinary UTM parameters survive untouched. Ad blockers stop tracking code from firing at all. And consent requirements mean plenty of users never trigger a tag in the first place. Add it up, and a growing share of ad clicks arrive with no GCLID attached, which means any offline conversion tied back to that click matches at zero. According to GroPulse (2025), up to 47% of conversions go untracked because of browser restrictions and privacy rules. That's not a rounding error. That's Smart Bidding making decisions on a coin flip, and doing it at machine speed, thousands of times a day.
What Enhanced Conversions actually does, and why the leads version is what B2B accounts need
Enhanced Conversions isn't one feature. It's two, and mixing them up is where a lot of setups go sideways.
Enhanced Conversions for web tracks on-site conversion events using hashed first-party data. It's a good fit for e-commerce and direct-response advertisers, where the sale happens on the site itself. For B2B, it's less useful, mostly because most B2B marketing teams already have better, more account-aware first-party tracking than what this version of Enhanced Conversions offers, per Dreamdata's research.
Enhanced Conversions for leads is the upgraded version of Offline Conversion Import, and it's the one that actually matters here. It feeds CRM-stage data, MQL, SQL, Closed-Won, back into Google Ads, so Smart Bidding can learn what a real buyer looks like instead of just what a form-filler looks like.
The matching works in two layers. Layer one is the GCLID: standard offline conversion import sends the click ID plus the CRM event back to Google, which matches it against click records it already has. Layer two kicks in when there's no GCLID at all: the lead's email gets hashed with SHA-256 and matched against signed-in Google account emails, so the conversion still gets credited even without a click ID.
None of this sends raw personal data to Google. The hashing happens locally, before anything leaves the site or the CRM.
In 2026, Google folded the web and leads versions into one on/off setting, accepting data from website tags, Data Manager, and API connections at the same time. Existing users were moved to the unified setting as part of the rollout. Practically, this means teams no longer pick one method over another. The real question now is which data pathway to prioritize, since all of them can run at once under the same switch.
The attribution coverage math that makes the case for setup
Start with the number that matters: advertisers bidding to conversion value who set up Enhanced Conversions see an 8% incremental lift in ROAS on Google Search campaigns, according to Google's own Conversion Lift Analysis (99 studies, global, April 2024 to April 2025).
That 8% isn't new revenue showing up out of nowhere. It's revenue that was already happening but wasn't being counted, so Smart Bidding was optimizing against an incomplete picture and missing those conversions entirely. The lift comes from the algorithm correcting its own mistakes once it has cleaner data to work with, not from spending more money.
There's evidence from the implementation side that points the same direction. GroPulse (2025) found an e-commerce brand recovered 41% of missing conversions and cut CPA by 22% within 60 days of a proper setup. That's not a B2B case study, but it's directionally useful for any account with a real attribution gap. On the B2B side specifically, Separately, a B2B SaaS company improved lead quality by 18% by optimizing for genuinely high-intent conversions instead of raw form fills.
What ties these numbers together is what they're not measuring. None of them are about more traffic or bigger budgets. They're about the algorithm making smarter calls with the data it already has access to, once someone bothers to hand that data over properly.
And most accounts haven't. Per the Google Ads Performance Report (via GroPulse), only 32% of mid-sized businesses have turned Enhanced Conversions on. Which means most Smart Bidding campaigns running today are being trained on a partial picture and nobody's told the algorithm what it's missing.
The three implementation paths and which one fits a B2B account's technical reality
There are three ways to set this up, and they ask very different things of a team.
Path 1: Google Tag or GTM. This is the lightest lift. Turn on Enhanced Conversions in the GA4 Admin panel under Data Streams, using the "Allow user-provided data" toggle. Inside GTM, there are two ways to capture the data: automatic detection, where Google scans the page for email patterns, or manual configuration using a CSS selector or JavaScript variable, which is more precise but breaks easily if the site's code changes often. Hashing happens locally before anything reaches Google's servers.
This path fits accounts with simple, form-based lead capture and no complicated CRM routing. Its limit is right there in what it captures: on-site lead data only. It doesn't feed downstream CRM outcomes back to Google, which means it can't tell Smart Bidding who actually became a buyer.
Path 2: Data Manager API. This is the one most lead-heavy B2B accounts should be building toward. Google Ads Data Manager, introduced in 2023 and fully scaled by 2025, became the main hub for these connections. It links CRMs like Salesforce and HubSpot to Google Ads without custom code, and it also connects to tools like Mailchimp, ActiveCampaign, Klaviyo, Google Drive, Zapier, Stape, and Triple Whale. The advertiser maps CRM fields to Google's conversion schema, sets up a recurring import, and Google handles the hashed-email matching automatically.
There's a hard deadline worth knowing about: starting June 15, 2026, offline conversion imports and Enhanced Conversions for Leads uploads moved to the Data Manager API and got blocked on the legacy Google Ads API. Developer tokens without allowlisted access to the new path lost the ability to use the old one. Any team still running imports through the legacy API needs to migrate, or the uploads simply stop.
Path 3: Google Ads API directly. This is the most flexible option and the one that needs an actual developer. It fits accounts with custom data pipelines, complicated CRM workflows, or lead-scoring logic that Data Manager's field mapping can't handle. Most B2B companies with mature, multi-stage funnel tracking end up here eventually, but it's not a reasonable place to start.
Mature setups usually run more than one path at once: a GTM or GA4 tag catches on-site form data, while Data Manager or the API imports what happens to that lead afterward in the CRM. Both run under the same unified setting introduced in 2026. In plain terms: if leads close offline, and Smart Bidding needs to learn from pipeline stages, Path 1 by itself won't get the job done. Data Manager or the API is required.
The prerequisites and failure modes that silently break setups that look correct
Setups fail quietly here more often than they fail loudly, which is what makes this section worth reading twice.
Consent Mode v2 is not optional, and Google won't tell you when it's missing. Google requires the ad_user_data parameter, introduced in Consent Mode v2 back in March 2024, to be set to "granted" before it will use any Enhanced Conversions data. Without it, the data just gets dropped on Google's end. No error message. No warning. Tag Assistant will still show green. Consent Mode v1 only had two parameters, ad_storage and analytics_storage. Version 2 added ad_user_data and ad_personalization, and missing either one means the whole setup is built on sand, even if everything else looks fine.
GCLIDs have to survive the CRM's entire lifecycle. The click ID captured on the landing page needs to stay attached through every transformation the CRM makes to that record: a HubSpot contact update, a Marketo person sync, a Salesforce Lead-to-Contact-to-Opportunity conversion. If that field isn't explicitly mapped and carried through each stage change, the chain breaks somewhere in the middle, and nobody notices until the match rate looks strange.
Lookback windows are tighter than most B2B sales cycles. Google holds onto a GCLID for a limited window, so GCLID-based imports have to land within that period. Enhanced Conversions for Leads has its own upload deadline, and records submitted after that cutoff simply don't import at all. For sales cycles that run longer than that (which describes a lot of B2B), the practical fix isn't to wait for Closed-Won. Import an earlier stage instead, like SQL or Opportunity Created, something that still falls inside the window.
Nothing shows results in week one, and that's expected. Before setup even starts, a few things need to already be true: conversion tracking working normally in Google Ads, Customer Data Terms accepted, Consent Mode v2 configured correctly, and access to edit tags or the data layer. Once it's live, Enhanced Conversions needs roughly 30 days to train before any impact shows up in reporting. Judging it after a week is judging nothing.
CRM hygiene decides whether any of this helps or hurts. Duplicate records, missing GCLIDs, and inconsistent definitions of what counts as an MQL (which often varies rep to rep) all feed straight into Smart Bidding as signal. The technical setup can be flawless and still produce garbage results if the CRM behind it is a mess. This part isn't a tech problem. It's an org problem, and it's where a lot of otherwise correct setups quietly fail.
How to read match rates and diagnose what a low score actually means
Match rate is the number that tells you whether any of this is actually working. It measures how often Google can connect an uploaded lead record to a signed-in Google account that clicked an ad.
A healthy match rate target is generally considered to be in the 75 to 80% range. Below that, here's roughly what different scores tend to mean:
- Under 40%: Enhanced Conversions for Leads can't carry the load on its own here. Something upstream is broken, usually the email address not being captured, saved, or passed through correctly at the form level.
- 40 to 60%: Points to a capture, persistence, or consent issue worth chasing down before blaming the platform.
- 60% and up: Solid enough to close real attribution gaps, especially from mobile, Safari and iOS traffic, and cross-device journeys.
Accounts already capturing a solid share of offline conversions through click ID alone can recover a meaningful additional share once the hashed-email layer is added, mostly from exactly those hard-to-track sources: mobile, Safari and iOS, and cross-device leads. That gap between the GCLID-only baseline and the combined ceiling is the whole reason the second matching layer exists.
When match rate comes in low, check these first:
- The email field isn't being captured at the point of form submission (the most common culprit by far)
- The email is getting hashed inconsistently, or hashed after it's already been sent, rather than before
- Consent Mode v2 isn't set up right and ad_user_data was never granted
- Lead records are getting uploaded too late, past the upload deadline for ECL
Starting in 2026, Google's unified setting includes built-in diagnostic tools that track data from ingestion all the way through to the final conversion, which makes it faster to find exactly where in the pipeline a match is failing, per Google Marketing Live's 2026 announcements.
What to feed Smart Bidding once the data is flowing: choosing signals and bidding strategy
Getting the pipe connected is only half the job. What flows through it matters just as much, maybe more. Importing raw form fills defeats the whole point of setting this up. The goal is teaching Smart Bidding what a real buyer looks like, not what a curious visitor looks like.
Choosing which CRM stage to import:
- MQL works as a volume signal for early-stage accounts. It sits close enough to the original click to stay comfortably inside both the GCLID and ECL windows.
- SQL or Opportunity Created is the sweet spot for most B2B accounts. It's qualified enough to mean something, and close enough in time to match reliably.
- Closed-Won carries the strongest signal, but for long sales cycles it often falls outside the 63-day ECL window. Import it when the timeline allows, and treat it as a secondary signal otherwise.
The rule of thumb: import the earliest stage that represents real qualification. Don't hold out for the "perfect" signal if the sales cycle is going to push it past the lookback window anyway.
Choosing a bidding strategy:
Target CPA makes sense when every imported conversion represents roughly the same pipeline value, or when volume is too thin for value-based bidding to work well. It's a natural fit for B2B professional services, where a qualified lead tends to carry a fairly consistent value.
Target ROAS, meaning bidding to conversion value, makes sense when different stages carry different values, but it requires actually assigning a value to each stage being imported.
One rule matters more than either choice: don't change the bidding strategy and change what conversions get imported at the same time. Do both at once, and the algorithm loses its reference point entirely, which can send it into a fresh learning period and crater volume in the process.
Adjusting once things stabilize: if Target CPA holds steady for several weeks running, with decent volume behind it, that's the moment to test tightening the target, and only by a small amount. Big swings undo the stability that took weeks to build.


