How to reconcile Google Ads against your CRM's closed-won deals
This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what Google Ads says it produced, and what your CRM's closed-won deals actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.
Free30 minutesNo obligation
Specific to Google Ads × CRM Deals
Google Ads vs closed-won deals: the gclid has to reach the deal
Match Google Ads to closed-won deals on the gclid, gbraid or wbraid stored on the deal record, or on a hashed email through Enhanced Conversions for Leads. Use deals closed within 90 days of the click. Expect Google to show fewer won deals than the CRM; a much larger CRM count usually means outbound deals are mixed in.
The join key is the click identifier, but only if it survives two handoffs: from the landing page into a hidden form field, then from the contact record onto the deal. HubSpot and Salesforce both store it on the contact by default in most setups, and the deal never inherits it unless someone maps the property. Where the identifier is missing, Enhanced Conversions for Leads can match on the hashed work email instead, which is often the better key for B2B.
The 90-day import limit is the distortion that matters here. Any deal whose first click is older than that cannot be uploaded at all, so a six-month sales cycle leaves Google structurally short. Google's default conversion columns also attribute an uploaded deal to the click date, not the close date, so last month's wins land in earlier months. Compare against the conversion-time columns, or segment by conversion action, and read the upload diagnostics for the match count.
A shortfall that tracks the share of deals older than 90 days is normal. A shortfall that persists on short-cycle deals means the identifier is being dropped between contact and deal. The most common cause is exactly that: the gclid sits on the first contact while the deal is attached to a colleague from the same account.
Google Ads × CRM Deals · what breaks
Why Google Ads and your CRM's closed-won deals disagree
- 01
Form fills counted instead of deals
The most common B2B error. The platform counts an enquiry; the business earns on a signed contract, and the rate between them varies enormously by source.
- 02
Outbound pipeline in the same report
Deals a rep sourced by cold outreach land in the same pipeline as inbound ones. Without an origin field they inflate marketing's apparent performance.
- 03
Several contacts from one company
Three people from one account researching separately is one opportunity. Counting them separately makes cost per acquisition read as a third of reality.
- 04
Sales cycle longer than the attribution window
A deal that closes in month four falls outside every default window, so the campaign shows nothing while producing everything.
Google Ads × CRM Deals · the fix
What you get from this — Google Ads × CRM Deals
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
Google Ads × CRM Deals · architecture
What each side is actually counting — Google Ads × CRM Deals
- 1
What Google Ads counts
A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.
- 2
How Google Ads attributes it
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
- 3
The window it uses
Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.
- 4
What your CRM's closed-won deals counts
Opportunities marked closed-won, at their actual value, found in HubSpot → Deals, Salesforce → Opportunities, Pipedrive → Deals, filtered to won.
- 5
The filter that makes them comparable
Stage is closed-won, and the source is a paid channel rather than outbound or referral.
Google Ads × CRM Deals · events
Reading the gap — Google Ads × CRM Deals
| What you see | What it usually means |
|---|---|
| 15%+ platform higher | Usually the wrong event entirely — the platform is claiming deals it did not produce. usually outbound or referral pipeline landing in the same report without an origin field. |
| 20%+ platform lower | Usually structural — the platform is missing deals it produced. almost always the cycle outliving the window, or the identifier never reaching the crm record. |
Google Ads × CRM Deals · diagnose
Diagnostic order — Google Ads × CRM Deals
- 01
Confirm both numbers cover the same period and channel
- 02
Form fills counted instead of deals
The most common B2B error. The platform counts an enquiry; the business earns on a signed contract, and the rate between them varies enormously by source.
- 03
Outbound pipeline in the same report
Deals a rep sourced by cold outreach land in the same pipeline as inbound ones. Without an origin field they inflate marketing's apparent performance.
- 04
Several contacts from one company
Three people from one account researching separately is one opportunity. Counting them separately makes cost per acquisition read as a third of reality.
- 05
Read the match rate on the upload, not the success message
A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.
Google Ads × CRM Deals · prove
How to know you did it right — Google Ads × CRM Deals
Source of truth
your CRM's closed-won deals — closed-won deals for a fully closed month
Google Ads × CRM Deals · free audit
What we check in the free audit
- Confirm both numbers cover the same period and channel
- Form fills counted instead of deals
- Outbound pipeline in the same report
- Several contacts from one company
- Read the match rate on the upload, not the success message
Checked against
your CRM's closed-won deals — closed-won deals for a fully closed month
Free30 minutesNo obligation
Google Ads × CRM Deals · when not to buy
When the answer is that you do not need us — Google Ads × CRM Deals
- If almost all of your closed-won deals come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
- If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.
Google Ads × CRM Deals · what we deliver
The method, step by step — Google Ads × CRM Deals
Pull what Google Ads reports
The match rate on the upload, not the success message.
Pull what your CRM's closed-won deals shows
Export closed-won deals by close date for a window long enough to cover your full sales cycle. Deduplicate to one per account, and sum the value actually contracted.
Filter both to the same thing
Stage is closed-won, and the source is a paid channel rather than outbound or referral.
Compare per record, not on totals
FAQ
Google Ads × CRM Deals questions, answered
Upload both as separate conversion actions. Bid on the qualified stage, which arrives inside the 90-day window, and use closed-won for reporting and budget decisions.
Google's default columns date an uploaded conversion to the click, so a deal closed this month appears against the month the prospect first clicked.
Because you should know the size of the problem before anyone quotes you for it. If the gap is small, you have saved yourself a purchase. If it is large, you now know what you are buying rather than taking our word for it.
No. Both numbers come from systems you already own and neither leaves them. There is no tool to sign up for and nothing to upload.
Then compare totals for a closed period and treat the result as directional rather than exact. The match rate on the upload, not the success message is still the right place to read the platform's side.
Under five percent is working. Five to fifteen usually means reversals are missing. Above twenty is normally the wrong event being counted, not a broken tag — which is why debugging tags first wastes so much time.
Then fix the filter before drawing any conclusion. Stage is closed-won, and the source is a paid channel rather than outbound or referral. A mismatch in scope produces a gap that looks like a tracking fault and is not one.
Book the free thirty-minute call and bring both numbers. We will tell you which of the causes above it is, and whether it is something you can fix yourself — which it sometimes is.
More on Google Ads × CRM Deals
- Meta × CRM DealsHow to reconcile Meta Ads against your CRM's closed-won deals
- TikTok × CRM DealsHow to reconcile TikTok Ads against your CRM's closed-won deals
- Microsoft × CRM DealsHow to reconcile Microsoft Ads against your CRM's closed-won deals
RELATED GUIDES
Systems of record beside crm opportunities, and the funnels it settles
- Google Ads × Enrolment SystemHow to reconcile Google Ads against your application or enrolment system
- Google Ads × Job SystemHow to reconcile Google Ads against your job management system
- Google Ads · Franchise enquiry → agreementHow to track franchise enquiry to signed agreement for Google Ads
- Google Ads · Directory listing → enquiryHow to track directory listing to enquiry for Google Ads
- Google Ads · ManufacturingGoogle Ads conversion tracking for manufacturers
- Google Ads · Wholesale distributionGoogle Ads conversion tracking for wholesale distributors
- Leadpages → Google AdsConnecting Leadpages to Google Ads
- Zoho → Google AdsConnecting Zoho CRM to Google Ads
Free · 30 min
Found a gap between Google Ads and your CRM's closed-won deals?
Free30 minutesNo obligation
