Lock in $67
Free checklist

Meta ads audit checklist: the four questions

Most audit checklists are a hundred settings and a wasted day. Four questions account for most of what is actually wrong.

Espen Opdahl Published 6 min read
Four antique keys fanned out, the largest picked out in orange with a thread looped through its bow.
The short answer

A Meta ads audit is four questions, not forty. Where did the money go that bought nothing? Which creatives are actually carrying the account, once you stop counting the same one twice? Is creative output keeping pace with spend? And do the numbers you are reading match Ads Manager? Everything below is the checklist for answering those, with the prompts that do it if you have an AI connected — and it works on paper if you don't. Free, nothing gated, no email.

Most audit checklists you will find are a hundred settings to tick. They are exhaustive, they take a day, and at the end you have confirmed your pixel fires — which is not the same as confirming the signal it sends is any good.

This one is short on purpose. Four questions account for most of what is actually wrong in most accounts, and the rest is tidying.

Before you start

Pick a window and write it down as two dates. Every figure below has to come from the same window or none of them are comparable — this is the single most common way an audit produces confident nonsense. Ninety days is a reasonable default.

worth knowing If you audit with an AI, the window is the thing it will silently get wrong.

"Last month" and "the last thirty days" are different questions, and a partial current week drags every recent number down. State the window as explicit dates and make it echo the window back before it gives you any figure. More on catching that.

The four questions

  1. Where did the money go that bought nothing? START HERE

    List every campaign and ad set with spend and zero purchases in the window, and total it. That number is your leak, and it is usually larger than people expect — old awareness campaigns, a geography that never converted, a test nobody switched off.

    Ask for it: "For window <date> to <date> inclusive: every campaign and ad set with spend above zero and zero purchases. Show spend for each and the total." The trade: zero-purchase does not always mean waste, and the four checks below are what separate the two. Read the answer carefully too — a blank purchase column is not the same as a zero.

  2. Which creatives are actually winning?

    De-duplicate by creative_id first. The same creative running across several ad sets appears as several winners and is one. Then rank by purchase volume, not by ratio, and compare each creative's share of purchases against its share of spend.

    Ask for it: the exact prompt is in the post on why ROAS sorting misleads. The trade: this under-ranks genuinely new creatives — look at them separately.

  3. Is creative output keeping up with spend?

    Count new creatives launched per month against spend per month. When spend climbs and new creative stays flat, performance decays on a delay and it looks like the algorithm turned on you. The cause sits upstream of anything you can change in settings, which is why it hides so well.

    Ask for it: "By month for the last six months: total spend, and the number of distinct creatives that first delivered that month. Show spend per new creative." The trade: the ratio has no universal target — you are looking at the trend in your own account, not a benchmark, and the connector's benchmark tool will not supply one either.

  4. Do these numbers match Ads Manager?

    Take the largest figure you just produced and one you intend to act on. Open Ads Manager, set the same window, and compare. If either is off, do not patch it — re-run the whole audit with the window stated explicitly, because a single mismatch usually means the frame was wrong rather than one number.

    The trade: two minutes. It is the only step here that cannot be delegated, and it is the one that makes the rest trustworthy.

Telling a leak from a legitimate test

Four checks, and you need all four. Has it ever produced a purchase, at any point in its life? Is it optimising for something other than purchases — traffic, engagement, video views? Did it launch inside the last two weeks, so it has not finished learning? And is its spend a trivial share of the account, or a meaningful one — under a couple of per cent is usually noise, above five is not, and you should use whatever figure you would actually act on.

Something that has never converted, optimises for purchases, is older than two weeks and is taking real budget is a leak. Change any one of those and it becomes a judgement call — but now you know which one you are making.

An audit is not a list of everything that could be wrong. It is the shortest path to the one or two things that actually are.

The tidying pass

Worth doing once the four questions are answered, not before:

  • Naming. If you cannot tell what an ad is from its name, no analysis of it will be readable in six months. Format, angle, hook, date.
  • Overlapping audiences. Ad sets bidding against each other fragment budget and inflate costs.
  • Attribution settings. Not wrong, but make sure you know which one your numbers are using before you compare anything to anything.
  • Placements you never look at. Pull one ad's preview in Stories or Reels; text that sits fine in feed is often cropped there. The connector will render it for you.

This is the Monday half of the operator routine, run once instead of weekly. See what the weekly version looks like →

Doing it with Claude

Every prompt above works in a chat with Meta's official connector attached. If you want the whole routine rather than a one-off audit, the skill is published free — it covers the same four questions on a weekly cadence, plus the rules about what an AI should never touch.

Not connected? Setup takes about three minutes, and if it comes back not-enabled, check your other accounts before concluding you are blocked.

Try this tonight Just question one. Total the spend that bought nothing in your last ninety days. It takes a single prompt or one filtered view in Ads Manager, and it is the number most likely to change what you do tomorrow.

Frequently asked questions

How often should I run a full audit?

Monthly is plenty if you are running a weekly routine. Quarterly if you are not. More often than monthly and you are reading noise as signal.

Do I need an AI connected to use this?

No. Every question can be answered in Ads Manager with filters; the prompts just make it faster. The thinking is the same either way.

What if I find the leak is large?

Resist switching everything off at once. Pause the clearest zero-purchase spend, leave the ambiguous cases, and look again in a week — you want to be able to tell what caused what.

Is there a template I can copy?

This page is it. Copy the four questions and the prompts; nothing here is gated and there is nothing to sign up for.

The weekly version of this

The Claude Ads Operator turns this one-off audit into a 60-minute week — Monday read, Wednesday winners and creative, Friday launch. Everything it drafts starts paused and budgets stay human.

See what's inside — $67 founding price

Pre-sale: the modules are still being recorded and founding members get the checkout link first. No charge today. Public price $97.

Espen Opdahl Writes The Claude Ads Operator. I run Meta ad accounts through Claude and Meta's official ads connector, and I write down what actually happens — including the parts that don't work. Not affiliated with Meta or Anthropic.