Cindy Zhu.
Free guides
Marketing & ads Claude

Audit all your ad accounts with Claude

Hey, it's Cindy ๐ŸŒฑ Here's the full ad audit setup from the reel: the exact prompt chain I run, plus the two ways to get your data in front of Claude.
btw the waitlist for AI System Club is now open! If you're keen on using AI to automate your content, video editing, job search, business or build AI agents, feel free to sign up (only if you want to hehe). Ps. the waitlist gets first dibs:)
๐ŸŒฑ Start with zero setup. You do not need to connect anything to run your first audit. Export a CSV out of Ads Manager, drop it into Claude, and run the prompt chain below. That is the whole workflow, and it works on Google, TikTok and any other platform that can export a spreadsheet too. The live connector routes further down are the upgrade you do once you know you'll run this weekly.

the zero-setup route

The audit, start to finish

Five steps, about fifteen minutes the first time. The only thing you need is export access to the ad account.

  1. ๐Ÿ“ค Export your campaign data as a CSV. In Ads Manager, pick your date range first (last 30 days is a sensible default), switch the view to the level you want to analyse (campaigns, ad sets or ads), then use the export control above the table and choose the comma-separated values (.csv) format. Meta's own walkthrough is here. Before you export, add the columns you'll actually want reasoning about: spend, results, cost per result, ROAS or purchase value, impressions, reach, frequency, CTR, CPM. A file missing frequency and CPM cannot answer a creative-fatigue question, no matter how good your prompt is.
  2. ๐Ÿ“Ž Drop the file into Claude. Open a new chat at claude.ai, attach the CSV with the paperclip, and paste prompt 1 below. Claude reads the file directly, so there is no copying rows into the chat and no reformatting. If you run this every week, make a Project for it and keep every audit inside that Project so Claude can compare this week to last week.
  3. ๐Ÿ” Ask for the breakdown, then the decision. Prompt 1 gets you the read of the account: spend, results, frequency, creative fatigue, all of it explained in plain English. Prompt 2 is the one that matters, because it forces a ranked call on what to change first and why, with the number that justifies it.
  4. ๐Ÿงช Have it write the test plan. Prompt 3 turns the decision into three variants with one variable each and a clear kill rule, so next week's audit has something to actually measure instead of five things that all changed at once.
  5. ๐Ÿ” Rerun the same chain weekly. Same prompts, same date window, same columns, new export. That's what makes it compound: by week three Claude is comparing your decisions against what happened, not just describing a spreadsheet.
๐Ÿ“Œ The part most people skip: ask for reasons, not summaries. A summary of your ad account is worth almost nothing, because you can already see those numbers. Every prompt below asks for the evidence behind the call, and for what would have to be true for the opposite call to be right. That's the difference between a report and a decision.

the exact prompts

The audit prompt chain

Run these in order, in one chat, with the CSV attached to the first message. Swap the bracketed bits for your account.

1๏ธโƒฃ read the whole account
Attached is a [30-day] export from my [Meta] ad account for [brand]. Read it properly and give me a full breakdown of what is actually happening in this account, written for someone who knows marketing but has not looked at these numbers yet.

Cover: total spend and results with cost per result, then the same split by campaign and by ad set, so I can see where the money concentrated. Call out frequency anywhere it is climbing, CTR and CPM trends that suggest creative fatigue, and any line item where the sample is too small to draw a conclusion from. State which attribution window and date range the file is reporting on before you interpret anything, and tell me plainly which columns are missing that would have changed your read. Do not give me advice yet, I want the honest picture first.
2๏ธโƒฃ what would you change first, and why
Now tell me what you would change first in this account, and why, with the specific numbers that justify it.

Rank every ad set into scale, hold or cut, and for each one name the single metric that put it in that group and the dollars involved over the period. Then give me the one change you would make first if you could only make one, the reasoning behind it, and what would have to be true for that to be the wrong call. Separately, list anything you are recommending on thin data so I can discount it, and anything that looks like a problem but is really just normal variance. I would rather have three calls you can defend than fifteen you cannot.
3๏ธโƒฃ turn the decision into a test plan
Write me the test plan for the change we just agreed on, as something I can execute in Ads Manager this week.

Give me exactly three variants. Each one changes one variable only, and you name that variable explicitly (creative, hook, audience, placement or budget, never two at once). For each variant, tell me the budget to run it on, the minimum spend or conversion count before the result means anything, how many days it needs, and the exact kill rule: the number that, if it happens, means I turn it off without debating it. Finish with a table of what I check on day 3 and day 7, and what each outcome should make me do next.
4๏ธโƒฃ the weekly rerun
Here is this week's export for the same account, using the same date window and columns as last time.

Before you analyse it, compare it to the audit you ran last week: which of your recommendations did I actually implement, what happened to the numbers you predicted would move, and where were you wrong. Say the wrong part out loud rather than quietly rewriting the story. Then run the same breakdown and ranking as before, and finish with the one change for this week. Keep a running list of the calls you have made and how each one turned out, so we can see whether this is getting better or just getting longer.
๐Ÿ’ก Attach the CSV to the first message only. Claude keeps the file available for the rest of that conversation, so prompts 2 and 3 do not need it re-uploaded, and re-uploading the same file twice is a common reason answers start contradicting each other.

the upgrade

Skip the export entirely

Once the weekly audit has earned its place, the next step is letting Claude read the account directly, so there is no export step and you can ask follow-up questions that need data you did not think to include in the CSV.

๐Ÿ’ก The honest money bit, before anything else. Meta's own connector is free (open beta, no pricing announced yet), and it covers Meta only. For Meta plus Google plus TikTok in one place you need GoMarble's hosted MCP, which is a paid product: their entry tier starts at $97 per month billed annually for read-only agents on up to $50k monthly ad spend, with a free trial to test it first. There's also a free self-hosted route for Google Ads further down. Nobody tells you the plan gate up front, so there it is.
what you're building

What "talking to your ad account" actually means

MCP (Model Context Protocol) is the standard that lets Claude connect to an outside service and read from it directly. Connect an ads MCP and Claude stops guessing from whatever you paste in, and starts pulling live campaign, ad set, ad and creative data from the account itself. No CSV exports, no screenshots, no "here are my numbers, what do you think".

The shift is bigger than the time saved. A dashboard tells you CPA went up. Claude tells you which three ads dragged it up, that two of them are the same creative in different placements, and that the spend moved there after your top ad hit frequency 4. Then you ask the follow-up question, which is the part a dashboard has never been able to do.

๐ŸŸข Route 1: Meta only, free Meta's official connector at mcp.facebook.com/ads. Around 29 tools covering reporting, campaign management, catalogs and account diagnostics. No developer account, no API token, about 5 minutes.
๐Ÿ”ต Route 2: everything, paid GoMarble's hosted MCP covers Meta, Google, TikTok, LinkedIn and Bing in one connection, plus Shopify, Klaviyo and GA4 for the revenue side. Paid plan, free trial available.
๐ŸŒฑ You can run both connectors at once. Most people should: Meta's own connector for anything Meta-specific, GoMarble for the cross-platform, competitor and revenue questions. Claude routes each question to whichever one can answer it.

route 1, free

Connect Meta ads to Claude

This is the one to do first even if you plan to pay for the cross-platform version later, because it costs nothing and it proves the workflow is worth it on your own numbers.

  1. โœ… Check you have access. You need to be an admin on the Meta ad account you want to read, logged into the Facebook Business account that owns it. If somebody else runs your ads, get admin access first, that's usually the slowest part.
  2. ๐Ÿงฉ Open Claude and go to connectors. In the Claude app, open Customize, then Connectors. This is where every outside service you connect to Claude lives.
  3. โž• Add a custom connector. Choose add custom connector and paste in https://mcp.facebook.com/ads as the server URL. That's Meta's own hosted server, so there is no developer account, no app review and no API token to create or rotate.
  4. ๐Ÿ” Authorise with your Facebook Business login. You'll be sent to Meta to sign in and approve access, then choose exactly which ad accounts Claude is allowed to reach. Pick the minimum you need, you can always add more later.
  5. ๐Ÿงช Test it before you trust it. Start a new chat and ask: "list the ad accounts you can see, and for the main one, give me total spend, purchases and ROAS for the last 30 days." Then open Ads Manager and check the numbers match. If they don't, fix the date range or attribution setting before you run any real analysis.
๐Ÿ“Œ Attribution will bite you. Ads Manager defaults and API defaults are not always the same window, so a number that looks wrong is usually a settings mismatch rather than a broken connection. Tell Claude which window you want in the prompt, for example "use 7-day click, 1-day view", and the two will line up.

route 2, paid

Add Google, TikTok and the rest

One connection covering five ad platforms is the actual unlock, because the questions worth asking are cross-platform ones: where does the next thousand dollars go, and which channel is quietly carrying the others.

  1. ๐Ÿ†“ Start the free trial. Sign up at gomarble.ai and connect your ad accounts inside their app first (Meta, Google, TikTok, LinkedIn, Bing, plus Shopify, Klaviyo and GA4 if you have them). The connectors have to exist there before Claude can see them.
  2. ๐Ÿงฉ Add it as a custom connector in Claude. Back in Claude, open Customize, then Connectors, choose add custom connector, and paste the server URL shown on the GoMarble MCP page (currently https://mcp.gomarble.ai). Copy it from their page rather than from memory, since hosted endpoints do get moved.
  3. ๐Ÿ” Authorise and scope it. Sign in, then choose the workspace and the specific accounts Claude may read. Start read-only. You do not want an agent with write access to budgets on day one.
  4. ๐Ÿ“ฆ Add their audit skills, optional. GoMarble publish free Claude skills for Meta and Google audits at gomarble-ai-paid-media-claude-skills. In Claude Code, install them with npx skills add gomarble-ai/gomarble-ai-paid-media-claude-skills. They give you a structured audit to start from instead of a blank chat.
  5. ๐Ÿ’ต The free Google Ads alternative. If you only want Google and you're comfortable in a terminal, GoMarble also publish an open-source, MIT-licensed Google Ads MCP server you can run yourself. It's genuinely free, and it does need a Google Ads API developer token, so budget an hour rather than five minutes.

once you're connected

The 6 live-data prompts I run

These only work once a connector is in place, because they ask for data no single CSV holds. They are written to be pasted as they are, with the bracketed bits swapped for your account. Each one asks for the evidence alongside the answer, because an ads recommendation you cannot trace back to a number is worth nothing.

Start here every week. This is the scale-or-cut pass:

1๏ธโƒฃ what deserves more budget
Pull the last 30 days for [ad account name] and tell me what deserves more budget and what should be cut, using 7-day click 1-day view attribution.

Give me a table of every ad set that spent over [$X] with spend, purchases, CPA, ROAS, frequency and the trend across the last 7 days versus the 23 before it. Then split them into three groups: scale now, hold, and cut, and for each one give me the specific number that put it in that group. Flag anything where the sample is too small to call, rather than ranking it confidently on 4 conversions. Finish with the single change you would make first if you could only make one.

Then the creative question, which is the one that actually compounds:

2๏ธโƒฃ what my winners have in common
Look at my top 10 ads by ROAS over the last 90 days in [ad account name], and my bottom 10 with meaningful spend, and tell me what separates them.

For each winning ad, pull the primary text and headline and describe the hook in one line: what promise it opens with, who it speaks to, and whether it leads with pain, curiosity, proof or offer. Then find the patterns that repeat across the winners and do not appear in the losers, and rank them by how confident you are given the spend behind each one. Do not tell me "video outperforms image" unless the numbers in this account actually say that. End with three new hook angles that extend the winning pattern rather than repeating the same ad.

The one nobody runs, and the one that usually finds money:

3๏ธโƒฃ find the silent drains
Audit [ad account name] for spend that is quietly going nowhere over the last 60 days.

Look specifically for: ad sets that spend every day and have not converted in the last 14, creatives past frequency 3 with a rising CPM and falling CTR, audiences overlapping enough that I am bidding against myself, placements taking meaningful spend at far worse CPA than the account average, and anything still live from a campaign I clearly stopped managing. For each finding, tell me the exact dollars involved over the period and what happens to my blended CPA if I remove it. Sort the whole list by dollars recoverable, biggest first.

The cross-platform one, which only works if you connected more than one platform:

4๏ธโƒฃ where the next $1,000 goes
Compare my Meta, Google and TikTok performance over the last 30 days for [brand], then tell me where the next $1,000 of budget should go and why.

Normalise the platforms properly before you compare them: state which attribution window and conversion event each platform is reporting on, and say plainly where they are not measuring the same thing. Show spend, conversions, CPA and ROAS side by side, plus the direction each one is trending. Then give me your allocation with the reasoning, and separately tell me what would have to be true for the opposite call to be the right one. If one platform is at a ceiling rather than genuinely underperforming, say so.

Competitor research, using the public Meta Ad Library:

5๏ธโƒฃ what competitors are running
Research what [competitor 1], [competitor 2] and [competitor 3] are currently running as ads, and compare it to what is working in my account.

For each brand, pull the ads that have been running longest, since longevity is the closest public signal we have to something working, and summarise the angles, offers, formats and hooks they lead with. Group the findings into angles they all use, angles only one of them uses, and angles nobody is using. Then tell me which of those gaps my account has evidence it could win, based on my own top performers, and which ones would be a guess. Give me three specific ad concepts from the strongest gap, written as hook plus body plus offer.

And the one that saves the most time if you report to anyone:

6๏ธโƒฃ the weekly report
Write my weekly paid media report for [account name], covering [date range] versus the previous equivalent period.

Structure it as: headline numbers (spend, conversions, CPA, ROAS, each with the change versus last period), what drove the change in two or three sentences of plain English, what I changed last week and what it did, what I am changing this week and why, and one risk to watch. Write for someone who does not live in Ads Manager, so no platform jargon without a short explanation. Keep it under 400 words, and put any number you are not confident in behind a clear "directional only" label instead of stating it flatly.

the real skill

The value is in the follow-up

The first answer is a report. The second, third and fourth questions are where the account actually gets better, and that's the bit a dashboard has never done. When Claude tells you an ad set is underperforming, the useful moves are: "why, specifically", "when did it start", "what else changed that week", and "what would you check before you'd bet on that explanation".

My habit is to never act on the first read. Ask what would make the recommendation wrong, ask what the smallest reversible test is, and only then touch a budget. On an account spending real money, one confident wrong answer costs more than a week of slow ones.

๐Ÿ” Check the sample Ask how many conversions sit behind every recommendation. A 6x ROAS on 3 purchases is noise wearing a nice number.
๐Ÿ“… Check the window Attribution settings quietly change the answer. Name the window in the prompt and keep it the same week to week or your trends are fiction.
๐Ÿงพ Check the source Ask which metric and which level (campaign, ad set, ad) each claim came from, so you can find it in Ads Manager yourself.
๐Ÿงช Check reversibility Prefer the change you can undo. Budget shifts and pausing are reversible, restructuring an account and losing learning is not.

before you connect

Keep it safe

  1. ๐Ÿ‘€ Start read-only. Both routes offer read access and write access. Read is where the value is and where the risk is not, so run for a few weeks before you even consider letting anything change a live campaign.
  2. ๐ŸŽฏ Scope to one account. Grant access to the single ad account you're testing on, not the whole business portfolio. Widen it once you know how you use this.
  3. ๐Ÿง‘โ€๐Ÿ’ผ Client accounts need permission. If you manage ads for someone else, connecting their account to a third-party service is a conversation to have with them first, not after. Check what your contract says about data processors.
  4. ๐Ÿ”„ Review access every quarter. Open Customize, then Connectors, and remove anything you've stopped using. Old connections with live access are the sort of thing nobody notices until they matter.

Proof

Meta's guide to exporting ad performance data from Ads Manager
Meta's official Ads MCP server documentation
GoMarble MCP, server URL and setup steps
GoMarble pricing and free trial
Google Ads MCP server, open source and MIT licensed
GoMarble's free Claude skills for Meta and Google audits

the waitlist is now open

AI System Club is launching soon

Build AI systems with me through recorded lessons you can follow at your own pace. Join the waitlist for first access and the founding price.

btw this list gets first dibs
the moment doors open :)