Skip to main content
Microsoft · SaaSMicrosoft × SaaS

Microsoft Ads conversion tracking for SaaS companies

The conversion a SaaS business cares about happens weeks after the click, in a billing system, with no browser attached — which means browser-side tracking cannot see it by construction. What Microsoft Ads adds on top of that is a mechanical requirement: msclkid has to reach the record that holds the money, because Microsoft can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in SaaS companies, and what Microsoft specifically needs to accept it.

Free30 minutesNo obligation

Specific to Microsoft × SaaS

Microsoft Ads for SaaS: desktop buyers, UET on the app domain

For a SaaS company on Microsoft Ads, import the first successful payment as an offline conversion against the msclkid stored on the account at signup, with a valued trial-start goal fired by UET on the signup confirmation. The payment row is sent from the billing system, in a separate upload from your Google file.

Microsoft's search audience skews to desktop, work hours and Windows machines with Edge and Bing as defaults, which is close to how B2B software gets researched. For many B2B SaaS accounts it converts to paid at a better rate than its volume suggests. Where available in your market, LinkedIn profile targeting lets you adjust bids by company or job function on search, so it is worth measuring properly rather than treating it as a Google afterthought.

The common failure is a UET tag that only exists on the marketing site. Signup completes on the app subdomain, the conversion goal points at a thank-you URL that redirected away two redesigns ago, and the account still reports zero trials. Put UET on the signup confirmation step itself, and add msclkid to the hidden fields that already carry gclid so it reaches the account row.

Do not reuse the Google offline file unchanged. The same first-payment rows go to both platforms, but each needs its own click ID column and goal name, and an account with both IDs should go to both. Expect lower volume here, which makes paid conversions even sparser; keep the valued trial goal as the bidding signal until the payment goal has steady monthly numbers.

Microsoft · SaaS · what breaks

Why Microsoft under-reports for SaaS companies

  1. 01

    Bidding optimizing toward trial signups

    Including the ones that will never pay.

  2. 02

    Paid conversions invisible to the platforms

    They happen with no browser present.

  3. 03

    Channels ranked by signup volume

    Which frequently reverses when you rank by revenue.

  4. 04

    Msclkid never reaches the record

    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.

Microsoft · SaaS · the fix

What working looks like — Microsoft · SaaS

  • Paid conversions attributed to the original click

    Weeks later.

  • Trial and paid as separate signals

    Different values, different roles in bidding.

  • Expansion and churn accounted for

    So lifetime value stops being a guess.

Microsoft · SaaS · architecture

How Microsoft and SaaS companies actually connect

  1. 1

    The conversion in SaaS companies

    Signup, activation, trial start, first payment, expansion and churn are six different signals with six different values. Most SaaS setups measure the first and none of the rest.

  2. 2

    Microsoft Ads needs a click to match

    msclkid inside the import window, a conversion goal name matching one in the account, a timestamp and a value.

  3. 3

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

  4. 4

    Where it gets sent from

    your billing system's record of first successful payment.

  5. 5

    Deduplication and window

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

Microsoft · SaaS · events

The conversion map for SaaS companies

Six events across a lifecycle that spans weeks, of which only the first two happen anywhere near a browser.

SignupBrowser-side. Volume for bidding to learn from, not a revenue event.
Activation milestoneServer-side, from your product database. The best early predictor of payment.
Trial startServer-side, with a modelled value rather than the full plan price.
First paymentServer-side, from billing. The conversion that actually matters.
Expansion and churnServer-side. Sent as adjustments so reported value tracks reality.

Microsoft · SaaS · diagnose

Diagnostic order — Microsoft · SaaS

  1. 01

    Count records carrying msclkid

  2. 02

    The click ID never leaves the signup session

    Stored in a cookie instead of on the account, so it's gone by the time payment clears.

  3. 03

    Sales cycles longer than 90 days

    Google's import window won't reach the close. An earlier milestone has to carry the optimization.

  4. 04

    Self-serve and sales-assisted mixed together

    Two different journeys, two different conversion definitions, one reporting mess.

  5. 05

    Read the upload's match rate and Microsoft's conversion goal diagnostics

    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 · SaaS · prove

How it gets proven — Microsoft · SaaS

Source of truth

your billing system's record of first successful payment

  • Click ID present on a live account record after signup.
  • First payment confirmed firing a conversion referencing that click.
  • Trial and paid arriving as distinct events with distinct values.
  • Import match rate read rather than assumed.
  • The upload's match rate and Microsoft's conversion goal diagnostics read directly, not inferred from an upload succeeding.

Microsoft · SaaS · free audit

What we check in the free audit

  • Count records carrying msclkid
  • The click ID never leaves the signup session
  • Sales cycles longer than 90 days
  • Self-serve and sales-assisted mixed together
  • Read the upload's match rate and Microsoft's conversion goal diagnostics

Checked against

your billing system's record of first successful payment

Get my free conversion tracking audit

Free30 minutesNo obligation

Microsoft · SaaS · when not to buy

When you don't need this — Microsoft · SaaS

  • If Microsoft already reports conversions that reconcile against your billing system's record of first successful payment within a few percent, this is working and there is nothing to buy.
  • Measure identifier coverage yourself first — pull your last hundred records and count how many carry msclkid.
  • 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.

Microsoft · SaaS · what we deliver

What gets built — Microsoft · SaaS

  • Click ID captured at signup

    And written permanently to the account record.

  • Billing webhook wired to a server conversion

    First payment, renewal, expansion, cancellation.

  • Per-stage values assigned

    Trial modelled, paid actual.

  • Sales cycle measured against 90 days

    It decides what can be imported at all.

  • Dispatch via Microsoft's 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.

Written guarantee

95%+ tracking accuracy

Measured against your billing system's record of first successful payment. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Microsoft · SaaS questions, answered

Often better than its share of searches suggests, because its audience leans toward desktop and work-time research. Measure it on paid customers before judging it on signup cost.

Free · 30 min

Get Microsoft reporting what SaaS companies actually earn

Free30 minutesNo obligation