How to track booked call to closed won for Microsoft 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 Microsoft Ads the specifics that matter are the click identifier (msclkid), the import mechanism (Microsoft's offline conversion import), and conversion goals deduplicate on their own counting settings, as in Google Ads, rather than through a shared event ID. 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 Microsoft × Booked call → closed won
Microsoft Ads closed-won: B2B revenue via offline import
Upload each closed-won deal to a Microsoft Advertising offline conversion goal against the msclkid copied onto the opportunity, using the close date and the deal amount. Check Microsoft's current import window against your median click-to-close time; deals that close after it cannot be matched and belong in CRM reporting only.
Microsoft search often punches above its spend on B2B revenue, because its audience leans toward desktop users at work, and the LinkedIn profile targeting available in Microsoft Advertising lets you narrow by company and job function. That makes closed-won import more useful here than on most second-tier platforms: the deals Microsoft produces are often larger than its lead count suggests.
The import mirrors Google's, but the CRM side usually doesn't. Teams that mapped gclid from Lead to Opportunity long ago rarely added msclkid to the same mapping, so Microsoft-sourced deals reach close with an empty field. Add msclkid to the lead-conversion mapping and backfill it on open opportunities where the lead still holds the value.
Microsoft's automated bidding can use revenue values, but closed-won deals arrive in small numbers on a typical account. Send them with values for reporting and to guide manual budget moves between campaigns, and leave bidding on the booked-call goal unless closed deals reach a steady monthly count. Read the upload's match rate after every batch, since a short run of unmatched rows on a small account can hide a broken mapping for months.
Microsoft · Booked call → closed won · what breaks
Where this funnel usually breaks — Microsoft · 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.
Microsoft · Booked call → closed won · the fix
What working looks like — Microsoft · 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.
Microsoft 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 Microsoft Ads reports, over a fully closed window.
Microsoft · Booked call → closed won · architecture
The exact event sequence — Microsoft · 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.
Microsoft · Booked call → closed won · diagnose
What's specific to Microsoft Ads
- 01
Click identifier: msclkid
Microsoft's click identifier, appended when auto-tagging is enabled. It depends on the UET tag being present on the site — without UET, msclkid arrives in the URL and there's nothing consuming it, which is a common half-configured state on accounts imported from Google.
- 02
Import mechanism: offline conversion import
Uploaded against msclkid, closely mirroring Google's approach. Because so many Microsoft accounts are imported wholesale from Google Ads, people assume full parity — verify the current column format and requirements in Microsoft's documentation rather than reusing your Google template unchanged.
- 03
Deduplication
The same counting question applies: one conversion per click for lead-type goals, every conversion for ecommerce. Accounts imported from Google frequently carry over the goal structure and not the counting review, so it's worth reading every goal rather than assuming the import got it right.
- 04
Window and timing
Check Microsoft's current offline import window and attribution settings directly. They resemble Google's closely enough to be assumed and differ enough to matter.
- 05
The Microsoft gotcha
Almost every Microsoft account we open was imported from Google Ads, and the import copies campaign structure without copying the tracking. The result is a live account spending money with UET missing, msclkid unconsumed, or conversion goals pointing at pages that don't exist on the site any more.
Microsoft · Booked call → closed won · prove
How to prove the chain works — Microsoft · 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 Microsoft Ads, verified by the upload's match rate and Microsoft's conversion goal diagnostics.
- Your crm's closed-won records reconciled against Microsoft Ads per record over a fully closed window.
Microsoft · Booked call → closed won · free audit
What we check in the free audit
- Click identifier: msclkid
- Import mechanism: offline conversion import
- Deduplication
- Window and timing
- The Microsoft gotcha
Checked against
your CRM's closed-won records
Free30 minutesNo obligation
Microsoft · Booked call → closed won · when not to buy
When this doesn't apply to you — Microsoft · 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 your Microsoft account is a straight import you've never separately configured, fix the account structure and UET installation first — offline import on top of an unconfigured account produces data nobody will trust.
- 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.
Microsoft · Booked call → closed won · what we deliver
The implementation, on Microsoft Ads
Capture msclkid on landing
Auto-tagging appends msclkid, and the UET tag has to be present to make use of it. Add msclkid explicitly to your capture list alongside the Google parameters — code written for gclid alone won't pick it up.
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 Microsoft Ads through Microsoft's offline conversion import.
Deduplicate and reverse
Conversion goals deduplicate on their own counting settings, as in google ads, rather than through a shared event id. A closed-won that later gets reversed or refunded should be adjusted, which almost no implementation does.
FAQ
Microsoft · Booked call → closed won questions, answered
Yes, through offline conversion import against msclkid, with the deal value. Check Microsoft's current window and file format before building.
Because the lead-to-opportunity field mapping was built for gclid only. Add msclkid to the same mapping on Lead, Contact and Opportunity.
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.
msclkid inside the import window, a conversion goal name matching one in the account, a timestamp and a value. Confirm current requirements in Microsoft's documentation.
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 msclkid alive through multi-step forms and CRM lead conversion, where unmapped custom fields vanish, which fails silently at every stage.
More on Microsoft · Booked call → closed won
- Google Ads · Booked call → closed wonHow to track booked call to closed won for Google Ads
- 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
RELATED GUIDES
Funnels next to booked call to closed won, and the checks that close it
- Microsoft · Directory listing → enquiryHow to track directory listing to enquiry for Microsoft Ads
- Microsoft · Referral → closed saleHow to track referral to closed sale for Microsoft Ads
- Microsoft × CRM DealsHow to reconcile Microsoft Ads against your CRM's closed-won deals
- Microsoft · Personal injuryMicrosoft Ads conversion tracking for personal injury law firms
- Microsoft · Debt reliefMicrosoft Ads conversion tracking for debt relief and credit repair companies
- monday → Microsoft AdsConnecting monday CRM to Microsoft Ads
- Outreach → Microsoft AdsConnecting Outreach to Microsoft Ads
- Microsoft · Chat → qualified leadHow to track chat conversation to qualified lead for Microsoft Ads
Free · 30 min
Get booked call to closed won tracked properly on Microsoft Ads
Free30 minutesNo obligation
