# Microsoft Ads Conversion Tracking & Attribution Setup Guide

Connect Microsoft Ads (formerly Bing Ads) to push offline conversions via msclkid. Multi-account support, automatic token refresh, Smart Bidding optimisation.

Source: https://sourceloop.ai/help/connect-microsoft-ads/
Updated: 2026-05-28

---

Connecting Microsoft Ads to SourceLoop closes the offline conversion loop for Bing, Yahoo, and the Microsoft Audience Network. Every time a tracked lead converts on your site (form submission, meeting booked, payment received), SourceLoop pushes that conversion back to Microsoft Ads against the matching msclkid. The bidding strategies train on real revenue, not just whatever the browser pixel saw.

Microsoft Ads is often the under-loved cousin of Google Ads, but it converts well for B2B and tends to have meaningfully lower CPCs. Offline conversion sync magnifies the ROAS difference.

This article covers the OAuth connect flow only. After connecting, see:
- [Configure Microsoft Ads offline conversion sync](/help/configure-microsoft-ads-offline-conversions/)
- [Troubleshoot Microsoft Ads sync issues](/help/troubleshoot-microsoft-ads-sync/)

## Why connect Microsoft Ads to SourceLoop?

Microsoft Ads' Universal Event Tracking (UET) tag fires browser-side, which means it captures maybe 50-60% of conversions cleanly. The Offline Conversions API fills in the rest:

- **Server-side conversion push** via the Microsoft Ads Offline Conversions API, immune to browser-side blocking
- **msclkid matching** for every conversion where the visitor clicked through from a Microsoft ad
- **Revenue values** sent with every conversion when payment integrations are connected
- **Smart Bidding optimisation** trains on real qualified leads / paying customers, not just clicks
- **Multi-touch attribution** within SourceLoop, while feeding Microsoft the offline conversion data it needs for tCPA-style bidding

## Before you start

You'll need:

- A **SourceLoop workspace** with the [tracking pixel installed](/help/install-the-tracking-pixel/)
- A **Microsoft Ads account** with Auto-tagging enabled (so msclkid is added to ad-click landing URLs)
- A Microsoft user with **Standard access** or higher on the ad account
- An existing **Conversion Goal** in Microsoft Ads (you'll get the Goal Name for SourceLoop's config in the next article)
- **Admin** or **Owner** role in SourceLoop

## Step 1: Open the Ad Platforms page

1. Sign in to [SourceLoop](https://app.sourceloop.ai/).
2. Click **Setup** in the left sidebar.
3. Click the **Ad Platforms** tab.
4. Scroll to the **Microsoft Ads** card and click **Connect**.

You'll be redirected to Microsoft's OAuth consent screen on `login.microsoftonline.com`.

## Step 2: Authorise SourceLoop on Microsoft

1. Sign in with the Microsoft user that has Standard+ access on your Microsoft Ads account.
2. Pick the right work or personal account if you're prompted (Microsoft accounts can have multiple identities).
3. Review the requested scopes (msads.manage and offline_access).
4. Click **Yes / Accept**.

Microsoft redirects you back to SourceLoop with an authorisation code, which SourceLoop exchanges for an access token + refresh token. Tokens are stored encrypted.

## Step 3: Pick the Microsoft Ads account

If your Microsoft user has access to more than one Microsoft Ads account (common for agencies and Manager accounts), SourceLoop shows a picker.

1. Find the Microsoft Ads account you want to connect.
2. Click **Connect this account**.

SourceLoop creates a connection for that specific account. The Microsoft Ads card flips to **Connected** with the account name and Account ID.

> **To connect another account, repeat the flow**
> Each Microsoft Ads account is its own connection. To connect multiple accounts (e.g., one per brand or region), run the Connect Microsoft Ads flow once per account.

## Step 4: Confirm Auto-tagging is enabled

Microsoft Ads' Auto-tagging adds the msclkid parameter to every ad-click landing URL. Without it, your SourceLoop tracker has nothing to capture, and offline conversions can't be matched back to clicks.

1. Open [Microsoft Ads](https://ads.microsoft.com/).
2. Go to **Settings -> Account settings -> Account preferences**.
3. Confirm **Auto-tagging of UTM** is enabled (or at minimum **Auto-tagging of msclkid**).
4. Save if you had to enable it.

Once on, every new ad click adds `?msclkid=...` to the landing URL. SourceLoop's tracker captures that the first time the visitor lands. Existing visitors without msclkid in their session can't be retroactively tagged, you'll start seeing conversions push 1-2 weeks after enabling, as Auto-tagged sessions accumulate.

## What gets synced

Once connected and configured, SourceLoop runs two flows automatically:

**PULL (Insights sync, daily at 05:00 UTC):**
- Campaign, ad group, and ad hierarchy
- Daily spend, impressions, clicks per campaign / ad group / ad
- 14-day rolling re-sync to catch Microsoft's late attribution

**PUSH (Offline Conversions API, every 2 minutes):**
- Every SourceLoop conversion where the visitor's session carries an `msclkid` cookie
- Conversion value (currency) and currency code when configured
- Conversion Name and Conversion Time for matching to your Microsoft Ads Conversion Goal

## What's next

- **Pick which SourceLoop events get pushed to which Microsoft Ads Conversion Goal:** [Configure Microsoft Ads offline conversion sync](/help/configure-microsoft-ads-offline-conversions/).
- **Troubleshoot** any push errors: [Troubleshoot Microsoft Ads sync issues](/help/troubleshoot-microsoft-ads-sync/).
- **Disconnect or reset** the integration: [Disconnect Microsoft Ads from SourceLoop](/help/disconnect-microsoft-ads-from-sourceloop/).

## Frequently Asked Questions

### Is this Microsoft Ads or Bing Ads?

Same thing. Microsoft renamed Bing Ads to Microsoft Advertising in 2019, but plenty of marketers still call it Bing Ads. The underlying account and APIs are the same. Microsoft Ads also covers ads on Yahoo, AOL, MSN, Outlook.com, and the Microsoft Audience Network.

### Do I need a Microsoft Ads Developer Token?

No. SourceLoop holds the Developer Token on our side, so you don't need to apply for one yourself. You just authorise the OAuth flow and we handle the rest.

### What does Microsoft use to match offline conversions to clicks?

msclkid (Microsoft Click ID), and only msclkid. Unlike Google Ads or Meta, Microsoft Ads doesn't support PII fallback for offline conversions, no hashed email, no hashed phone. If a visitor's session doesn't have an msclkid cookie, the conversion can't be pushed.

### What scopes does SourceLoop request from Microsoft?

The required scopes are msads.manage (read/write to the Microsoft Ads API) and offline_access (so SourceLoop can refresh tokens automatically). We don't ask for any non-advertising data.

### How long does the Microsoft Ads access token last?

1 hour. SourceLoop stores the refresh token and rotates the access token automatically as needed, you won't need to reconnect unless the refresh token itself gets revoked.

### Can I connect a Microsoft Ads Manager (agency) account?

Yes, but you connect each sub-account individually. The Manager account itself can't run offline conversions, only the individual ad accounts under it can. After OAuth, SourceLoop shows the list of accounts accessible to your user and you pick one per connection.

### Does this work for the Microsoft Audience Network?

Yes. Microsoft Audience Network conversions report through the same offline conversion endpoint, scoped to your Microsoft Ads account. If your campaigns target the Audience Network, conversions push the same way as Search.
