Marketing data · 20 min · reviewed 2026-09-06

How do I connect Microsoft Ads (Bing Ads) to a CRM?

Register an app in Microsoft Entra, get a refresh token with the msads.manage scope, request a developer token in Microsoft Advertising, and note the customer id and account id. One JSON bundle goes under Settings → Other keys → Microsoft Ads.

What you will need

  • Admin on the Microsoft Advertising account.
  • A Microsoft account to register the app (https://portal.azure.com).

Steps

  1. 1

    Step 1

    In Azure: Entra ID → App registrations → New registration. Any name; account type *Personal and work accounts*; redirect URI https://login.microsoftonline.com/common/oauth2/nativeclient. Copy the Application (client) id; create a client secret under Certificates & secrets.

  2. 2

    Step 2

    In Microsoft Advertising: Tools → Developer token → Request. Copy it once granted.

  3. 3

    Step 3

    Get a refresh token: open in a browser https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=<id>&response_type=code&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient&scope=https://ads.microsoft.com/msads.manage offline_access, sign in, copy the code from the address bar, and exchange it for tokens with any HTTP client at https://login.microsoftonline.com/common/oauth2/v2.0/token.

  4. 4

    Step 4

    Find Customer id and Account id under Settings → Accounts in Microsoft Advertising.

  5. 5

    Step 5

    Build the bundle: {"client_id": "…", "client_secret": "…", "refresh_token": "…", "developer_token": "…", "customer_id": "…", "account_id": "…"}

  6. 6

    Step 6

    Settings → Other keys → Microsoft Ads → Set key. Paste. Save. Test.

Common errors

**auth ok
bundle lacks developer_token/customer_id/account_id**: the token works but reporting fields are missing. Add them.
invalid_grant
the refresh token was issued without offline_access. Repeat step 3.

How you know it worked

Test connection returns yesterday's spend and clicks.

Where this goes in SalesCrew

Settings → Other keys → Microsoft Ads → Test connection. In your own workspace the same how-to opens beside the field, with your callback URLs filled in.