How to track booked call to closed won for Google Ads
The revenue arrives weeks or months after the call, in a CRM, with no browser anywhere near it. Everything depends on the click identifier having been written onto the opportunity — and in most CRMs it silently isn't, because custom fields aren't carried through lead conversion unless somebody configured the mapping. On Google Ads the specifics that matter are the click identifier (gclid, gbraid and wbraid), the import mechanism (Google's offline conversion import), and conversion actions deduplicate on their own counting setting rather than an event ID, so the setting matters more here than the payload. The chain only works end to end if the identifier is captured on landing and stored on the opportunity record in your CRM — no cookie survives the gap between ad click and revenue sent back.
Free30 minutesNo obligation
Specific to Google Ads × Booked call → closed won
Google Ads closed-won: revenue against the gclid inside 90 days
Upload each closed-won opportunity to Google's offline conversion import as its own conversion action, against the gclid, gbraid or wbraid copied from the lead onto the opportunity, with the close date as the conversion time and the deal amount as the value. Deals closing more than 90 days after the click cannot be imported.
Google gives this funnel more room than any other platform: a 90-day import window, value-based bidding that can use real deal amounts, and adjustments for when an amount changes. Check your median click-to-close time against those 90 days first. If most deals close inside it, closed-won can feed Target ROAS; if most close after it, the import becomes a reporting tool and bidding stays on the booked call. Set the closed-won action to count every conversion, since one click can produce a second deal months later.
Use a restatement adjustment, not a second upload, when the amount changes after close, so an upsell corrects the original conversion instead of creating a second sale. Pick one rule, the amount at signature or the first-year contract value, and apply it every time; switching between them makes ROAS trends meaningless.
The Google-specific loss is gbraid and wbraid. Lead-to-opportunity mapping is often configured for a single gclid field, so iPhone-sourced clicks reach the lead and stop there. Map all three fields through conversion and count how many closed-won records carry any of them, because that share caps what Google can ever be credited with.
Google Ads · Booked call → closed won · what breaks
Where this funnel usually breaks — Google Ads · Booked call → closed won
- 01
Lead conversion drops the identifier
The value sits on the Lead, the Opportunity has nothing, and no system reports a problem. This is the single most common cause we find.
- 02
The cycle outruns the import window
A deal closing five months after the click can't be imported. That's a real constraint, not something to engineer around.
- 03
Amount changes after close
Upsells and adjustments move the number. Decide which amount is the conversion value and document it.
Google Ads · Booked call → closed won · the fix
What working looks like — Google Ads · Booked call → closed won
Revenue sent back attributed to the click
Weeks later if necessary, because the identifier lives on the opportunity record in your CRM rather than in a cookie.
Google Ads bidding fed the real outcome
Via offline conversion import, so it optimizes toward revenue rather than toward booked calls.
A reconciliation that closes
Your crm's closed-won records matched per record against what Google Ads reports, over a fully closed window.
Google Ads · Booked call → closed won · architecture
The exact event sequence — Google Ads · Booked call → closed won
Stage three is where this fails, and it fails without raising an error anywhere.
- 1
Ad click
Identifier captured on landing and written to the lead record immediately.
- 2
Call booked and attended
The mid-funnel signal. Usually where bidding has to live, because it's inside the window.
- 3
Lead converted to opportunity
The step that loses the identifier in most CRMs. Field mapping has to be configured explicitly.
- 4
Opportunity closed won
With the real amount, which is what makes value-based bidding possible at all.
- 5
Revenue sent back
Uploaded against the original click, if the cycle fits inside the import window.
Google Ads · Booked call → closed won · diagnose
What's specific to Google Ads
- 01
Click identifier: gclid, gbraid and wbraid
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.
- 02
Import mechanism: offline conversion import
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
- 03
Deduplication
There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts.
- 04
Window and timing
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.
- 05
The Google Ads gotcha
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 · Booked call → closed won · prove
How to prove the chain works — Google Ads · Booked call → closed won
Source of truth
your CRM's closed-won records
- The same identifier confirmed on the opportunity record in your CRM after a full real journey through every step.
- Revenue sent back confirmed arriving at Google Ads, verified by the match rate on the upload, not the success message.
- Your crm's closed-won records reconciled against Google Ads per record over a fully closed window.
Google Ads · Booked call → closed won · free audit
What we check in the free audit
- Click identifier: gclid, gbraid and wbraid
- Import mechanism: offline conversion import
- Deduplication
- Window and timing
- The Google Ads gotcha
Checked against
your CRM's closed-won records
Free30 minutesNo obligation
Google Ads · Booked call → closed won · when not to buy
When this doesn't apply to you — Google Ads · Booked call → closed won
- If your median time from click to close comfortably exceeds the import window, the closed-won event simply cannot drive bidding. Build the reporting, optimize on an earlier stage, and don't let anyone tell you otherwise.
- 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.
- If your cycle from click to revenue sent back regularly exceeds the import window, the final event can't drive bidding whatever you build. Optimize toward attended call or qualified opportunity instead and use the later data for budget decisions rather than for bidding.
- If almost none of your opportunities carry a click identifier today, that's the whole project.
Google Ads · Booked call → closed won · what we deliver
The implementation, on Google Ads
Capture gclid, gbraid and wbraid on landing
Auto-tagging appends the identifier. Confirm it's enabled in every account — it gets switched off for cleaner analytics URLs more often than you'd expect, and that single setting removes conversion attribution, Enhanced Conversions and offline import in one go.
Persist it to the opportunity record in your CRM
Create the identifier fields on Lead, Contact and Opportunity, then configure the lead-conversion mapping between them — the mapping is the part that's almost never done.
Send revenue sent back from the record
The upload fires on stage change, automatically, referencing the identifier stored on the opportunity. Dispatched to Google Ads through Google's offline conversion import.
Deduplicate and reverse
Conversion actions deduplicate on their own counting setting rather than an event id, so the setting matters more here than the payload. A closed-won that later gets reversed or refunded should be adjusted, which almost no implementation does.
FAQ
Google Ads · Booked call → closed won questions, answered
Yes, through value-based bidding on an imported conversion, provided most deals close within 90 days of the click and you upload enough of them for bidding to learn from. Otherwise keep it as a reporting action.
Send a conversion adjustment that restates the value of the original conversion instead of uploading a new one. Confirm the adjustment format in Google's current documentation.
Because the call-to-close rate differs by channel, sometimes dramatically. Optimizing on booked calls buys the channels that produce the most calls, which is rarely the same as the channels that produce revenue.
It doesn't, as a cookie — the gap is too long. It has to be written onto the opportunity record in your CRM at the point of ad click, where it lives as a field rather than as browser storage.
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.
Two to four days for the implementation, plus a closed reconciliation window before we'd call it verified. Capture and persistence are the fiddly parts; the import itself is usually an afternoon.
Yes, and the reference pages on this site cover the mechanics. The part that's genuinely tedious rather than clever is keeping gclid, gbraid and wbraid alive through multi-step forms and CRM lead conversion, where unmapped custom fields vanish, which fails silently at every stage.
More on Google Ads · Booked call → closed won
- Meta · Booked call → closed wonHow to track booked call to closed won for Meta Ads
- TikTok · Booked call → closed wonHow to track booked call to closed won for TikTok Ads
- Microsoft · Booked call → closed wonHow to track booked call to closed won for Microsoft Ads
RELATED GUIDES
Funnels next to booked call to closed won, and the checks that close it
- Google Ads · Directory listing → enquiryHow to track directory listing to enquiry for Google Ads
- Google Ads · Chat → qualified leadHow to track chat conversation to qualified lead for Google Ads
- Google Ads × CRM DealsHow to reconcile Google Ads against your CRM's closed-won deals
- Google Ads · RecruitmentGoogle Ads conversion tracking for recruitment agencies
- Google Ads · StaffingGoogle Ads conversion tracking for staffing agencies
- TidyCal → Google AdsConnecting TidyCal to Google Ads
- Calendly → Google AdsConnecting Calendly to Google Ads
- Google Ads · Referral → closed saleHow to track referral to closed sale for Google Ads
Free · 30 min
Get booked call to closed won tracked properly on Google Ads
Free30 minutesNo obligation
