calendar Last updated: 5 November 2026
Microsoft Ads to Claude Windsor.ai connector cover
Bing Ads
Data integration
Data Pipelines
How to's

How to Connect Microsoft Ads to Claude (2 Steps, No Code)

Try It Free

Connect your data in 1 min. Free forever plan

Got insights from this post? Give it a boost by sharing with others!

To connect Microsoft Ads to Claude, authorize your Microsoft Advertising account in Windsor.ai at onboard.windsor.ai/app/bing, then add the Windsor.ai connector from Claude’s directory. Open a new chat and ask about your campaigns.

Microsoft also runs its own Microsoft Advertising MCP server, an open pilot since June 2026. It is free and read-only, and Claude can use it after you register an app in Microsoft Entra ID. The comparison below covers Microsoft’s server, Pipeboard’s server and Windsor.ai, with the setup each one needs.

Most paid search teams review Microsoft Ads less often than Google Ads, even when it earns its budget. With both connected through Windsor.ai, one prompt compares them on the same dates and fields, without a CSV from each ads manager.

2 steps to connect Microsoft Ads to Claude

The setup takes a few minutes and needs no code.

📖 Full walkthrough: windsor.ai/documentation/windsor-mcp/how-to-integrate-data-into-claude/.

Prerequisites

Before you begin, make sure you have:

  • a Windsor.ai account. The free forever plan (no credit card) covers 1 source and the last 30 days. Microsoft Ads next to Google Ads, or a longer period, needs a paid plan from $19 a month for 3 sources (pricing).
  • a Microsoft account with access to the Microsoft Advertising accounts you want to analyze
  • a Claude account on any plan, including Free

Step 1. Connect Microsoft Ads to Windsor

Go to onboard.windsor.ai/app/bing and select Microsoft Ads (Bing) as your data source. Sign in with the Microsoft account that has access to your Advertising account and approve the connection.

Select the accounts you want Claude to read. If you manage several brands or clients, connect each account; Claude can query them one at a time or together in the same chat.

Microsoft Ads data source

Step 2. Add the Windsor.ai connector in Claude

In Claude, open Customize, then Connectors, search for Windsor, and click Add. Sign in to your Windsor.ai account when prompted. You can also open the Windsor.ai listing in the Claude directory and click Connect.

windsor.ai connector claudeClaude asks for permission the first time it uses each Windsor.ai tool. You can set the read tools to Always allow and keep the write actions, such as pausing a campaign, on approval.

connect windsor.ai to claudeCheck the connection with a number you already know:

List my connected Microsoft Ads accounts and show total spend and clicks for the last 30 days.

If the totals match the Microsoft Advertising interface for the same dates, the connection works.

Is there an official Microsoft Ads MCP server for Claude?

Yes. Microsoft announced the Microsoft Advertising MCP server in June 2026 as an open pilot. Its tools reference, updated on 20 October 2026, lists nine read tools: accounts, campaigns, ad groups, ads, keywords, Performance Max asset groups, assets, audience associations and the last 180 days of change history. None of them change anything in the account.

To use it in Claude, you register an app in Microsoft Entra ID with the Azure CLI, add Claude’s callback address to the app, and add the server address as a custom connector with your app’s client ID. The steps are in Microsoft’s MCP setup guide. On Claude’s Free plan this uses the one custom connector Free allows; on Team and Enterprise, an Owner adds it.

Two other routes are common:

  • Pipeboard hosts a Microsoft Ads server that reads and writes. Its tool list includes changing keyword bids, adding keywords and negative keywords, creating responsive search ads and campaigns, bid adjustments by device, age and gender, and deleting ads. You create a Pipeboard account and add the server in Claude as a custom connector. We have not tested it; check Pipeboard’s page for its plans.
  • Windsor.ai is listed in Claude’s directory, so you add it with one click and need no app registration. Microsoft Ads sits next to Google Ads, GA4 and 350+ other sources in the same chat. Through Windsor.ai, Claude can pause or enable campaigns and ad groups and set a campaign’s daily budget. It cannot change keyword bids, keywords, ads or negative keywords; the write actions documentation lists what each connector can change.

Which one to choose

  • Read-only reporting on Microsoft Ads alone, at no cost: Microsoft’s server, which Microsoft hosts, if you or your IT team can register an app in Entra ID. For an account manager who wants answers without a setup project, that registration is the hard part.
  • Keyword, bid and ad edits from the chat: Pipeboard, the only one of the three with those tools.
  • Microsoft Ads next to Google Ads, GA4 or a CRM, without an app registration: Windsor.ai, which also pauses, enables and sets daily budgets.

What Claude found in our own Microsoft Ads account

Dmytro Pieikov, PPC specialist at Windsor.ai, ran our Microsoft Ads account from 2023 to 2025 on Looker Studio, Power BI and competitor keywords. Google Ads sent little traffic on those keywords, so we added Microsoft Ads to get more. The results were never stable, and the account did not collect enough conversions to optimize the campaigns well. After the rise of AI assistants we no longer needed them. One restart gave a similar result. The account holds 207 campaigns, all paused now; 18 of them ran in the last two years.

Those 18 campaigns spent $3,307 for 1,395 clicks and 50 conversions, all of them from one custom goal, Signup (New). We asked Claude through the Windsor.ai connector:

For each Microsoft Ads campaign in the last 2 years, show campaign type, spend, clicks, conversions_qualified, cost per click and cost per conversion. Sort by spend.

A two-year period needs a paid plan; the free forever plan reaches back 30 days.

The answer showed four things we used:

  • Search took almost all of the budget. Search campaigns spent $3,297 of the $3,307. The three Performance Max campaigns spent $9 for 12 clicks and 1 conversion, too little to judge them.
  • The largest campaign raised the average cost. search_topsegments_tier1 spent $1,646 for 623 clicks and 19 conversions: $2.64 per click and $87 per conversion, against $2.37 and $66 for the account.
  • Two Power BI campaigns had very different costs per conversion. dp_search_powerbi_maingeomix spent $251 for 9 conversions ($28 each), search_powerbi_maingeomix $436 for 2 ($218 each).
  • Competitor campaigns cost less per conversion than the account. Three campaigns spent $816 for 15 conversions, $54 each.

Check the search terms before you trust the traffic

Dmytro’s main problem with Microsoft Ads was traffic quality. Search terms with about 10 Google searches a month collected thousands of impressions on Microsoft Ads, and he has seen the same on other accounts. Microsoft Ads volume is small to begin with: in his experience about 3% to 5% of Google Ads on the same keywords, and less outside the US, which makes narrow B2B campaigns hard to optimize.

Our own search term data shows how little of the traffic you can check. We asked Claude for impressions, clicks, spend and conversions by search_query for the same two years:

  • The search term rows add up to 12,077 impressions, 23% of the account’s 52,465. Microsoft Ads did not report the query for the rest.
  • Competitor names took the most impressions: “fivetran” 2,162 impressions, 22 clicks and 1 conversion; “supermetrics” 1,993 impressions, 104 clicks and 8 conversions.
  • 34 of 2,007 search terms produced a conversion.
For the last 90 days, list search_query with impressions, clicks, CTR and conversions_qualified, sorted by impressions. Flag terms with more than 500 impressions and a CTR under 1%, and tell me what share of the account's impressions the search term rows cover.

One field detail: Microsoft marks the conversions column as deprecated since 2022 and says it will return zero. In our account it still returned the same 50 as conversions_qualified. Ask Claude for conversions_qualified so a report does not break when Microsoft switches the old column off.

Changing campaigns from Claude

Windsor.ai has five Microsoft Ads write actions, checked with the connector’s action list on 5 November 2026:

  • pause a campaign
  • enable a campaign
  • pause an ad group (Claude also needs the parent campaign)
  • enable an ad group
  • set a campaign’s daily budget, in the account currency

Claude shows the change it is about to make and runs it only after you approve it in the chat. If the campaign uses a shared budget, Windsor.ai refuses the change and lists every campaign that shares it, until you confirm the change should apply to all of them. Enabling a paused campaign starts delivery at its current budget, so check the budget before you enable one.

We tested the round trip on 5 November 2026. Claude enabled the paused search_topsegments_tier1 campaign through Windsor.ai, and a status check returned Active. Claude then paused it, and the status returned Paused. The campaign recorded no spend or impressions in between.

The metrics that matter for Microsoft Ads

Claude can read the full set of Microsoft Advertising fields through Windsor.ai. These are the ones used in most analysis:

Field What it tells you
spend Media spend for the period, in the account currency.
clicks, impressions, ctr Volume and click-through rate, an early signal of ad and keyword relevance.
cpc Average cost per click.
conversions_qualified Conversions Microsoft Advertising credits to the account. Use it instead of the deprecated conversions column.
cost_per_conversion Cost per conversion (CPA) at campaign, ad group or keyword level.
ad_quality_score A 1 to 10 score of keyword, ad and landing page relevance. Low scores usually mean higher CPCs.
absolute_top_impression_share_percent The share of eligible first-position impressions you won. The _lost_to_budget_percent and _lost_to_rank_percent fields say why you missed the rest.
campaign_type Search, Performance Max, Shopping and the other types, to compare them in one table.
account_name Which account a row belongs to, needed once you connect more than one.

What to ask Claude about your Microsoft Ads data

Quality score audit

Low quality scores raise CPCs. This prompt shows where a fix saves the most.

Show me all keywords with an ad_quality_score of 5 or below, with their campaign, spend and average CPC for the last 30 days. Rank by spend. Which of these would benefit most from a landing page or ad relevance fix?

Top position: budget or rank?

Pull absolute_top_impression_share_percent, absolute_top_impression_share_lost_to_budget_percent and absolute_top_impression_share_lost_to_rank_percent by campaign for the last 30 days. Which campaigns lose top-position impressions to budget, and which to rank?

Campaign-level cost efficiency

For each active campaign, show spend, conversions_qualified and cost_per_conversion for the last 30 days. Which campaigns are furthest above a cost per conversion of [your target], and which have room to scale?

Google Ads and Microsoft Ads side by side

Connect both platforms to Windsor.ai and ask:

Compare spend, clicks, CPC and cost per conversion between my Microsoft Ads and Google Ads accounts for the last 30 days. Which keywords run on both, and where is each one cheaper per conversion?

The comparison only holds when both platforms count the same conversion event. Check the conversion goals and attribution settings first; Microsoft Ads can import Google Ads campaigns, so the keywords often match, but the conversion setup may not.

Analyze Microsoft Ads next to your other sources

Windsor.ai connects Microsoft Ads to 350+ other marketing and business data sources, so you can query them together in the same Claude chat.

Conclusion

Windsor.ai puts Microsoft Advertising data in Claude next to Google Ads and your other sources, and lets Claude pause, enable and set daily budgets after you approve each change. If you need Microsoft Ads reporting alone and can register an Entra ID app, Microsoft’s own server is free; for keyword and bid edits, Pipeboard has the tools.

Start with the test prompt from step 2, then the campaign-level prompt from our account on your own data.

🚀 Connect Microsoft Ads to Claude with Windsor.ai. Start with the free forever plan.


Available actions


Enable Campaign Activate a paused Bing Ads campaign. Provide either campaign_id or campaign_name. Reversible via pause_campaign.

Activate a paused Bing Ads campaign. Provide either campaign_id or campaign_name. Reversible via pause_campaign.

Parameters
campaign_idstringcampaign_namestring
Pause Campaign Pause an active Bing Ads campaign. Provide either campaign_id or campaign_name. Reversible via enable_campaign.

Pause an active Bing Ads campaign. Provide either campaign_id or campaign_name. Reversible via enable_campaign.

Parameters
campaign_idstringcampaign_namestring
Set Campaign Budget Set the daily budget of a Bing Ads campaign. Provide either campaign_id or campaign_name. The amount is in the account currency major unit (e.g. 50.00 means 50.00 USD on a USD account). Bing Ads only supports daily budgets at the campaign level. If the campaign uses a shared budget, the change is rejected unless apply_to_shared_budget is set to true, because it would affect every campaign sharing that budget.

Set the daily budget of a Bing Ads campaign. Provide either campaign_id or campaign_name. The amount is in the account currency major unit (e.g. 50.00 means 50.00 USD on a USD account). Bing Ads only supports daily budgets at the campaign level. If the campaign uses a shared budget, the change is rejected unless apply_to_shared_budget is set to true, because it would affect every campaign sharing that budget.

Parameters
campaign_idstringcampaign_namestringamountnumberRequiredapply_to_shared_budgetboolean
Enable Ad Group Activate a paused Bing Ads ad group. Provide either ad_group_id or ad_group_name, plus the parent campaign as campaign_id or campaign_name. Reversible via pause_ad_group.

Activate a paused Bing Ads ad group. Provide either ad_group_id or ad_group_name, plus the parent campaign as campaign_id or campaign_name. Reversible via pause_ad_group.

Parameters
ad_group_idstringad_group_namestringcampaign_idstringcampaign_namestring
Pause Ad Group Pause an active Bing Ads ad group. Provide either ad_group_id or ad_group_name, plus the parent campaign as campaign_id or campaign_name. Reversible via enable_ad_group.

Pause an active Bing Ads ad group. Provide either ad_group_id or ad_group_name, plus the parent campaign as campaign_id or campaign_name. Reversible via enable_ad_group.

Parameters
ad_group_idstringad_group_namestringcampaign_idstringcampaign_namestring

FAQs

Is there an official Microsoft Ads MCP server for Claude?

Yes. Microsoft announced the Microsoft Advertising MCP server in June 2026 as an open pilot. It is free and read-only, and Claude needs an app registered in Microsoft Entra ID to use it as a custom connector. Windsor.ai is listed in Claude’s directory instead, adds Microsoft Ads with one click and can pause, enable and set daily budgets.

Tired of juggling fragmented data? Get started with Windsor.ai today to create a single source of truth

Let us help you automate data integration and AI-driven insights, so you can focus on what matters, growth strategy.
g logo
fb logo
big query data
youtube logo
power logo
looker logo