MDM Intelligence Microsoft Ads
All clients
Reset
PPC Intelligence

Microsoft Ads

Connect Microsoft Ads, sync account inventory, and make the data available for client PPC audits and reporting.

PPC Audits
API Status
Configured

Customer + Reporting API

Required Credentials
4/4

Missing: none

OAuth Client
Set

Client ID + secret

Refresh Token
Set

Needed for cron syncs

Synced Accounts
4

Ready for client mapping

Optional IDs
0/2

Missing: customer_id, account_id

What Needs Attention

Work these in order before expecting Microsoft Ads audits or client reports to be complete.

Open PPC Audits

Map Microsoft Ads accounts to clients

Mapping

Attach synced Microsoft Ads account IDs from each client's workspace so PPC audits and reporting can use the data.

4 synced account(s)

Sync Actions

Run inventory first, then sync recent performance after accounts are available.

Ready

These buttons queue background workers. Refresh this page after the worker finishes to see new inventory rows.

Run OAuth
PPC Audits

Setup Checklist

Complete these steps before mapping Microsoft Ads accounts to clients.

4/4 required ready
  1. 1 Set Azure app client ID and client secret
  2. 2 Add Microsoft Ads developer token
  3. 3 Run OAuth and save the refresh token
  4. 4 Sync account inventory
  5. 5 Map accounts to clients
  6. 6 Sync recent performance
CredentialStatusRole
Client ID Set Required
Client Secret Set Required
Developer Token Set Required
Refresh Token Set Required
Default Customer ID Missing Optional fallback
Default Account ID Missing Optional fallback

Microsoft Credential Renewal Reminders

Microsoft Ads Azure client secret renewal date saved

Microsoft Azure credential expires in 721 days on 2028-06-05. Update MICROSOFT_ADS_CLIENT_SECRET_EXPIRES_AT after rotating it.

Open Azure app registrations Open Microsoft Ads setup
Microsoft Ads refresh token renewal date not set

MICROSOFT_ADS_REFRESH_TOKEN_EXPIRES_AT is not set. Add a YYYY-MM-DD value in Render so the app can warn before this credential needs rotation.

Open Azure app registrations Open Microsoft Ads setup

Synced Accounts

Attach these account IDs from each client's setup/platform area using platform microsoft_ads.

4 account row(s)
AccountCustomer IDAccount IDStatus
Summit Roofing Bing ms_customer_9001 ms_demo_2001 Active
Canyon HVAC Search ms_customer_9004 ms_demo_2004 Active
Prairie Plumbing Search ms_customer_9007 ms_demo_2007 Active
Northstar Outdoor Search ms_customer_9010 ms_demo_2010 Paused
Advanced / Diagnostics Redirect URI, API endpoints, cron commands, and official docs
Runtime Details

Redirect URI: https://command.mdmppc.com/auth/microsoft-ads/callback
Scope: offline_access https://ads.microsoft.com/msads.manage
Customer API: https://clientcenter.api.bingads.microsoft.com
Reporting API: https://reporting.api.bingads.microsoft.com

Cron Commands
  • python scripts/run_daily_microsoft_ads_inventory_sync.py
  • python scripts/run_daily_microsoft_ads_sync.py
Data Destination

Synced performance rows are stored in microsoft_ads_campaign_daily.