Free Facebook Ads Audit: What It Can't See
A free Facebook ads audit reads one API surface and stops there. What the free tier actually checks, what it structurally cannot see, and where it ends.
A free Facebook ads audit reads exactly one thing: the Ads Insights API. Everything it reports back to you is derived from delivery and performance numbers that already exist in Ads Manager. That is genuinely useful, and it is also a hard ceiling.
So the question worth answering before you run one is not which free tool is best. It is which failure modes live outside the surface a free tool is able to read at all.
Why this matters
The cheapest problems in a Meta account are creative and bidding problems. They are visible, they move the numbers in obvious directions, and any audit worth running will catch them.
The expensive problems are measurement problems. A broken event, a dropped customer-information parameter, a deduplication mistake between the Pixel and the Conversions API — none of these show up in your insights data as an error. They show up as a smaller number. Fewer purchases. A higher CPA. A ROAS that drifts down over three weeks for no reason anyone can name.
An audit that only reads insights sees the smaller number and blames the thing it can see. That is how a measurement failure gets diagnosed as creative fatigue, and how the fix becomes "make more ads."
What "free" actually means here
Three different offers use the same word, and they fail in different places.
| The offer | How it reads your account | What you actually pay | |---|---|---| | A free audit tool from an agency | Read-only OAuth, one run | A sales call, and your account data sitting in someone's CRM | | The free tier of a paid product | Same read-only OAuth, feature-capped on purpose | Upgrade prompts at the exact point the audit gets interesting | | Meta's own native surfaces | Full native access, no third party | Your time, and the burden of knowing where to look |
The third one is the honest baseline. Meta already gives you the data free. What you are buying from any audit tool — free or paid — is someone deciding which numbers matter and in what order.
The surface a free audit can read
Almost every free Facebook ads audit runs on a single permission. Meta's permissions reference describes ads_read as the scope that "allows your app to access the Ads Insights API to pull Ads report information for Ad accounts you own or have been granted access to."
That is the whole free-tier surface, and it is read-only by construction. Everything derivable from it is fair game:
- Spend, ROAS, CPA and CPM at campaign, ad set and ad level
- Frequency, reach and impression distribution
- CTR and conversion-rate movement over a date range
- Placement, device, demographic and time-of-day breakdowns
- Delivery status, budget distribution and pacing
- Learning-phase state, and whether an ad set is clearing Meta's documented threshold of roughly 50 optimization events in a seven-day window (Meta Business Help Center)
That list covers real money. It is also, almost exactly, the list of things you could find yourself in Ads Manager in half an hour — which is the point of our 30-minute manual Meta Ads audit walkthrough.
What it can't see
Everything below lives on a different Meta surface behind a different grant. A free audit running on ads_read does not reach any of it.
| Check | Where the data lives | What it needs | Visible to a free ads_read audit |
|---|---|---|---|
| Spend, ROAS, frequency, delivery, learning phase | Ads Insights API | ads_read | Yes |
| Event Match Quality | Events Manager | Dataset/Pixel access | No |
| Pixel and server event deduplication | Events Manager | Dataset/Pixel access | No |
| Policy standing and integrity restrictions | Account Quality | A separate surface entirely | No |
| Page, app and domain insights | Business Suite | read_insights | No |
| Business asset structure and partner access | Business Manager | business_management | No |
Event Match Quality is the sharpest example, because it is the single number most likely to explain a quiet performance decline. Meta's Conversions API best practices put it plainly:
"If you share server events using the Conversions API, you can see the Event Match Quality (EMQ) for each event in Events Manager."
Note the surface. Events Manager, not the Insights API. The score is out of 10, it moves when the customer-information parameters you send change, and Meta is explicit that "You can use only matched events for ads attribution and ad delivery optimization." One more constraint worth knowing: "Event Match Quality is currently available only for web events," so an app-install or lead-form account gets no signal here at all.
A free audit cannot read that number. It reads the consequence of that number and calls it performance.
Three limits inside the surface it can read
Even within the Insights API, the free single-run audit runs into documented ceilings.
1. Your numbers are not final yet. Meta's Ads Insights API best practices state that "Insights refresh every 15 minutes and do not change after 28 days of being reported." Read that in reverse: for 28 days, they change. An audit run against last week's data is grading numbers that are still moving.
2. Breakdowns have a hard edge. The same doc warns against "high cardinality breakdowns such as action_target_id or product_id, and wider date ranges like lifetime" at the account level, and notes that reach is not returned for standard breakdown queries with start dates beyond 13 months. An audit promising placement × device × age across account lifetime is either sampling or silently not running it.
3. A single run cannot see a trend. This is the structural one, and no permission fixes it. Creative fatigue is a slope. Learning-phase churn is a repeating event. Spend drift is a direction. One snapshot, taken once, has no second point to draw a line through. A free audit tells you where you are standing; it cannot tell you which way you are walking.
What this looks like in practice
Take the shape of a decline that shows up repeatedly in high-spend accounts. Spend is flat at roughly $60K for the month. Reported purchases fall 18% week over week. CPA climbs from $42 to $51.
A free audit reads the Insights API, sees CPA up and frequency at 4.1 on the top-spending ad set, and returns the obvious verdict: creative fatigue, refresh your ads. Every number supporting that verdict is real.
Now suppose the actual cause was a checkout change that stopped passing a hashed phone number to the Conversions API, and EMQ on the purchase event fell from 7.4 to 5.1. Fewer events match. Fewer matched events means fewer attributed purchases and a worse optimization signal, which then genuinely degrades delivery. Reported CPA rises twice over — once because attribution lost events, once because the algorithm lost signal.
The free audit sees the second-order effect with perfect accuracy and points you at new creative, which costs a production cycle and fixes nothing. The cause was one surface over, on a number the audit was never able to request.
This is why the audit lane splits the way it does. Our ranked breakdown of the best Meta Ads audit tools sorts vendors on exactly this line — which ones read measurement surfaces, and which only read insights — and the ecommerce-specific audit picks apply the same test to catalog and purchase events.
Common mistakes
- Treating a clean free audit as a clean measurement bill. It is a clean insights bill. Those are different documents.
- Auditing a window that has not settled. Running against the last 7 days puts you inside Meta's 28-day revision period. Audit a closed window, or expect the verdict to move.
- Reading one snapshot as a trend. Frequency at 4.1 means nothing without last week's 3.2 or 4.4 next to it.
- Granting broader permissions to buy more coverage. If a tool asks for
ads_managementto run an audit, it is asking for write access to do a read job. Check what the Marketing API authorization docs say the scope actually permits before you approve it. - Confusing a free audit tool with a free tier. The first is a lead magnet and is complete on its own terms. The second is deliberately feature-gated, and the gate usually sits right where the finding gets actionable.
FAQ
Is a free Facebook ads audit worth running? Once, yes. It is a fast structural read on budget distribution, delivery and obvious waste, and it costs you nothing but an OAuth grant. Just scope expectations to the Insights API — the only place it is reading.
What permissions should a free audit tool ask for?
ads_read and nothing more for an insights-only audit. Anything requesting ads_management is requesting the ability to change your account, which an audit has no reason to do.
Can a free audit check my Pixel and Conversions API setup?
Not through ads_read. Pixel health, server-event deduplication and Event Match Quality all live in Events Manager behind separate dataset access. A tool that genuinely checks them will ask you for that access explicitly.
Does Meta offer its own free audit? Not as a single product. Meta gives you the raw surfaces free — Ads Manager, Events Manager and Account Quality — and leaves the sequencing to you. That sequencing is the actual work.
How often should an ad account be re-audited? Weekly for anything spending meaningfully. Most of what an audit catches is a rate of change, and a quarterly one-off cannot measure a rate.
Where the free audit ends
The free tier is a good snapshot and an honest one. It ends at three places: the surfaces it cannot request, the numbers that have not settled, and the trend it has no second data point to draw.
Good Morning is built for the part that starts there. It re-audits Pixel and CAPI signal quality, creative fatigue and wasted spend every week, and hands back an urgency-tiered action list — Act today, This week, Monitor — instead of a findings report you still have to interpret. Action items, not analysis. The thinking is already done by the time you open it.
If you are running audits across a client book rather than one account, the same weekly read is what powers our agency reporting workflow, and the Meta Ads reporting software overview covers how the recurring read is assembled. If you are weighing it against an optimization-first platform, Good Morning vs Madgicx draws that line directly.
See what a recurring audit catches that a one-shot free audit cannot — the Good Morning Meta Ads audit tool.
Sources
- Meta for Developers — Permissions Reference (ads_read "allows your app to access the Ads Insights API to pull Ads report information"; read_insights covers Pages, apps and web domains; business_management covers the Business Manager API)
- Meta for Developers — Conversions API best practices ("you can see the Event Match Quality (EMQ) for each event in Events Manager"; score is out of 10; "Event Match Quality is currently available only for web events")
- Meta for Developers — Ads Insights API best practices ("Insights refresh every 15 minutes and do not change after 28 days of being reported"; reach is not returned for breakdown queries with start dates over 13 months old; high-cardinality breakdowns are discouraged at account level)
- Meta for Developers — Marketing API authorization and access tokens
- Meta Business Help Center — About Event Match Quality
- Meta Business Help Center — About the learning phase
- Meta — Account Quality
Related reading
Best Facebook Ads Audit Tools for Ecommerce Brands
A Facebook ads audit tool built for generic accounts misses your catalog and your purchase events. Here are the picks that actually audit an ecommerce store.
The 6 Best Meta Ads Audit Tools for 2026, Ranked
The best Meta Ads audit tool for 2026, ranked six ways: which catches Pixel and CAPI gaps, which only reports them, and which one names the fix to make.
Meta One for Business vs a Weekly Ads Read
Meta One for Business runs $14.99 to $499 a month and puts insights history behind a paywall. What each tier buys, and what it never covers.