Cindy Zhu.
Free guides
Marketing & ads Claude

How to run Meta ads with Claude

Hey, it's Cindy 🌱 You commented MCP, so here is my whole step-by-step setup: the exact connector address, every click to wire it up, the guardrails to put in place before you do.
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:)
πŸ’‘ Read this bit before you connect anything. This touches real money. Claude can pull your numbers, find your waste and draft your campaigns, and it can also confidently make up a metric if your question was vague. It also cannot see your actual ad images or videos, so it has no opinion worth trusting on creative. Treat it as a very fast analyst who has never seen your ads, not as a media buyer. Everything below is built around that.
what changed

What this actually is

Meta opened its ads platform to AI assistants through Meta Ads AI connectors, announced in open beta on 29 April 2026 and extended on 16 July 2026 (Meta for Business announcement). This is Meta's own connection, built and hosted by Meta, so you are not handing your ad account to a third-party dashboard and hoping it behaves. Underneath it is an MCP server, the open standard assistants use to plug into outside software, hosted at https://mcp.facebook.com/ads. Meta describes it as a server that "works with any MCP-compatible AI agent", so the same address works in other clients too. It just happens to be very good with Claude.

Meta's own documentation groups what it can do into reporting, ad creation and management, catalog management, signals and datasets, troubleshooting, tests and lift studies, and activity logs (Ads MCP server overview). The practical translation is below.

πŸ“Š Reads everything Spend, ROAS, CPA, CTR, frequency, at account, campaign, ad set and ad level, broken down by placement, geography, device and demographics.
πŸ› οΈ Builds campaigns Creates campaigns, ad sets and ads, and edits budgets and settings. Anything it creates lands paused, so nothing goes live without you.
🩺 Diagnoses signal Pixel health, Conversions API validation, event match quality, and the tracking problems that quietly wreck performance for weeks.
πŸ—‚οΈ Handles catalogs Product feeds, feed errors and item-level visibility, which is the boring half of ecommerce ads that nobody wants to audit.
🌱 The honest upside. The reason this matters is not that Claude is a better buyer than you. It is that the expert grind, pulling the numbers, cross-checking four breakdowns, writing the report, is now about ninety seconds instead of a morning. You spend your time on the decisions instead of the data entry.

the setup

Connect it, about five minutes

There is no developer app, no access token, no system user, and no app review. Authentication is the same Meta business login you already use. Here is the whole thing.

  1. βœ… Check your access first. You need to be an admin or advertiser on the ad account, and that ad account needs to sit inside a business portfolio you have access to. If you cannot change a budget in Ads Manager today, Claude will not be able to either. Permissions are scoped to what you already have.
  2. πŸ”Œ Add the connector. In the Claude app, open Customize, then Connectors, then Add custom connector. Name it something obvious like "Meta ads" and paste the address exactly: https://mcp.facebook.com/ads. No trailing slash, no extra path.
  3. πŸ” Sign in through the pop-up. A Meta login window opens. Sign in, choose the business portfolio and the specific ad account you want to connect, and approve the access it asks for. Authentication runs between you and Meta, with no third party holding a token. Grant read access only for your first week, then reconnect and add management access once you trust what it is telling you. If Claude can read your numbers but cannot change anything, this is the step that decided that.
  4. πŸ’» Or do it in Claude Code. Same server, one line in your terminal: claude mcp add --transport http meta-ads https://mcp.facebook.com/ads. Then type /mcp and complete the sign-in. Worth it if you want the numbers landing in files you can chart and keep.
  5. πŸ”› Switch it on in the chat. Start a new conversation, open the connectors menu, and toggle Meta ads on. This step is the one people miss, then wonder why Claude says it has no access.
  6. πŸ§ͺ Test it read-only. Ask "list my active campaigns and last 7 days spend by campaign". If the numbers match Ads Manager, you are connected properly. If they do not, you are almost certainly on the wrong ad account.
πŸ’‘ Custom connectors work on every Claude plan, including Free, though the Free plan is capped at one custom connector total (Anthropic's connector docs). On Team and Enterprise, an owner has to add it at the organisation level before members can connect.

before you touch anything

Put the guardrails up

This is the section the other guides skip, and it is the one that stops a bad afternoon. Do all four of these before you give Claude anything more than read access.

  1. πŸ’° Set an account spending limit. In Ads Manager, set a hard account-level spend cap at a number you would be genuinely fine losing. It is one field, it takes thirty seconds, and it is the only control that works no matter what anything else does.
  2. πŸ“– Spend the first week read-only. Ask questions, run reports, argue with its analysis. You are calibrating your trust in its judgement before it gets to act on that judgement.
  3. ⏸️ Keep the paused default. Campaigns, ad sets and ads created through the connector arrive paused, and nothing goes live until a human activates it. Do not go looking for a way around that. It is the feature, not the friction.
  4. 🧾 Make it show its working. Add "show me the numbers you based that on, and tell me your confidence" to any prompt that leads to a spend decision. Vague questions are where made-up metrics come from, so make specificity a habit.
πŸ’‘ One writer at a time. If you have a media buyer, an agency and Claude all editing the same account, you will never work out which change caused which result. Pick one hand on the controls. Claude analyses and proposes, one named human applies.

copy these

The 8 prompts I would run first

Run them in this order. The first four are read-only and safe on day one, and the last four assume you have decided to trust it a bit further.

Start with the baseline, because you cannot spot a change without one.

1 Β· the account baseline
Pull my last 30 days at account level and give me the baseline I should be judging everything against from now on.

I want total spend, results, cost per result, ROAS, CTR, CPM and frequency, then the same breakdown per campaign, sorted by spend. Add a column for what share of total spend each campaign took, because that is usually where the surprise is.

Then tell me in plain language which three campaigns are carrying the account and which three are being carried, and flag anything where the sample is too small to draw a conclusion from yet rather than pretending it means something.

Then find the money leaking out of the bottom.

2 Β· the waste finder
Find everything quietly wasting money in this ad account over the last 14 days.

Specifically: ad sets that have spent more than the cost of one conversion with zero conversions, ads with a frequency above 3.5 where CTR has fallen week on week, campaigns where cost per result has risen more than 25% versus the previous 14 days, and any audience overlap where I am bidding against myself.

Rank what you find by dollars at risk per week, not by how bad the percentage looks, and for each one tell me the specific action you would take and what you would expect to happen to the account total if I took it.

Then check the plumbing, because tracking problems look exactly like performance problems.

3 Β· the signal health check
Audit my tracking setup and tell me whether I can trust the numbers I am looking at.

Check pixel and Conversions API event coverage, event match quality, whether any events are firing twice or not at all, and whether any of my key conversion events have dropped in volume in a way that is not matched by a drop in traffic.

For anything you flag, explain what it is doing to my reported results and my optimisation, tell me how serious it is on a scale I can act on, and give me the fix in the order that matters most. If everything is healthy, say so plainly instead of finding something to worry about.

Then the one the dashboard never gave you: not what won, but why.

4 Β· why is this one winning
Take my best performing ad from the last 30 days and my worst performing ad at similar spend, and tell me what is structurally different between them rather than just restating the numbers.

Compare them on the things you can actually see: the ad copy angle, the objective, the placement mix, the audience definition, the frequency curve, the click-to-conversion drop-off, and the day the gap between them opened up. Tell me which single difference you think explains most of the gap, and how confident you are in that on a scale of low, medium or high.

Then write the hypothesis as a testable sentence I could put into my next round of ads, and name the one metric I should watch to know within a week whether the hypothesis was right. You cannot see the images or video, so say clearly which part of your explanation is inference rather than something the data shows.

Now the decisions. This one gives you a plan rather than an action.

5 Β· the budget shift plan
Based on the last 14 days, write me a staged budget plan that moves money out of the losers and into the winners without breaking the learning phase.

Rules: no single ad set changes by more than 20% in one move, nothing scales on fewer than 50 conversions in the window, and total account spend stays flat unless you make an explicit case for raising it.

Give it to me as a table of the exact changes, in the order I should make them, with the date to make each one. Under the table, tell me what you expect the account to look like in seven days if it works, and the specific signal that would tell me it is not working so I know when to stop.

Then the one from the reel: the ROAS cut list. Notice it produces a list first and only acts when you say a specific word.

6 Β· pause everything under my target ROAS
Build me a pause list for this ad account based on the last 14 days. My target ROAS is [your number] and my margin means I lose money below [your break-even number].

Include every ad set that is below target on a fair sample, and for each one give me the name, the spend in the window, the conversions, the actual ROAS, and how many days it has been under target. Exclude anything still in the learning phase, anything with fewer than 50 conversions in the window, and anything where the drop is a single bad day dragging the average down, and tell me what you excluded and why so I can overrule you.

Do not pause anything yet. Show me the list, tell me how much weekly spend it frees up, and wait. When I reply with the word CONFIRM plus the specific names I approve, pause exactly those and nothing else, then read the account back to me so I can see the result.

This one builds. Everything it creates arrives paused.

7 Β· build the campaign, paused
Build me a new campaign in this ad account, and leave everything paused so I can review it before anything spends.

The offer is [describe your offer], the customer is [describe who you are targeting and what they already believe], the objective is [conversions / leads / traffic], the daily budget is [amount], and the landing page is [URL].

Structure it the way you would if you were spending your own money: tell me how many ad sets and why, what the targeting is on each, and how the budget splits. Write three ad copy variations per ad set that test genuinely different angles rather than reworded versions of the same one, and tell me what each angle is testing. Then list exactly what I need to check in Ads Manager before I turn any of it on.

And the one that saves you every Monday morning.

8 Β· the weekly report
Write my weekly ads report, the version I would send to a client or put in front of my own team.

Open with the three numbers that matter most this week and what each one did versus last week. Then: the top three and bottom three ads by cost per result, what changed and what caused it, what I did last week and whether it worked, and the three things I am doing this week with a one-line reason for each.

Write it in plain language with no jargon and no filler, put the bad news near the top rather than buried, and keep the whole thing under 400 words. If a number moved for a reason you cannot identify from the data, say that instead of inventing a story for it.

be realistic

What it genuinely cannot do

Knowing the edges is what keeps this useful instead of embarrassing. These are real limits, not caution for the sake of it.

πŸ‘οΈ It cannot see your creative No images, no video, no thumbnails. When it comments on why an ad worked, it is inferring from numbers and copy alone, so creative judgement stays yours.
🏁 It cannot see the auction No competitor spend, no seasonality outside your account, no idea a rival just launched. Your context is missing from its context.
πŸ’Έ It does not know your margins ROAS of 2 is a triumph for some businesses and bankruptcy for others. Tell it your margin and target, every time, or its advice is generic.
πŸ€₯ It fills gaps when you are vague Loose questions produce confident numbers that do not reconcile with Ads Manager. Always name the date range, the level, and the metric.

make it repeatable

Turn the weekly review into one command

Once you have run these prompts a couple of times, stop pasting them. A skill is a small folder with a SKILL.md inside that teaches Claude a process once and triggers automatically when your request matches. Paste this and it builds you the whole review.

✨ build the weekly ads review skill
Build me a reusable Claude skill called weekly-ads-review that runs my whole Meta ads review through the connected ads MCP, and use skill-creator to package it.

The description should say: use this when I ask for my weekly ads review, ads report or account check.

The steps are: pull the last 7 and previous 7 days at account and campaign level, compare them, then run the waste check (spend with no conversions, frequency above 3.5 with falling CTR, cost per result up more than 25%), then check pixel and Conversions API signal health, then produce a plain-language report under 400 words with the three headline numbers, the top and bottom three ads, and three recommended actions ranked by dollars at stake.

Two hard rules in the skill: never make a change to the account, only recommend, and always state the date range and the level for every number so I can reconcile it against Ads Manager. If a metric is missing or the sample is too small, say so instead of estimating.
  1. πŸ“¦ Take the folder it hands you. skill-creator finishes with a skill folder containing a SKILL.md. Ask it to zip that folder so it is ready to upload.
  2. βž• Install it. In the Claude app: Customize, then Skills, then Add, then Upload a skill, and choose the zip. In Claude Code, drop the unzipped folder into ~/.claude/skills/. Skills work on every plan, Free included (Anthropic's skills guide).
  3. πŸ“… Run it every Monday. Say "weekly ads review" and read the output with your morning coffee. The grind that used to take a morning is the thing you now check.

when it goes wrong

The four things that break

"I don't have access to your ads" The connector is off in this chat. Open the connectors menu in the conversation and toggle it on, then ask again.
The numbers do not match Ads Manager Almost always a different date range, time zone or attribution window. Name all three in your prompt and re-run before assuming anything is broken.
It can read but not change anything The ads management permission was not granted during sign-in. Remove the connector, add it again, and approve the full permission set.
It cannot see the right ad account You connected the wrong business portfolio. Reconnect and pick the portfolio that actually owns the ad account you care about.

Proof

Meta's official Ads MCP server overview
Manage ads from an AI agent with Ads AI connectors (Meta Business Help)
About custom connectors (remote MCP)
Creating custom skills
An honest breakdown of what it does and does not do

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 :)