Microsoft Advertising Call Tracking: Attributing Phone Calls From Bing Ads
Most businesses running paid search treat Microsoft Advertising as a lower-priority clone of Google Ads: same keywords, smaller budget, less attention. That is a defensible allocation of effort. What is not defensible is copying your Google tracking setup across and assuming it works — because it does not, and the usual result is a channel that appears to produce no phone calls at all.
Microsoft Advertising has native call measurement for calls placed directly from ads, and supports importing offline conversions against its click identifier, the MSCLKID. What it does not do is track calls that happen after a click-through to your website, or tell you anything about call quality. Those gaps are where third-party call tracking comes in — and they are precisely where most of the volume actually sits.
The channel, briefly
Microsoft Advertising serves ads across the Microsoft Search Network, which includes Bing, Yahoo, DuckDuckGo and AOL search, along with the Microsoft Audience Network for native placements. It also syndicates through partner properties.
The strategic case for call-driven businesses is competition, not reach: because fewer advertisers manage Microsoft campaigns as attentively as their Google campaigns, auction pressure is often lower, which frequently translates into a lower cost per click and cost per acquisition for the same keywords. Whether that holds in your category is an empirical question — and one you cannot answer until Microsoft-driven calls are separated out and measured, which brings us to the actual problem.
The failure mode: Microsoft traffic falls through to your default number
Here is what happens in the overwhelming majority of accounts.
A business sets up dynamic number insertion for Google Ads. The DNI rule says: if the visitor arrived with Google Ads parameters, show the Google Ads tracking number. Everything else falls through to the site's default number, which is usually treated as organic or direct.
Then Microsoft Advertising traffic arrives. It does not carry Google's parameters. It falls through. Every call from a Bing click gets counted as organic or direct.
The consequences are worse than "Microsoft looks like zero," because the error is doubled:
- Microsoft Advertising appears to produce no calls, so it looks like a failing channel and gets defunded.
- Organic or direct appears inflated, absorbing calls it did not earn, so it looks better than it is.
You now have two wrong numbers pointing in opposite directions, and a budget decision built on both. The fix is trivial once you know to look — configure DNI to recognise Microsoft's traffic parameters and assign it a distinct number or pool — but nobody looks, because nothing is visibly broken.
The underlying concepts are the same as anywhere else; see dynamic number insertion and source-level vs session-level call tracking.
What Microsoft Advertising measures natively
Call extensions and call ads
You can attach a phone number to your ads so searchers can call directly from the results page, and in supported markets Microsoft Advertising can supply a call forwarding number — a Microsoft-provided number that routes to your real line — so calls placed from the ad can be counted as conversions.
This works well for the calls it covers, and it costs nothing extra. Its limits:
- It covers calls from the ad, not calls from your website after a click-through. For most service businesses the website path carries more volume, because people click, read, build confidence, and then call.
- Forwarding number availability varies by market. Confirm support in your country rather than assuming.
- There is no recording, no transcript, and no quality signal. You learn a call happened and roughly how long it lasted. You do not learn whether it was a real prospect, a wrong number, or a robocall.
- Calls from other channels are outside its scope entirely, so it cannot support a like-for-like comparison across your marketing mix.
The UET tag and the MSCLKID
The Universal Event Tracking (UET) tag is Microsoft's site tag — the counterpart to the Google tag. It powers conversion tracking, remarketing audiences, and automated bidding.
The critical setting for call measurement is auto-tagging, which appends the MSCLKID (Microsoft Click ID) to your landing page URLs. That identifier is the link between a specific ad click and everything that happens afterwards, including a phone call that arrives an hour or a week later.
If auto-tagging is off, offline conversion import is not available to you. This is the highest-priority configuration check in the entire setup, and it is frequently missed because nothing appears broken without it.
Offline conversion import
Microsoft Advertising supports offline conversion import: uploading conversions that occurred away from your website, matched to the originating click via the MSCLKID.
This is the mechanism that matters most, because it is what turns call data from a report into a control input. Instead of telling Microsoft "a call happened," you tell it "this specific click produced a qualified call worth $X" — and automated bidding starts pursuing the traffic that produces those, rather than the traffic that produces the most calls of any kind.
The requirements:
- UET tag installed with auto-tagging enabled.
- An offline conversion goal configured in the Microsoft Advertising account.
- Your call platform capturing and storing the MSCLKID against each call record.
- A process that uploads qualified calls, with values where you have them, on a regular cadence.
The equivalent Google mechanism, and the general reasoning for why value-based import beats count-based, is covered in offline conversion import: getting call revenue into Google Ads.
Where third-party call tracking fills the gaps
Native tools handle ad-clicks-to-call. A dedicated platform handles the rest.
Website calls after the click. DNI assigns a tracking number to Microsoft-sourced visitors so the call that happens three minutes after landing is attributed correctly, rather than falling through to your default number.
Cross-channel comparison on one basis. Google, Microsoft, LSA, Google Business Profile, organic, and offline all measured with the same definitions, so a comparison actually means something.
Call quality, not just call count. Recording, transcription, lead scoring, spam filtering and intent detection are what let you compute qualified calls per channel instead of raw calls. That distinction changes conclusions — see call conversion rate and spam call filtering.
Keyword-level attribution. With a large enough number pool, calls tie back to the specific search term rather than just the campaign. See keyword-level call tracking for when this is worth the number count.
Persistent attribution across a long window. Someone clicks a Bing ad on Tuesday, thinks about it, and calls on Friday. Session-scoped measurement misses that call; a platform storing the MSCLKID against the visitor does not.
The revenue loop. Once a qualified call becomes a customer, that outcome goes back into Microsoft Advertising as a valued conversion. This is where the whole exercise pays for itself.
Setting it up
Step 1 — Turn on UET auto-tagging. Verify it by clicking one of your own ads and confirming an msclkid parameter appears in the landing page URL. Do this before anything else; everything downstream depends on it.
Step 2 — Add a distinct number or pool for Microsoft paid traffic. In your call tracking platform, create a DNI rule that recognises Microsoft-sourced visitors — by the presence of the MSCLKID and by your UTM conventions — and serves them a dedicated number. This single step usually reveals that the channel was producing calls all along.
Step 3 — Store the MSCLKID against the call record. Attribution depends on the identifier surviving from the click to the call. Confirm your platform captures and retains it, and that it persists across the session rather than only on the landing page.
Step 4 — Configure the offline conversion goal in Microsoft Advertising, and decide what counts. Resist the temptation to count every call: define the conversion as a qualified call, and attach a value where you can. A campaign optimised on raw call count reliably drifts toward cheap, low-intent traffic.
Step 5 — Keep the native call extension too. Ad-click calls and website calls are different populations. Measure both; just make sure you know which report contains which so you do not double-count.
Step 6 — Wait, then compare on cost per qualified call. Not cost per click and not call volume. Give it a month of data before drawing conclusions, and be cautious below roughly 30 calls in the period — small samples are the leading cause of confident, wrong channel decisions.
Reading the results honestly
Two traps when the data arrives.
Do not judge Microsoft on volume. It will produce less than Google. That is expected and irrelevant. The question is cost per qualified call and cost per sale. A channel at a tenth of the volume with a materially better cost per booked job deserves more budget, not less.
Do not compare a well-managed Google account with a neglected Microsoft one. If your Microsoft campaigns are an unattended import from 2024 with stale negatives and no bid management, poor results measure your attention, not the channel. Either manage it properly for a month or acknowledge the comparison is unfair.
The general framework for cost-per-call comparisons and its pitfalls is in cost per call as a marketing metric, and the wider vendor evaluation in how to choose call tracking software.
The short version
Microsoft Advertising handles calls made directly from your ads and supports importing offline conversions against the MSCLKID. It does not handle website calls after a click, and it says nothing about call quality.
The one configuration that matters most is UET auto-tagging, because without the MSCLKID you cannot close the loop. The one mistake that matters most is letting Microsoft traffic fall through to your default number, because it makes a working channel look dead while inflating another.
Fix those two things and you will be measuring a channel most of your competitors are guessing about.
Want Microsoft Advertising measured alongside your other channels on the same basis? Compare plans, see how call tracking handles multi-channel attribution, or get in touch.
Frequently Asked Questions
Does Microsoft Advertising have built-in call tracking?
Yes, partially. Microsoft Advertising supports call extensions and call ads, and in supported markets it can provide Microsoft call forwarding numbers that let it count calls placed from your ads as conversions. That covers calls made directly from the ad in the search results. What it does not cover is a caller who clicks through to your website and then dials the number on the page, and it does not record or transcribe calls or tell you whether a call was a qualified lead. For website calls and call quality you need a third-party call tracking platform.
What is the MSCLKID and why does it matter for call tracking?
The MSCLKID is Microsoft's click identifier, appended to your landing page URL when auto-tagging is enabled on your Universal Event Tracking tag. It is the key that links a specific ad click to whatever happens afterwards, including a phone call that closes days later. Without it you can attribute a call to Microsoft Advertising as a channel but cannot import a conversion back against the specific click that produced it, which is what actually improves campaign optimisation. Enabling auto-tagging is the single most important prerequisite for serious Microsoft Advertising call measurement.
Can I import phone call conversions into Microsoft Advertising?
Yes. Microsoft Advertising supports offline conversion import, which lets you upload conversions that happened away from your website — including phone calls that were qualified or that resulted in revenue — matched back to the originating click via the MSCLKID. This is the mechanism that lets automated bidding optimise toward calls that convert rather than raw call counts. It requires the UET tag with auto-tagging enabled, capture and storage of the MSCLKID alongside the call record, and an offline conversion goal configured in the account.
Do I need separate tracking numbers for Microsoft Advertising and Google Ads?
Yes, if you want to compare them, and this is the most common setup mistake. Businesses frequently deploy dynamic number insertion for Google Ads and leave Microsoft traffic falling through to the site's default number, which makes every Bing-driven call look like organic or direct traffic. The result is that Microsoft Advertising appears to produce almost nothing while quietly subsidising other channels' apparent performance. Configure your DNI rules so paid traffic from Microsoft gets its own number or pool.
Is Microsoft Advertising worth tracking calls from if it is smaller than Google?
Volume is the wrong test. What matters is cost per qualified call and cost per sale, and lower competition on Microsoft Advertising frequently produces a lower cost per click and cost per acquisition than the equivalent Google campaign. A channel with a tenth of the volume but a substantially better cost per booked job deserves more budget, not less. You cannot make that comparison at all until Microsoft-driven calls are separated from your other traffic, which is exactly why the channel is so often misjudged.
How is Microsoft Advertising call tracking different from Google Ads call tracking?
The concepts map closely but the implementation details differ enough to break a copied setup. Both platforms offer call extensions with platform-provided forwarding numbers and both support importing offline conversions against a click identifier — GCLID on Google, MSCLKID on Microsoft. The differences are in availability of forwarding numbers by market, the tagging mechanism, the reporting interface, and import specifics such as accepted time formats and attribution windows. Treat them as two similar implementations of the same idea, not as one configuration that transfers.