October 12, 2026 · 15 min read

Facebook Ads Audit: The 25-Point Checklist We Run First

The 25-point Facebook ads audit we run first

A Facebook ads audit is a structured review of a Meta ad account against a fixed checklist: tracking, attribution, structure, budget, creative, audience, offer, and the pages the ads land on. Most audits stop at Ads Manager. Ours goes to the landing page, the cart, and the post-purchase flow, because that is where paid-social CPA is usually won or lost.

Below is the 25-point checklist we run on every account before we touch a budget. It is the same one we use on our own free audits. Use it as a Facebook ads audit template for your own account, or hand it to whoever runs your Meta ads and ask them to score it.

What does a Facebook ads audit actually check?

It checks whether the account can be trusted, whether it is structured to spend efficiently, whether the creative is doing the selling, and whether the site converts the traffic the ads buy. Four of those five areas live in Ads Manager and Events Manager. The fifth lives on your store, and it is the one most Facebook ads audit checklists skip.

The order matters. There is no point rating creative if the Pixel double-fires purchases and the attribution window is inflating results. So we audit from the bottom up: tracking first, then structure, then creative, then audience and offer, then the landing page and everything after the click. A number that looks wrong at step 20 is often caused by something at step 2.

We also keep the audit short. Twenty-five checks is enough to find the two or three things that move CPA in the next 30 days. A 90-point audit produces a 40-page document nobody acts on. A 25-point one produces a prioritised fix list, which is the only output that matters.

Below, each check has three columns: what we are checking, what good looks like, and where to find it. The “where” column is the part that makes it usable as a template. If you cannot find the number, you cannot audit it.

Five-stage Facebook ads audit: tracking 5 checks, structure 5, creative 5, audience and offer 4, landing page and post-purchase 6
The 25 checks in five stages, run from tracking up.

Is my tracking good enough to trust the numbers?

Start here, because every other check depends on it. Meta’s own documentation scores each server event on Event Match Quality, a score out of 10 that “indicates how effective your server event’s customer information may be” at matching to a Meta account, and it is blunt about why it matters: “only matched events can be used for ads attribution and ad delivery optimization.” Meta recommends sending email, phone, first and last name, client IP address, and an external_id with every event, and running the Pixel and the Conversions API together on the same event names with a shared event_id so purchases are deduplicated rather than double-counted (Meta for Developers, Conversions API best practices, as of October 2026).

Attribution is the second trap. The default reporting window is 7-day click and 1-day view. For a DTC store running retargeting, 1-day view can credit purchases from people who were coming back anyway. Ads Manager has a Compare Attribution Settings option under the Columns menu that adds 1-day click, 7-day click, 28-day click and view columns side by side; Jon Loomer’s walkthrough of it (updated April 2026) makes the case that “click conversions more accurately reflect the impact of your ads than view-through.” We run that comparison on every audit. If 7-day click purchases are 40% below the default view, the account’s ROAS is a reporting artefact, and every scaling decision made on it was made on bad data.

#CheckWhat good looks likeWhere to find it
1Pixel and Conversions API both firingSame event names from browser and server, deduplicated via event_idEvents Manager > Data Sources > Overview, “Connection method” column
2Event Match Quality on PurchaseEmail, phone, name, IP and external_id sent; score trending up month on month, not downEvents Manager > Data Sources > event row > Event Match Quality
3Purchase value and currency passedOrder value matches Shopify to within 2 to 3% over a weekEvents Manager > Test Events; Ads Manager Purchase Conversion Value vs store orders
4Attribution setting checked against clicksDefault 7-day click, 1-day view compared to 7-day click only; gap understood and documentedAds Manager > Columns > Compare Attribution Settings
5Audience exclusions in placePurchasers (30 to 180 days) excluded from prospecting; prospecting and retargeting do not overlapAd set > Audience > Exclude; Audiences > Audience Overlap tool

One more tracking note. If the account runs Advantage+ Sales campaigns (Meta renamed Advantage+ Shopping Campaigns to Advantage+ Sales in 2025 and merged them into the standard Sales objective), check 5 changes. Advantage+ Sales now accepts custom audience exclusions, which the old Advantage+ Shopping format did not; Jon Loomer’s write-up of the change (updated March 2025) calls the lack of exclusion control “a major complaint” about the old format. If an account migrated and nobody added exclusions back, it is paying prospecting CPMs to reach its own customers.

Is the account structured to exit learning and spend efficiently?

Structure is where most accounts leak. The usual pattern: fifteen ad sets, each with $30 a day, each permanently in Learning Limited, each with three ads nobody has looked at since launch. Meta’s rule of thumb, restated in ppc.land’s documentation summary (September 2026), is that “an ad set generally needs about 50 optimisation events within seven days of its last significant edit to exit learning,” and that changes to targeting, placements, the optimisation event, bid strategy, adding a new ad, or large budget changes all count as significant edits that restart it. Fifteen ad sets at $30 a day on a $60 product will never see 50 purchases in a week each. One or two consolidated ad sets might.

So we count ad sets, count the ones flagged Learning Limited, and divide weekly spend by weekly purchases per ad set. Then we look at the edit history. An account where someone changes budgets by 40% every other day is an account that has never left learning, and its CPA is the CPA of the learning phase, not the CPA of the campaign.

Frequency and reach are the other half. On a prospecting campaign, frequency climbing past 3 in a 7-day window while CTR falls is the earliest reliable fatigue signal, and it shows up in the breakdown a week before CPA does.

#CheckWhat good looks likeWhere to find it
6Ad set count vs budgetFew enough ad sets that each can reach roughly 50 optimisation events a week; Advantage+ budget on where it makes senseAds Manager > Ad sets tab, Delivery column, Amount Spent
7Learning Limited statusUnder 20% of active spend in Learning Limited ad setsAd sets tab > Delivery column; filter Delivery = Learning Limited
8Edit frequencyNo significant edits (budget over 20%, targeting, optimisation event) more than once every 7 days per ad setCampaign > View History (clock icon)
9Prospecting vs retargeting splitSpend split written down and intentional; retargeting judged on 7-day click, not 1-day viewCampaign naming plus Compare Attribution Settings
10Frequency and reach trend7-day frequency under 3 on prospecting with CTR flat; reach still growing week on weekColumns > Customize > Frequency, Reach; Breakdown by week

Is the creative doing the selling or just filling the slot?

Meta buys attention on creative, and its delivery system rewards the ads people stop for. We audit creative by reading the funnel inside the ad: how many people stopped (hook rate, 3-second video plays divided by impressions), how many stayed (ThruPlay or 15-second rate), how many clicked (outbound CTR, not link CTR), and what each of those cost. An ad with a 35% hook rate and a 0.6% outbound CTR has a good hook and a bad offer. An ad with a 15% hook rate and a 2% CTR has the opposite problem. Both get fixed differently, and an audit that only reports CTR cannot tell them apart.

Format mix is the second creative check. An account running only static product images, or only one editor’s style of UGC video, has no diversity for the delivery system to allocate across. We want statics, short UGC, a founder or expert piece, and at least one long-form explainer in rotation. And we want to know how many net-new concepts shipped in the last 30 days. Winning accounts we work with ship four to eight. Stalled accounts ship one, usually a resize of the last winner.

For third-party context, WordStream’s most recent published Facebook benchmarks (data from February 2023 to April 2024, page updated September 2026) put median CTR at 1.57% for traffic campaigns and 2.53% for leads campaigns, with median CPC at $0.77 and $1.88 respectively. Treat these as context, not targets; DTC purchase campaigns behave differently from the blended set. The number that matters is your own account’s CTR last quarter against this quarter.

Small multiple bar charts comparing two ads on hook rate, hold rate, outbound CTR and cost per purchase: Ad A has a good hook and weak offer, Ad B a weak hook and strong offer
Good hook, weak offer versus weak hook, strong offer. Hold rate and cost per purchase are illustrative.
#CheckWhat good looks likeWhere to find it
11Hook rate on video3-second plays divided by impressions reported per ad; top ads clearly above account medianColumns > Customize > 3-Second Video Plays, Impressions; create custom metric
12Hold rateThruPlay or 15-second plays divided by 3-second plays tracked; drop-off point knownColumns > Customize > ThruPlays, Video Plays at 25/50/75%
13Outbound CTR by adOutbound CTR (not link CTR) used for decisions; bottom third of ads paused monthlyColumns > Customize > Outbound CTR (Click-Through Rate)
14Format and concept mixStatic, UGC, founder or expert, and long-form all live; 4 or more net-new concepts in the last 30 daysAds tab, Breakdown by Creative Asset or Ad; Account Overview > Ads launched
15Fatigue signals per adAds with rising frequency plus falling CTR plus rising CPA flagged and refreshed within a weekAds tab > Breakdown > Time > Week; compare Frequency, CTR, Cost per Purchase

Are the audience and the offer matched to the stage of the funnel?

Audience checks are shorter than they were. With Advantage+ audience and broad targeting doing most of the work, the audit is less about interest stacks and more about three things: whether the account has strong first-party signals for Meta to learn from (a Purchase event with high match quality feeds this directly, which is why tracking comes first), whether exclusions are in place so the system is not learning from existing customers, and whether retargeting pools are sized to the spend behind them. A retargeting ad set with a 7-day site visitor pool of 4,000 people and a $200 daily budget will hit a frequency of 8 inside a week. That is not retargeting. That is harassment, and it inflates view-through conversions.

Offer is where we spend more time. The same product with a different offer can halve CPA, and offers are the cheapest thing to test. We check what the ad promises against what the page delivers (free shipping threshold, bundle discount, first-order code, subscription discount), whether the offer has been tested at all in the last quarter, and whether there is any offer at all for a cold visitor who has never heard of the brand. “Shop now” with no reason to shop now is the most common finding in this section.

If you want us to run this section on your account with you on the call, the free audit on our Meta ads agency page covers it.

#CheckWhat good looks likeWhere to find it
16Prospecting targeting approachBroad or Advantage+ audience with purchaser exclusions; interest stacks only where they beat broad on 7-day click CPAAd set > Audience; compare ad sets by Cost per Purchase (7-day click)
17Retargeting pool size vs budgetDaily budget sized so 7-day frequency stays under 4 to 5 on warm audiencesAudiences > audience size; Ad set > Frequency
18Offer present and matchedCold traffic has a stated reason to buy now; ad offer identical to page offerAd preview vs landing page; Shopify Discounts
19Offer tested in last 90 daysAt least one structured offer test (threshold, bundle, discount, gift) with a recorded resultIntelligems, Shoplift or VWO test log; campaign naming

Why do most Meta ads audits stop before the landing page?

Because the person doing the audit is usually paid on media, not on conversion, and the landing page is someone else’s department. That split is the single biggest reason paid-social accounts stall. The ad can be perfect, and if the page it lands on takes four seconds to render on a phone, says something different from the ad, and has a buy box that hides the subscription option below the fold, the CPA is the page’s fault and no amount of Ads Manager work will fix it.

We run the landing page and post-purchase checks as part of the same audit because we run paid social and CRO as one program, and the results come from the page side as often as the ad side. On Binoid, a hemp and CBD store, I watched paid-social CPA drop 30% in four months and the ad account barely changed; the work was a landing page program that shipped multiple pages a month testing angles and products, plus offer tests. On Optimize Minerals, paid landing pages converted 40% better than the pages the ads had been sent to before, and post-purchase upsells added about 10% to AOV. Neither result shows up in a Facebook ads audit that stops at Ads Manager.

The checks themselves are concrete. Speed on a mid-range Android, not a laptop. Message match: the headline on the page repeats the promise in the ad. The PDP buy box: price, variant, subscription option, add-to-cart and the main social proof all visible without scrolling. Cart: a progress bar toward a threshold, one upsell, no coupon-code field inviting people to leave and search for a discount. Post-purchase: one upsell offer after payment, before the thank-you page. Each of these is a line in the table, and each one has a tool we use to test it: Intelligems or VWO for the page, Rebuy for the cart and post-purchase.

Two mobile product page wireframes: before, with the buy box below the fold; after, with price, review count, subscription option and add-to-cart visible without scrolling
Check 22: price, variant, subscription option, add-to-cart and reviews visible before the first scroll.
#CheckWhat good looks likeWhere to find it
20Mobile page speedLargest Contentful Paint under 2.5 seconds on mobile for the top three paid landing URLsPageSpeed Insights on the exact URL in the ad, mobile tab
21Message matchPage headline and hero image restate the ad’s promise and offer; same product, same priceAd preview next to the live URL, on a phone
22PDP buy box above the foldPrice, variant, subscription option, add-to-cart and review count all visible without scrollingShopify theme preview on mobile; Shoplift or Intelligems test history
23Cart and threshold mechanicsProgress bar to free shipping or free gift; one cart upsell; no open coupon field on paid trafficRebuy cart settings; Shopify checkout settings
24Post-purchase upsell liveOne-click upsell after payment with a take rate tracked; AOV lift measured against controlRebuy or Shopify post-purchase app; Shopify Analytics > AOV
25Paid landing page vs PDP testA dedicated paid landing page tested against the default PDP for each top product in the last quarterIntelligems or VWO experiment log; Ads Manager by Destination URL

How do you turn 25 checks into a plan that moves CPA?

Score every line pass or fail, then rank the fails by two things: how much spend they touch and how fast they can be fixed. A deduplication bug on the Purchase event touches 100% of spend and takes a developer an afternoon. That goes first. A creative refresh touches 100% of spend but takes two weeks to produce. That goes second, and starts the same day. A retargeting frequency problem touches 15% of spend and takes ten minutes. That gets fixed on the call.

The output we hand over is a one-page fix list with an owner and a week against each item, never the 25-row table on its own. The table is the method. The list is the deliverable. Usually it has five to seven items on it, three of which are on the site rather than in the ad account, which is why the audit has to include the site in the first place.

If you are deciding whether to run this yourself or bring in a paid social + CRO program, the honest test is section five. If nobody on your team owns the landing page, cart and post-purchase checks, the ad-side fixes will get done and the CPA will move a little. If someone owns all 25, it moves a lot. Our landing page program exists because that second owner is usually missing. What that costs is covered in our post on Facebook ads agency pricing, and the Shopify-side version of this audit is in our guide to auditing your Shopify funnel for conversion leaks.

Or skip the self-scoring. We run this exact 25-point audit on your Meta account and the pages it lands on, free and with no obligation, and send back the fix list ranked by spend touched. Get a free, no-obligation audit of your ad accounts. Bring Ads Manager access and your top three landing URLs and we will come back with the five things to fix first.

Frequently asked questions

How often should you audit a Facebook ad account?

Run the full 25-point audit when you take over an account, and again every quarter. Run the tracking and structure sections (checks 1 to 10) monthly, because Pixel breakages and learning-phase resets happen quietly and cost spend every day they go unnoticed. Creative and landing page checks are continuous work, not a quarterly event.

What is a good Event Match Quality score for the Purchase event?

Meta’s documentation does not publish a target; it scores each event out of 10 and says the higher the better, because only matched events can be used for attribution and delivery optimisation. In practice, send email, phone, name, IP and an external_id on every Purchase event, run Pixel and Conversions API together with a shared event_id, and watch for the score moving up, not down, after any site change.

How many conversions does an ad set need to exit the learning phase?

Meta’s long-standing guideline is about 50 optimisation events within seven days of the last significant edit. Significant edits include changes to targeting, placements, the optimisation event, bid strategy, adding a new ad, or large budget changes. An ad set that cannot reach that number is flagged Learning Limited, which is usually a sign to consolidate rather than to keep tweaking.

Is a Meta ads audit the same as a Facebook ads audit?

Yes. Meta is the company; Facebook and Instagram are the placements, and both run from the same Ads Manager and the same Pixel. A Meta ads audit covers the whole account, including Instagram, Reels, Messenger and Audience Network placements, and the checklist above applies to all of them. Pay attention to placement breakdowns on the creative checks, since a hook that works on Reels can fail in Feed.

Can I use this Facebook ads audit checklist as a template for my own account?

That is the intent. Copy the five tables into a sheet, add a pass or fail column and a notes column, and work top to bottom. The “where to find it” column tells you which Ads Manager view or tool to open. Expect it to take two to three hours the first time, and expect the landing page section to produce the fixes with the biggest CPA impact.

What should a free Facebook ads audit from an agency include?

At minimum, a written fix list with each item tied to a specific metric and a specific place in the account, not a generic deck. It should cover tracking and attribution first, since those decide whether any other number can be trusted, and it should look at the landing page and post-purchase flow, because an audit that ends at Ads Manager misses the half of CPA that lives on your site.

Sources

Make more money

Ready to grow?

Your traffic is already paid for. Tell us where you are and we will show you where it leaks.

Protected against spam · goes to Andrew directly