Skip to main content
Microsoft · Lead → booked callUse-case guide

How to track lead to booked call for Microsoft Ads

A form submission is not a booked call, and the gap between them varies enormously by channel — which is exactly what bidding can't see when it's only shown submissions. The booking almost always happens on a scheduler you don't own, so the conversion has to come from the booking record rather than a confirmation page. 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 record in your CRM or scheduler — no cookie survives the gap between ad click and attended call sent back.

Free30 minutesNo obligation

Specific to Microsoft × Lead → booked call

Microsoft Ads: import booked calls against the msclkid on the booking

Upload the booked call through Microsoft's offline conversion import against the msclkid stored on the booking record, with the booking time and value, into an offline conversion goal that counts one per click. UET must be live on the landing page for msclkid to be useful. Keep the form fill as a separate goal outside bidding.

Microsoft's search audience skews older, toward desktop and toward working hours, which tends to suit this funnel: people searching for a consultant or a demo during the working day book calls at decent rates. That makes the booking import worth doing even on modest spend, and it is often where Microsoft quietly outperforms its cost per lead.

The common failure is an account imported from Google that kept a form-fill goal as its only conversion and never got an offline goal of its own. Create the offline conversion goal first and allow time before the first upload, because uploads against a brand-new goal can fail; check Microsoft's current guidance on the wait. Then add msclkid to the scheduler prefill alongside gclid, since capture code written for Google rarely includes it.

Microsoft has its own enhanced conversions, matching on hashed email, which covers bookings where the scheduler dropped the parameter. Confirm it is switched on in Microsoft rather than assuming the Google import carried it over. With bookings in the low tens per month, keep automated bidding on the form goal and use the imported bookings to judge campaigns by hand rather than handing bidding a goal it can barely see.

Microsoft · Lead → booked call · what breaks

Where this funnel usually breaks — Microsoft · Lead → booked call

  1. 01

    The scheduler can't read your landing URL

    A hosted calendar page or a popup embed is its own browsing context. The identifier has to be passed in deliberately as a prefill field or link parameter.

  2. 02

    Booked and attended treated as one event

    Which teaches bidding to buy people who book and don't turn up — a real and cheap audience.

  3. 03

    Cancellations never reversed

    The scheduler exposes the event and almost nobody wires it, so reported bookings only ever climb.

Microsoft · Lead → booked call · the fix

What working looks like — Microsoft · Lead → booked call

  • Attended call sent back attributed to the click

    Weeks later if necessary, because the identifier lives on the lead record in your CRM or scheduler rather than in a cookie.

  • Microsoft bidding fed the real outcome

    Via offline conversion import, so it optimizes toward calls that actually happen rather than toward form submissions.

  • A reconciliation that closes

    Your scheduler's booking records, joined to the crm lead matched per record against what Microsoft Ads reports, over a fully closed window.

Microsoft · Lead → booked call · architecture

The exact event sequence — Microsoft · Lead → booked call

The break is almost always between stages two and three, where the visitor crosses to a scheduler that cannot see your site's URL.

  1. 1

    Ad click

    The identifier arrives on your landing URL. Capture it here or it is gone — this is the only moment it exists in the browser.

  2. 2

    Form submission

    Bound to the form's real success state, not a thank-you page. Most modern forms submit over AJAX and never navigate.

  3. 3

    Booking created

    From the scheduler's webhook. The identifier must already be on the record, carried in as a hidden field or link parameter.

  4. 4

    Booking attended

    Booked is not attended. At the volumes most businesses run, no-shows distort the picture enough to matter.

  5. 5

    Attended call sent back

    Uploaded as the conversion, so bidding learns which campaigns produce calls that happen.

Microsoft · Lead → booked call · diagnose

What's specific to Microsoft Ads

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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 · Lead → booked call · prove

How to prove the chain works — Microsoft · Lead → booked call

Source of truth

your scheduler's booking records, joined to the CRM lead

  • The same identifier confirmed on the lead record in your CRM or scheduler after a full real journey through every step.
  • Attended call sent back confirmed arriving at Microsoft Ads, verified by the upload's match rate and Microsoft's conversion goal diagnostics.
  • Your scheduler's booking records, joined to the crm lead reconciled against Microsoft Ads per record over a fully closed window.

Microsoft · Lead → booked call · 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 scheduler's booking records, joined to the CRM lead

Get my free conversion tracking audit

Free30 minutesNo obligation

Microsoft · Lead → booked call · when not to buy

When this doesn't apply to you — Microsoft · Lead → booked call

  • If your calls are booked by a salesperson over the phone rather than by the prospect through a scheduler, there's no booking webhook to wire. That's a call-tracking problem with a different shape.
  • 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 attended call sent back regularly exceeds the import window, the final event can't drive bidding whatever you build. Optimize toward form submission with a qualification flag instead and use the later data for budget decisions rather than for bidding.
  • If almost none of your booking records carry a click identifier today, that's the whole project.

Microsoft · Lead → booked call · 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 record in your CRM or scheduler

    Write it into a hidden field on the form and into the scheduler's prefill, so it lands on the booking record itself rather than living in a cookie that won't survive the domain hop.

  • Send attended call sent back from the record

    The booking webhook fires on creation and again on attendance where your scheduler supports it, each as a distinct event with its own value. 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. Cancellations and reschedules should reverse or move the conversion — the scheduler exposes both and they're routinely ignored.

FAQ

Microsoft · Lead → booked call questions, answered

Not unchanged. Microsoft's import uses msclkid and its own goal names and columns, so build the file from Microsoft's current template.

Free · 30 min

Get lead to booked call tracked properly on Microsoft Ads

Free30 minutesNo obligation