How to track demo request to opportunity for Microsoft Ads
A demo request is a form fill, and a large share of them are students, competitors and people who will never buy. What separates a good channel from a cheap one is the rate at which requests become qualified opportunities — and that's invisible to bidding unless the qualification outcome is sent back. 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 lead and opportunity records in your CRM — no cookie survives the gap between ad click and qualification sent back.
Free30 minutesNo obligation
Specific to Microsoft × Demo request → opportunity
Microsoft Ads demo-to-opportunity: Bing on corporate machines
On Microsoft Ads, upload the qualified opportunity as an offline conversion against the msclkid stored on the CRM lead when the stage changes, valued by expected deal size, using a dedicated offline goal counted once per click. Keep the demo form goal for reporting so bidding follows qualified pipeline rather than form fills.
Microsoft is often underrated for B2B demos. Many corporate-managed machines default to Edge and Bing, so a meaningful share of work-hours searches for business software happen there, and LinkedIn profile targeting lets you narrow by company, industry or job function on top of keywords. The result is a smaller channel whose requests can qualify at a better rate than Google's; sending opportunities back is how you find out.
Create an offline conversion goal for the qualified opportunity with counting set to one per click, since a second form fill from the same buyer is still one opportunity. Most accounts were imported from Google and carry a demo-form goal pointing at a thank-you page that the current AJAX form never loads. Check every imported goal against the live site before trusting any baseline.
The CRM side needs its own field. If the capture code was written for gclid, msclkid lands in the URL and nowhere else, and the upload has nothing to match. Add msclkid to the capture list and a separate CRM field mapped through lead conversion onto the opportunity, so one CRM workflow can send the same qualified stage to Google and Microsoft with each platform's own identifier.
Microsoft · Demo request → opportunity · what breaks
Where this funnel usually breaks — Microsoft · Demo request → opportunity
- 01
Qualification never defined
So quality disputes between marketing and sales are two opinions with no referee, and nothing can be sent back.
- 02
Requested and attended treated as one
A demo nobody showed up to isn't a signal worth paying for.
- 03
The identifier lost at lead conversion
Same failure as every CRM funnel: the field is on Lead, the Opportunity has nothing, and nothing errors.
Microsoft · Demo request → opportunity · the fix
What working looks like — Microsoft · Demo request → opportunity
Qualification sent back attributed to the click
Weeks later if necessary, because the identifier lives on the lead and opportunity records in your CRM rather than in a cookie.
Microsoft bidding fed the real outcome
Via offline conversion import, so it optimizes toward qualified pipeline rather than toward demo form fills.
A reconciliation that closes
Your crm's qualified opportunity records matched per record against what Microsoft Ads reports, over a fully closed window.
Microsoft · Demo request → opportunity · architecture
The exact event sequence — Microsoft · Demo request → opportunity
The interesting drop-off is between stages two and four, and its size differs enough by channel to reorder your entire budget.
- 1
Ad click
Identifier captured on landing and written to the lead on submission.
- 2
Demo requested
The form event. High volume, low meaning, useful only as learning volume.
- 3
Demo attended
A real filter. A meaningful share of requested demos never happen.
- 4
Qualified as an opportunity
Your sales team's own definition, agreed in writing before anything is measured against it.
- 5
Qualification sent back
Uploaded as the conversion, so bidding chases pipeline rather than form fills.
Microsoft · Demo request → opportunity · 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 · Demo request → opportunity · prove
How to prove the chain works — Microsoft · Demo request → opportunity
Source of truth
your CRM's qualified opportunity records
- The same identifier confirmed on the lead and opportunity records in your CRM after a full real journey through every step.
- Qualification sent back confirmed arriving at Microsoft Ads, verified by the upload's match rate and Microsoft's conversion goal diagnostics.
- Your crm's qualified opportunity records reconciled against Microsoft Ads per record over a fully closed window.
Microsoft · Demo request → opportunity · 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 qualified opportunity records
Free30 minutesNo obligation
Microsoft · Demo request → opportunity · when not to buy
When this doesn't apply to you — Microsoft · Demo request → opportunity
- If your demos are booked and run entirely by a sales team from outbound lists, this funnel isn't measuring your ad spend and there's nothing here worth building.
- 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 qualification sent back regularly exceeds the import window, the final event can't drive bidding whatever you build. Optimize toward demo attended instead and use the later data for budget decisions rather than for bidding.
- If almost none of your CRM records carry a click identifier today, that's the whole project.
Microsoft · Demo request → opportunity · 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 lead and opportunity records in your CRM
Capture on landing, carry through every step of the form, write to the Lead, and map through lead conversion onto the Opportunity.
Send qualification sent back from the record
The upload fires when the CRM stage changes to qualified, referencing the identifier stored on the record. 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. An opportunity disqualified after the fact should be adjusted, particularly where you're uploading at the qualification stage.
FAQ
Microsoft · Demo request → opportunity questions, answered
Often, because many corporate machines default to Edge and Bing and LinkedIn profile targeting narrows by company and role. Upload qualified opportunities to see whether it beats Google on pipeline rather than on cost per form.
One workflow can; the uploads differ. Microsoft matches on msclkid against its own offline goal names, so you need a separate CRM field and a Microsoft-format upload.
Because the request-to-qualified rate is where channels differ most in B2B. Optimizing on requests buys the cheapest forms, and the cheapest forms are usually the least qualified.
It doesn't, as a cookie — the gap is too long. It has to be written onto the lead and opportunity records 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 multi-step demo forms and CRM lead conversion, which fails silently at every stage.
More on Microsoft · Demo request → opportunity
- Google Ads · Demo request → opportunityHow to track demo request to opportunity for Google Ads
- Meta · Demo request → opportunityHow to track demo request to opportunity for Meta Ads
- TikTok · Demo request → opportunityHow to track demo request to opportunity for TikTok Ads
RELATED GUIDES
Funnels next to demo request to opportunity, and the checks that close it
- Microsoft · Franchise enquiry → agreementHow to track franchise enquiry to signed agreement for Microsoft Ads
- Microsoft · Comparison page → demoHow to track comparison page visit to demo request for Microsoft Ads
- Microsoft × CRM DealsHow to reconcile Microsoft Ads against your CRM's closed-won deals
- Microsoft · Medical devicesMicrosoft Ads conversion tracking for medical device companies
- Microsoft · Freight and logisticsMicrosoft Ads conversion tracking for freight and logistics companies
- Copper → Microsoft AdsConnecting Copper to Microsoft Ads
- Keap → Microsoft AdsConnecting Keap to Microsoft Ads
- Microsoft · Trade show lead → dealHow to track trade show lead to closed deal for Microsoft Ads
Free · 30 min
Get demo request to opportunity tracked properly on Microsoft Ads
Free30 minutesNo obligation
