Back to blog
Article

Microsoft Ads Connectors: How to Connect Bing Ads Data in 2026

December 8, 2025
21 min read
By InsightfulPipe
On this page
Microsoft Ads Connectors: How to Connect Bing Ads Data in 2026

InsightfulPipe publishes this guide, and its steps use InsightfulPipe's hosted Microsoft Ads, BigQuery and Google Sheets servers. Other routes, from Supermetrics to Microsoft's own read-only MCP server, are covered near the end.

Last updated: 2026-10-02

A Microsoft Ads connector, which many people still call a Bing Ads connector, moves campaign data out of Microsoft Advertising and into the tools you report in. With InsightfulPipe, Claude reads and changes Microsoft Ads live through https://microsoft-ads.insightfulmcp.com/. Claude, or the insightfulpipe CLI on a schedule, then writes the stats into BigQuery or a Google Sheet, and Looker Studio (now Data Studio) reads that table. Plans start from $29.99 a month.

The quick version

Six steps take Microsoft Ads stats from Microsoft Advertising to a Data Studio report, with Claude doing the work in between.

  1. In InsightfulPipe, open Connected accounts, click Connect account and connect Microsoft Ads.
  2. In Claude, add https://microsoft-ads.insightfulmcp.com/ as a custom connector and click Connect.
  3. Connect BigQuery in InsightfulPipe with a service account key, at Read & write.
  4. Add https://bigquery.insightfulmcp.com/ to Claude the same way.
  5. Ask Claude to run yesterday's campaign report and insert it into a BigQuery table.
  6. In Data Studio, add that table as a BigQuery data source.

Microsoft Ads connector routes at a glance

InsightfulPipe is the one route on this page that lets Claude build and change Microsoft Ads campaigns and fills both BigQuery and Google Sheets on one plan, from $29.99 a month. The Microsoft Ads MCP server page lists all 90 actions.

Route

Claude in Microsoft Ads

BigQuery

Data Studio

Starts at

InsightfulPipe

Reads and changes through 90 actions, each a switch

Claude or the CLI inserts rows

Reads the table or sheet InsightfulPipe fills

$29.99/month

Microsoft's MCP server

Reads only, 7 tools

None

None

Free to connect

Supermetrics

Creates and updates campaigns, in early access

Enterprise plan

Connector

€49/month

Windsor.ai

5 writes: pause, enable, budget

Scheduled

Connector

Free for 1 source, then $23/month

Markifact

Reads and changes; over MCP, approval is your AI client's setting

Its BigQuery MCP

Not on its pages

$79/month

Funnel

Its MCP reads Funnel's own data

Business plan

Destination

$300/month, billed annually

Fivetran

Its MCP manages Fivetran itself

Every 6 hours by default

Not on its pages

$0 up to 500,000 monthly active rows

Bar chart of InsightfulPipe actions per server: Microsoft Ads 34 read and 56 write, Google Sheets 3 read and 23 write, and BigQuery 4 read and 1 write.

Watch: How to audit Microsoft Ads with Claude AI through InsightfulPipe, 2 minutes 58 seconds

The video may show an earlier setup. Follow the steps in this guide for the current route.

What you are connecting

You connect Claude to InsightfulPipe's hosted servers, and each one reaches only the accounts you authorized.

  • Claude → InsightfulPipe Microsoft Ads server → your Microsoft Advertising accounts
  • Claude or the CLI → InsightfulPipe BigQuery server → your Google Cloud project
  • Data Studio → Google's BigQuery connector → the same table

Claude never receives your Microsoft password. InsightfulPipe runs each Microsoft Advertising API call with the access you approved. For BigQuery, it uses a service account key you upload, and the key's IAM roles decide what SQL can do.

InsightfulPipe has no Data Studio connector, and this route does not need one: Google's own BigQuery and Sheets connectors read what InsightfulPipe writes. You need no Microsoft Advertising developer token, no Azure app registration, no server to host and no API version to track.

Before you start

You need five things: Microsoft Advertising access, an InsightfulPipe workspace, the right role, a Google Cloud project and Claude.

  • A Microsoft Advertising login that can open the accounts you report on.
  • An InsightfulPipe workspace. Plans start from $29.99 a month and include the Microsoft Ads, BigQuery and Google Sheets servers. Each ad account, Cloud project or spreadsheet counts as one connection. Start a trial on any plan.
  • A role that can connect and write: Owner, Administrator or Operator. Members with the User role cannot.
  • A Google Cloud project with BigQuery, plus permission to create a service account and a key.
  • Claude with custom connectors. Every Claude plan can add them, and Claude Free allows one, per Anthropic's help article.

Microsoft Advertising's own permissions still apply. InsightfulPipe cannot give Claude more access than the Microsoft login you connect.

Step 1: Connect Microsoft Ads in InsightfulPipe

Connecting takes a Microsoft sign-in and a choice of accounts, and you pick the access level before you sign in.

  1. In the InsightfulPipe app, open Connected accounts and click Connect account.
  2. Search for Microsoft and click Connect on the Microsoft Ads card.
  3. Under Access level, choose Read-only or Read & write.
  4. Click Continue with Microsoft Ads and sign in with your Microsoft Advertising login.
  5. Select the accounts and click Connect 1 account, or the count you picked.

InsightfulPipe lists the accounts under every customer your Microsoft user can open, and each account you pick becomes its own connection. At Read & write, every read and write starts on, and the three deletes start off on a Destructive tab of their own.

InsightfulPipe's Microsoft Ads setup, step 2 of 3, before any Microsoft sign-in: Read & write selected, all 34 reads and 53 writes on, and the three delete actions off on the Destructive tab.

Step 2: Add the Microsoft Ads connector to Claude

Claude takes one URL and a sign-in, on claude.ai or in Claude Desktop.

  1. Copy the server URL: https://microsoft-ads.insightfulmcp.com/
  2. In Claude, open Customize > Connectors, click + Add, then Add custom connector.
  3. Name it, paste the URL and click Continue.
  4. Keep the sign-in settings Claude detects, click Continue again, then Add.
  5. Click Connect, and sign in to InsightfulPipe if asked.
  6. In a new chat, open + > Connectors and switch Microsoft Ads on.
Claude's Add custom connector dialog with the name Microsoft Ads and https://microsoft-ads.insightfulmcp.com/ filled in, ready for Continue.

In Claude Code, run claude mcp add --transport http microsoft-ads-mcp https://microsoft-ads.insightfulmcp.com/. ChatGPT, Cursor, Gemini CLI and Codex take the same URL, with steps on the server page's setup tabs.

On Claude Free, add the single InsightfulPipe server at https://main.insightfulmcp.com/ instead, so one connector reaches Microsoft Ads, BigQuery and Google Sheets.

Step 3: Connect BigQuery in InsightfulPipe

BigQuery connects with a Google Cloud service account key, and the key's IAM roles decide which SQL succeeds.

  1. In Google Cloud Console, open IAM & Admin > Service Accounts and create a service account.
  2. Grant it BigQuery Data Editor, plus BigQuery Job User or BigQuery User, so it can create tables and insert rows.
  3. Open the account's Keys tab and create a JSON key.
  4. In InsightfulPipe, open Connected accounts, click Connect account and choose BigQuery.
  5. At Access level, pick Read & write and click Continue.
  6. Under Service Account JSON Key, choose Upload or Paste, then click Connect BigQuery.

InsightfulPipe checks the key with Google before it saves the connection. Create a dataset such as microsoft_ads in the BigQuery console, then add https://bigquery.insightfulmcp.com/ to Claude as in Step 2. The BigQuery MCP server page lists its five actions.

InsightfulPipe's BigQuery connection step: upload or paste a service account JSON key, stored encrypted and never shared with agents, with Google's role guide naming BigQuery Data Editor and BigQuery User for read and write.

Step 4: Write Microsoft Ads stats into BigQuery with Claude

Claude submits the report with submit_campaign_performance_report, collects it with poll_report_status once Microsoft has built it, and writes the rows with run_query. One prompt fills the table.

Use Microsoft Ads account [ACCOUNT_ID] and BigQuery project [PROJECT_ID].

1. Create [PROJECT_ID].microsoft_ads.campaign_daily if it does not exist, with date,
   campaign_id, campaign_name, impressions, clicks, spend and conversions.
2. Run a Daily campaign performance report from [START_DATE] to [END_DATE] and poll it.
3. Insert one row per campaign per day. Show me the SQL before you run it.

A single SELECT counts as a read. An INSERT, a CREATE TABLE or several statements in one request count as writes, which only owners, admins and operators can run.

Ask for Daily aggregation, or the report returns one summary row per campaign. Spend arrives as a plain decimal, ready to insert. To approve every call yourself, set the connector's tools to Needs approval under Customize > Connectors in Claude.

Step 5: Schedule the load with the insightfulpipe CLI

Claude writes when you ask. For a nightly load, cron, GitHub Actions or Cloud Scheduler runs the same calls through the insightfulpipe CLI, under the same action switches as Claude.

  1. Install the CLI with npm install -g insightfulpipe.
  2. In InsightfulPipe, open Settings > API Keys and create a key that starts with ip_sk_.
  3. Store the key as INSIGHTFULPIPE_TOKEN in the job's secrets.
  4. Run insightfulpipe accounts --platform microsoft-ads once to get your IDs.
insightfulpipe query microsoft-ads -b '{"action":"submit_campaign_performance_report","workspace_id":"<WORKSPACE_ID>","brand_id":"<BRAND_ID>","account_id":"<ACCOUNT_ID>","columns":["TimePeriod","CampaignId","CampaignName","Impressions","Clicks","Spend","Conversions"],"aggregation":"Daily","time":{"PredefinedTime":"Yesterday"}}'

insightfulpipe query microsoft-ads -b '{"action":"poll_report_status","workspace_id":"<WORKSPACE_ID>","brand_id":"<BRAND_ID>","account_id":"<ACCOUNT_ID>","report_request_id":"<REPORT_REQUEST_ID>"}'

insightfulpipe action bigquery -b '{"action":"run_query","workspace_id":"<WORKSPACE_ID>","brand_id":"<BRAND_ID>","gcp_project_id":"<PROJECT_ID>","query":"INSERT INTO `<PROJECT_ID>.microsoft_ads.campaign_daily` (date, campaign_id, campaign_name, impressions, clicks, spend, conversions) VALUES (...)"}' --yes

Your script polls until report_status reads Success, then turns data_csv into the VALUES list. Writes go through action, not query, and --yes skips the confirmation prompt. The CLI documentation lists every command.

The Agentic CLI page in InsightfulPipe: install with npm, create an API key that starts with ip_sk_, then run insightfulpipe auth and insightfulpipe doctor.

Step 6: Connect Data Studio to the BigQuery table

Data Studio reads the table through Google's own BigQuery connector, and InsightfulPipe has no Data Studio connector of its own. Google has restored the Data Studio name, so the menus and docs use it.

  1. In Data Studio, click Create, then Report.
  2. In Add data to report, choose the BigQuery connector.
  3. Pick MY PROJECTS, then your project, the microsoft_ads dataset and the campaign_daily table.
  4. Click Add.

Google uses the project you pick for both billing and data access, per its connector docs.

No BigQuery? Use a Google Sheet as the source

A Google Sheet works as the Data Studio source too, and Claude fills it with update_cells or batch_update_cells.

  1. In Google Sheets, create the spreadsheet and a tab for Microsoft Ads stats.
  2. In InsightfulPipe, connect Google Sheets at Read & write, click Pick from Google Drive and choose the file.
  3. Add https://google-sheets.insightfulmcp.com/ to Claude and ask it to write last week's stats into the tab.
  4. In Data Studio, click Create, then Data Source, choose Google Sheets, pick the spreadsheet and worksheet, and click CONNECT.

update_cells overwrites the range you name, so point Claude at a fresh tab or empty rows. Data Studio rereads the sheet each time a report queries it. The Google Sheets MCP server page lists its 26 actions.

Verify it worked

Three checks, shortest first, show that each hop works before you build anything.

Microsoft Ads answers. Paste this into a new chat. It reads account details and changes nothing.

List the Microsoft Ads accounts available to this connection.
Return the account name, account ID, currency and status.
Do not run a report and do not change anything.

BigQuery answers. Ask Claude to list the datasets in your project. It runs list_datasets, which only reads.

The numbers match. Compare one day's spend in the table with the Microsoft Advertising interface for that day.

Prompts to run first

Start with reads, then let Claude write to BigQuery once the numbers match.

Prompt

What Claude does

"Which search terms cost more than $30 last month without a conversion?"

Runs the search query report

"Which keywords have a quality score below 5?"

Runs the keyword performance report

"Add these 15 negative keywords to the Generic campaign"

Runs add_negative_keywords_to_entities

With the Google Ads server connected too, one prompt compares both search engines:

Use Microsoft Ads account [MS_ACCOUNT_ID] and Google Ads account [GOOGLE_ACCOUNT_ID].
Compare the last 30 days of spend, clicks, conversions and cost per conversion
by campaign on both platforms. Do not change anything.

The marketing prompt library and the Claude skills library are free to use. The Cross-Platform Budget Allocator skill splits budget across Google, Meta, TikTok, LinkedIn and Microsoft Ads.

What Claude may change in Microsoft Ads and BigQuery

Claude may change only what your admin leaves switched on, and nothing it creates in Microsoft Ads starts serving on its own.

The Microsoft Ads server has 90 actions: 34 read and 56 write. Three of the writes delete keywords or negative keywords, and they start off.

  • Every action is a switch. An owner, admin or operator turns any action on or off, per account, at any time. The server refuses a switched-off action in every client.
  • Created paused, for you to set live. New campaigns, ad groups and ads start paused, even when the request asks for active, and the server refuses an update that sets one active. You set them live in Microsoft Advertising when they are ready.
  • Keywords can go live. add_keywords and update_keywords can set a keyword active, so a new keyword in a live ad group serves at once. Switch them off where Claude should only report.
  • Deletes start off. Deleting keywords, negative keywords or shared-list negatives stays off until an admin switches on delete_keywords, delete_negative_keywords_from_entities or delete_list_items_from_shared_list. Campaigns, ad groups and ads have no delete action at all.
  • Replacing writes are switches too. The negative-site actions replace whole lists, and the product partition, hotel group and customer list actions can remove items.
  • Budgets go through as written. InsightfulPipe passes budget and bid amounts to Microsoft unchanged, so read the amount in Claude's call before you approve it.
  • Reports stay on the connected account, and a Read-only connection locks every write until an admin reconnects it with Read & write.
  • BigQuery writes sit behind two switches: the run_query action, and the service account's roles. With only Data Viewer and Job User, BigQuery refuses every write.

That is why InsightfulPipe is the safest way to let an AI agent change a Microsoft Ads account: nothing it creates goes live on its own, the three deletes start off, and your admin decides what each account allows.

Troubleshooting

Most failures are one of these seven, and six of them come with an exact message.

  • "No Microsoft Ads accounts found." The Microsoft login cannot open an ad account. Check its access, then connect again.
  • "Only Status='Paused' is allowed for update_campaigns. To activate, use the Microsoft Ads UI." Claude tried to set a campaign live. Set it live in Microsoft Advertising instead; ad groups and ads get the same message.
  • "This account is connected read-only, so this action cannot be enabled for it. An owner or admin must reconnect it with Read & Write permissions." Reconnect the account at Read & write.
  • "This action is disabled for this connected account. An owner or admin must enable it for the account." An owner, admin or operator switches it on.
  • "Your role does not have permission to execute write actions. Only operators, admins, and owners can execute write operations." Your workspace role is User. Ask an owner or admin to change it.
  • "Report scope may only target the connected account." Claude named another account in the report. Ask it to report on the connected account only.
  • The report comes back empty. poll_report_status returns Success with no data_csv when the period had no delivery. Widen the date range first.

Other Microsoft Ads connectors for Data Studio, BigQuery and Claude

Reporting connectors move Microsoft Ads data into Data Studio, Sheets or BigQuery on their own schedules, as they do for Facebook Ads and Snapchat Ads, and Microsoft's own MCP server only reads. Some rivals let Claude change Microsoft Ads, but none of them both lets Claude build campaigns and fills BigQuery and Sheets on a plan from $29.99 a month.

We read every capability, default and price from each vendor's own documentation, pricing page or public repository, and ran InsightfulPipe on live accounts. Pages were checked on 2026-10-02.

Microsoft's own Microsoft Advertising MCP server

Microsoft hosts a Microsoft Advertising MCP server, and it reads only. Its tools page lists seven entity tools, from GetAccounts to GetAudienceAssociations, and says: "The tools never modify account data." Microsoft's June 2026 announcement calls it an "open pilot with read-only access", while its product page opens with "Manage your Microsoft Advertising campaigns".

Microsoft Learn's Microsoft Advertising MCP Entity Tools page, which calls them read only entity tools and says the tools never modify account data.

Setup starts in the Azure CLI: you register your own app, paste its client ID into the AI client and, for Claude, add Claude's callback URL to the app. Microsoft says it is "free to connect". Once someone registers the app, it reads Microsoft Ads in Claude at no charge, but it cannot create, pause or edit anything or fill a table.

Supermetrics and Windsor.ai

Supermetrics' docs say you can "view, create, and update ad campaigns across Google Ads, Facebook Ads, Microsoft Advertising, TikTok Ads, ChatGPT Ads, and Snapchat Marketing", a feature "currently in early access". Its Starter plan, "€ 49 EUR per month, billed monthly", includes "1 core destination", chosen from a list that holds Claude, Looker Studio and Google Sheets. BigQuery appears only on Enterprise, priced by quote.

Windsor.ai lists five Microsoft Ads writes: enable or pause a campaign or an ad group, and set a campaign budget. In its own words: "Microsoft Ads write actions don't cover creating new campaigns or ad groups, editing keywords or ad copy, or setting bidding strategy." Basic costs $23 a month for 3 data sources.

More reporting connectors

These tools move Microsoft Ads data on a schedule. Apart from Porter Metrics, whose pages disagree, none publishes a Microsoft Ads change for an AI.

Connector

Data Studio

BigQuery

Claude on Microsoft Ads

Coupler.io

Connector

As often as "every 15 minutes"

MCP from a "Professional plan"; no writes published

Porter Metrics

Connector

Its pages disagree on the plan

Read-only on its Claude page

Dataslayer

Connector

Daily to hourly, by plan

"read-only access"

Power My Analytics

Connector

"$299.95/month" on one page, custom on another

Its MCP writes its own datasets; no ad writes published

Two Minute Reports

Connector

Not on its pages

"Claude can only read your data."

Catchr

Connector

From its $239 Growth plan

"Claude cannot create, pause, or edit a campaign"

Adzviser

Connector

"daily, weekly, or monthly"

"Claude cannot change anything in Microsoft Ads through Adzviser."

Adverity

Destination

Destination

Its MCP runs Adverity's pipelines

OWOX

Through a warehouse

Open-source connector

Reads its data marts, "not a live query"

Databloo

Free connector

Not on its pages

"Seven read-only tools"

Porter Metrics' Claude page says Claude "cannot pause campaigns, change budgets, edit ad copy, or modify targeting", while its homepage lists campaign management "across Meta, Google, LinkedIn, TikTok, and Microsoft".

MCP servers built to change ads

These hosted MCP servers are built to change ads, and each lists Microsoft Ads changes on its own pages.

Server

What it can change

Who approves a change

Starts at

InsightfulPipe

56 writes, each a switch per account; new campaigns, ad groups and ads start paused

Your admin sets the switches, and the server enforces them in every client

$29.99/month

Markifact

"Search, PMax, ads, assets, keywords, bids, budgets, and statuses"

Its page says "every account change waits for approval"; its MCP docs leave it to your AI client's Needs approval setting

$79/month

Ryze AI

Pausing, budgets, bids, negatives, new campaigns, and deletes from "an explicit, item-by-item approved list"

Claude's own "Needs approval" setting

Free to connect; Autopilot $89/month

Pipeboard

56 tools, 35 of them writes by our count, yet its FAQ answers "Not yet" to creating or editing campaigns

Not published

Free for 2 ad accounts, then $29.90/month

AdKit

Campaigns, ad groups, keywords, ads, bids and budgets, "all draft-first"

AdKit's access levels; "New projects start on Draft + Publish"

$29/month

Blend AI

"full read-write access", in its page data

Read-only at platform level; approval workflows on Enterprise

$29/month

Synter Media

Its page says "create, pause, budget, bids, keywords"; its tool list has pause, enable, budget and audience tools for Microsoft

Its README: "It does not add a second approval step"

$20/month plus metered rates

Markifact also publishes BigQuery and Google Sheets MCPs. Zapier's Microsoft Advertising MCP covers customer lists and offline conversions only, with no report or campaign action.

Three community servers on GitHub, listed in the sources, are MIT-licensed and self-hosted, and each needs your own Azure app registration and Microsoft Advertising developer token. CData's server is read-only and runs on your own machine with CData's JDBC driver.

Connectors inside other platforms

Domo, Salesforce Data 360 and Singular rank as Microsoft Ads connectors inside their own platforms, and Airbyte and Stitch load warehouses. Stape and Tracklution send conversions to Microsoft Ads, a different job. Microsoft's Power Query connector list names no Microsoft Advertising connector, and Supermetrics and Windsor.ai list Power BI as a destination.

One result to skip: RudderStack's Bing Ads to BigQuery guide ranks first for that search, but RudderStack's docs say the source "is deprecated and no longer supported as of January 10, 2026."

InsightfulPipe puts Claude's live reads and writes, BigQuery and Google Sheets on one plan from $29.99 a month, with every action a switch your admin controls.

HAVE QUESTIONS?

Frequently asked questions

InsightfulPipe's Microsoft Ads connector gives Claude live reads and changes in Microsoft Advertising, and writes the stats into BigQuery or Google Sheets for Data Studio. In general, a Microsoft Ads connector moves campaign data into the tools where you report.

Sources (checked 2026-10-02)

Every third-party claim above comes from that company's own page, documentation or repository, opened on 2026-10-02.

Related articles

Best SEO MCP Servers in 2026 (14 Compared)
Blog

Best SEO MCP Servers in 2026 (14 Compared)

The best SEO MCP server in 2026 is InsightfulPipe. It puts Search Console, Bing Webmaster Tools, DataForSEO, a web crawler and PageSpeed Insights on one hosted connection, with every action switched per account.

Read article
Best LinkedIn MCP Servers in 2026 (13 Compared)
Blog

Best LinkedIn MCP Servers in 2026 (13 Compared)

The best LinkedIn MCP server in 2026 is InsightfulPipe. It is the only server compared here that runs your Company Page, your profile and your LinkedIn Ads on LinkedIn's official API, with every action switched on or off per account, from $29.99 a month.

Read article
How to Connect LinkedIn Ads to Claude
Blog

How to Connect LinkedIn Ads to Claude

InsightfulPipe connects LinkedIn Ads to Claude with one LinkedIn sign-in and one URL: add https://linkedin-ads.insightfulmcp.com/ as a custom connector in Claude and click Authorize access. From $29.99 a month.

Read article
Best LinkedIn Ads MCP Servers in 2026 (14 Compared)
Blog

Best LinkedIn Ads MCP Servers in 2026 (14 Compared)

The best LinkedIn Ads MCP server in 2026 is InsightfulPipe. It builds LinkedIn campaigns, lets your admin switch each of its 28 actions on or off for every ad account, and covers 49 more platforms on the same plan, from $29.99 a month.

Read article
How to Connect Meta Ads to Claude
Blog

How to Connect Meta Ads to Claude

To connect Meta Ads to Claude, connect Facebook Ads in InsightfulPipe, add https://facebook-ads.insightfulmcp.com/ as a custom connector in Claude, and click Authorize access.

Read article
Best GA4 MCP Servers in 2026 (13 Compared)
Blog

Best GA4 MCP Servers in 2026 (13 Compared)

The best GA4 MCP server in 2026 is InsightfulPipe. It is the only hosted server with dedicated write actions in all nine areas of the GA4 Admin API, lets you switch each of its 62 actions on or off per property, and keeps its 12 destructive actions off until an admin switches them on.

Read article

Ready to connect your data?

Join hundreds of agencies and brands using InsightfulPipe to connect marketing data to AI.

Start a trial today.