Skip to content
Bach.ai

How to Audit Facebook Ads From ChatGPT via MCP

Published
Drafted with AI; facts checked against the linked sources on . How we write

How do I audit my Facebook ads account from ChatGPT?

Connect ChatGPT to Meta's ads MCP server in Developer mode, then make it read-only: block write actions in Meta Business Suite's Ads MCP server rules and switch off write tools in the app. Ask for 30 days of spend by campaign, delivery errors, pixel quality and the activity log, and check each finding in Ads Manager.

An audit from ChatGPT is a reading exercise, so set the connection up to read and nothing else. Meta’s ads MCP server gives ChatGPT the same reporting, error, signal and history data you would open in Ads Manager and Events Manager. What it does not give you is judgment about your margins, or any guarantee that the assistant read the numbers right, which is why every finding gets checked by hand before you change anything.

What do you need before you start?

You need three things in place:

  • ChatGPT with Developer mode. ChatGPT connects to remote MCP servers only in Developer mode, which its guide lists for Plus, Pro, Business, Enterprise and Education accounts on the web. Add Meta’s server, https://mcp.facebook.com/ads, as an app with OAuth (Meta: Manage ads from an AI agent with Meta ads AI connectors). The full setup is in how do I connect ChatGPT or Claude to my Meta ads account?
  • Read access to the ad account. You sign in as yourself, so the assistant sees the accounts your Facebook login can reach.
  • A read-only setup. An audit needs no write tools, so remove them before the first prompt.

How do I make the connection read-only?

  1. Open Meta Business Suite, go to Settings, and select Ads MCP server below Integrations. Meta says you need full control of the business portfolio to set these rules, and that if you cannot see the menu, the feature has not reached you yet.
  2. Select the ad account and set the write actions, such as Create campaigns and Edit or set budget, to Blocked. Meta says its server denies blocked requests.
  3. In ChatGPT, open the Meta app’s details page in app settings and switch off the write tools, such as ads_update_entity, ads_activate_entity and the create tools.
  4. Leave write confirmation on. ChatGPT’s guide says write actions need confirmation by default and that tools without a read-only hint are treated as writes.

Which Meta tools does an audit use?

Meta’s developer docs list the tools by category. These six cover a first audit, and each has a place in Ads Manager or Events Manager where you can check the answer.

Audit question Meta MCP tool What it returns Where to check it by hand
Where is the money going? ads_get_ad_entities Spend, impressions, CTR, CPC, CPM and conversions by campaign, ad set or ad, with date ranges Ads Manager > Campaigns, same dates and attribution setting
Is anything blocked from delivering? ads_get_errors Delivery-blocking errors for campaigns, ad sets, ads or the account Ads Manager delivery column and Account overview
What does Meta recommend? ads_get_opportunity_score A 0 to 100 score with recommendations Ads Manager > Account overview
Is tracking healthy? ads_get_dataset_quality and ads_get_dataset_stats Event Match Quality, match-key coverage, freshness, and event volume over up to 28 days Events Manager, on the same dataset
Did something change? ads_account_get_activity_logs Activity log entries by object, time, category or user Ads Manager > Activity history panel
Is performance drifting? ads_insights_performance_trend CPC, CPM, cost per result, ROAS, CTR and conversion rate over time Ads Manager breakdown by day

Tool descriptions: Meta for Developers, Comprehensive reporting, Help and troubleshooting, Signals and datasets and Activity logs.

How do I run the audit, step by step?

Run these in one conversation, with only the Meta app selected under Developer mode.

  1. List accounts. Ask ChatGPT to list your ad accounts with currency and time zone, and confirm the one you mean before anything else.
  2. Pull spend. Ask for the last 30 days of spend, results and cost per result by campaign, sorted by spend, with the attribution setting named.
  3. Find blockers. Ask the ads_get_errors tool for every delivery-blocking error on the account, campaigns, ad sets and ads.
  4. Check learning. Ask which ad sets got fewer than 50 results in the 7 days since their last significant edit. Meta says ad sets usually exit learning after about 50 results in that week (About the learning phase).
  5. Check tracking. Ask for Event Match Quality and the last 28 days of Purchase events for your pixel, and flag any day with zero events.
  6. Read history. Ask the activity log for budget, status and targeting changes in the last 14 days, with who made each one.
  7. Read recommendations. Ask for the opportunity score and its top three recommendations, then open each one in Ads Manager > Account overview.
  8. Write it up. Ask for a table of findings, each with the tool call and number behind it, ranked by spend affected.

Which prompts get reliable answers?

ChatGPT’s Developer mode guide recommends naming the app and tool, ruling out other tools, and stating the input you want. In practice that looks like:

  • “Use the Meta app’s ads_get_ad_entities tool only. Do not browse the web. Return spend, purchases and cost per purchase by campaign for 1 to 30 September 2026, ad account [ID].”
  • “Use ads_account_get_activity_logs for ad account [ID], last 14 days, budget and status changes only. Show the time, object and user for each.”
  • “Before you answer, show me the tool call you made and its date range.”

Ask it to show the tool call each time. You can expand every call in ChatGPT to see the JSON input and output, which is the quickest way to catch a wrong date range or account.

What must you verify by hand?

Treat each finding as a lead until Ads Manager agrees with it.

  • Attribution. Ads Manager attributes conversions to clicks or views in a 1, 7 or 28 day window (Differences between Conversion Lift results and other reporting tools). Make sure the assistant’s numbers use the same window you report on, and compare purchases with your store’s order count. For choosing a window, see which Meta attribution window should I use?
  • Opportunity score. Meta says the score reflects how many recommendations you have applied and “does not reflect your actual or future performance” (About opportunity score). A low score is a list to review, not a diagnosis.
  • Changes. Confirm any change the log reports in Ads Manager’s Activity history panel, which shows who made each change and when (View activity history).
  • Totals. Add up the assistant’s campaign spend and compare it with the account total for the same dates. A gap can mean the assistant missed a page of results.

What the connection cannot see is anything outside Meta: margins, refunds and your store’s revenue. Those decide whether a campaign is worth keeping, and they come from your own books.

What should the audit cover beyond the tool calls?

A full account review has more layers than six tools reach, from Business Manager and payment to landing pages. Work through what should a Meta ads account audit actually check? or the shorter Meta ads audit checklist, and use ChatGPT to pull the numbers for the items that live in Ads Manager and Events Manager. If you later want the assistant to act on what it finds, read can ChatGPT actually run my Meta ads, or only advise on them? before you switch the write tools back on.

Can software help?

If you would rather not run the audit by hand each week, Bach.ai connects to a Meta ad account, audits it daily, finds revenue leaks with an estimated revenue impact, and proposes fixes. On every plan, it applies a change on Meta only after you approve it.

FAQ

Can ChatGPT change my ads during an audit?

Only if write tools are on. ChatGPT asks for confirmation before write actions by default, and you can switch write tools off in the app’s details page. For a second lock, block actions such as creating campaigns or editing budgets in Meta Business Suite under Settings > Integrations > Ads MCP server, if that menu is available to you.

Does the free ChatGPT plan work for this?

No. ChatGPT’s guide lists Developer mode, which is how ChatGPT connects to remote MCP servers such as Meta’s, for Plus, Pro, Business, Enterprise and Education accounts on the web. Without it you cannot add Meta’s server, though you can still paste an Ads Manager export into a chat.

How far back can the audit look?

Reporting covers the date ranges you ask for in ads_get_ad_entities. Meta’s dataset stats tool reports event volume over a window of up to 28 days. For longer history, export from Ads Manager and compare the totals with what the assistant returned.

Why do ChatGPT’s numbers differ from Ads Manager?

Usually the date range, the time zone or the attribution window differs, which are the first things Meta’s own reporting-differences checklist tells you to match, or the assistant read only part of the results. Ask it to show the tool call, then match the dates, the account’s time zone and the attribution setting in Ads Manager’s columns.

Sources

Sources: Meta Business Help Center, Manage ads from an AI agent with Meta ads AI connectors, About the learning phase, About opportunity score, View activity history and Differences between Conversion Lift results and other reporting tools and Troubleshoot common reporting differences; Meta for Developers, ads MCP server tool pages linked above; ChatGPT’s Developer mode guide, linked from Meta’s help article (checked 2 Oct 2026).

See what your Meta ads are really costing you.

Connect your account and Bach ranks potential revenue leaks with estimates and actions you can review. Free for 7 days, no credit card.

Start Free Audit
Start your free audit