For agencies that grow D2C brands

What should a Meta ads audit check first?

A Meta ads audit should check tracking first, then where the money goes: ads and ad sets spending without purchases, creatives shown too often to the same people, audiences priced above target, and settings such as attribution and placements. Measure each against the brand's own baseline and fix the biggest leak first.

2.13× Meta ROAS on ₹28,064 spend, against a 4× e-commerce benchmark · Moolwanai-dm · Paid ads · 171,489 impressions · 3,895 clicks · 30 days to 26 Sep 2026 · real data

What you'll see in 10 minutes

  1. Your first brand's report, built from its domain alone.
  2. Its Meta ad account and GA4 connected, one secure sign-in each.
  3. Every campaign, ad set and ad read against the brand's own baseline, with spend leaks and tired creatives flagged.

(login required) · No plan to pick. Billed in USD and INR. Nothing changes without your approval.

Why does a Meta account look healthy while it wastes money?

Thursday, brand review. Account ROAS is close to target, so nobody opens the ad sets. Underneath, one ad has been shown to the same people again and again, and another has spent for two weeks without a sale. The brand finds out when the total finally slips.

Averages hide the leaks. A healthy total can carry ad sets that lose money every day, and by the time the total moves, the leak has had weeks of budget. Each leak has a number that shows it, at the level of the ad or the ad set. These are the ones to read.

Where Meta ad spend leaks, the number that shows each leak, and where to find it
Where spend leaksThe number that shows itWhere to find it
Tracking counts sales wrongPurchases in Meta against store orders and GA4, same daysEvents Manager, GA4
Spend with no purchasesSpend past 2× the target cost per purchase, 0 purchasesAds Manager, sorted by spend
Tired creativeFrequency up and click-through rate down, week on weekAds Manager, by ad
Audience priced too highCost per purchase by ad set against the targetAds Manager, by ad set
Budget split too thinAd sets marked learning limitedAds Manager, delivery column
Wrong placement or regionShare of spend against share of purchasesAds Manager, breakdowns
The page after the clickLink clicks against landing page views, page speedAds Manager, a speed test

What does a Meta ads audit check, in order?

Tracking first, then the money, then the creative. The order matters: a fix based on wrong purchase counts aims at the wrong ad. Work through these seven checks and you'll have a ranked list of fixes for the brand, biggest leak first.

  1. Check tracking before results

    Compare purchases in Events Manager with the brand's store orders and GA4 for the same days, and make sure the pixel and the Conversions API aren't counting one sale twice. If tracking is off, every number after it is off too.

  2. Read the right window

    Note the attribution setting on every report. Meta's default credits a purchase up to 7 days after a click or 1 day after a view, so compare like with like before you call anything up or down.

  3. Find spend with no purchases

    Sort ads and ad sets by spend and look for any that spent twice the target cost per purchase without a single purchase. These are the quickest savings in the account.

  4. Check for tired creative

    Read frequency and click-through rate by ad, week on week. Frequency rising while click-through rate falls means the same people have seen the ad too often.

  5. Check structure and the learning phase

    Count the ad sets sharing the budget. Too many split it so thinly that none gets enough purchases to learn, and Ads Manager marks them learning limited.

  6. Break results down

    Split spend and purchases by placement, age, region and device. A leak often sits in one placement or one region that the account total hides.

  7. Check the page after the click

    Compare link clicks with landing page views and test the page's speed. Clicks that never load the page are spend no ad change can fix.

On the learning phase, Meta says an ad set needs about 50 optimisation events in the 7 days after its last significant edit to leave it (Meta Business Help Centre, about the learning phase). If Meta's purchase count and GA4's are far apart, reconcile GA4, Meta and Google Ads before you trust either one.

How much of a brand's Meta spend is leaking right now?

Run the numbers before the review. Enter the brand's target cost per purchase and last week's figures for up to four ads, straight from Ads Manager. The worksheet flags what to fix, shows how much spend sits in those ads and writes the note for the brand.

Find the leaks in a brand's Meta ads

Change any number and the flags update. The limits for a tired ad are yours to set.

    ₹1,14,830spent across these ads
    ₹51,200in ads that need action
    45%of the spend checked

    note for the brandOf ₹1,14,830 spent on 4 ads last week, ₹51,200 (45%) sits in 2 ads that need action. Before / after v1: frequency 4.8 and click-through rate down 31%, so the creative is tired; cost per purchase ₹1,768 against a ₹900 target. Founder story: ₹12,300 spent with no purchases. We suggest pausing or replacing these and moving the budget to the ads within target.

    Free, no login. The starting figures are an illustrative example.

    Audit a brand's Meta ads

    (login required) · ai-dm runs these checks on every ad, every day, for every brand you manage.

    How does ai-dm audit a brand's Meta ads every day?

    The same checks, on every ad, every day. Once a brand's Meta account is connected, ai-dm reads spend, click-through rate, cost per purchase, ROAS and frequency for every campaign, ad set and ad, and measures each against the brand's own baseline. It also watches rivals' ads in the Meta Ad Library, so a competitor's new offer sits next to the drop it may explain.

    Dewleaf Skincare · Meta Ads · last 7 daystarget cost per purchase ₹900
    "Before / after v1" shown too oftenchecking…tired creative · highad insights · frequency 4.8 · CTR 1.3% → 0.9% · cost per purchase ₹1,768
    "Founder story" spending with no purchaseschecking…no purchases · highad insights · ₹12,300 spent · 0 purchases · 13.7× the target
    Lookalike audience above targetchecking…above target · mediumad set insights · cost per purchase ₹1,420 over 14 days
    Rival's new offer on the same productchecking…rival move · mediumMeta Ad Library · Competitor A · "My 30-day glow check" · 94 days running
    Purchases against GA4checking…passedMeta 142 · GA4 118 · gap in line with the last 8 weeks
    Budget and bid changeschecking…passedchange history · no edits in 14 days

    4 findings · 2 checks passed · 2 suggestions waiting for your approval

    Illustrative example

    In this illustrative example, ai-dm's daily audit of Dewleaf Skincare's Meta ads finds four problems: a tired creative shown 4.8 times per person with click-through rate down from 1.3% to 0.9%, an ad that spent ₹12,300 with no purchases, a lookalike audience at ₹1,420 per purchase against a ₹900 target, and a rival's new offer. Purchases against GA4 and budget changes both pass.

    Each finding comes with its next move. A tired creative gets a replacement brief, and ai-dm can write the new ad copy and creatives from the brand's thesis. When the whole account drops and no single ad explains it, find why the brand's numbers moved across every connected account. Nothing changes in a brand's account until your team approves it, and you can check how brand data is protected.

    On our own brand. Moolwan, our D2C home décor brand, spent ₹28,064 on Meta ads in the 30 days to 26 September 2026, for 171,489 impressions, 3,895 clicks and a ROAS of 2.13× against a 4× e-commerce benchmark (ai-dm · Paid ads). That works out to a 2.27% click-through rate and about ₹7.21 a click. The ROAS gap is real, and ai-dm raises it every day until it moves. You can inspect Moolwan's real numbers, with the source and date of each.

    We don't build attribution models. ai-dm doesn't claim which ad or channel caused a sale, and it reads no order or revenue data from Shopify. It audits what Meta records, checks it against GA4 and shows the record behind every finding.

    (login required) · Rather talk first? WhatsApp the founder

    Questions agencies ask about Meta ads audits

    What is a Meta ads audit?

    A Meta ads audit is a structured check of a brand's Facebook and Instagram ad account: whether tracking counts purchases correctly, which ads and ad sets spend without results, which creatives are tired, and whether the structure, audiences and placements suit the budget. It ends with a ranked list of fixes, biggest leak first.

    How often should an agency audit a brand's Meta ads?

    Run the full audit when you take on a brand and at least once a quarter, and check spend, frequency and cost per purchase every week. Leaks start between audits, because a creative can tire in days. ai-dm runs the checks every day, so the weekly review starts from what changed.

    What frequency is too high on Meta ads?

    There's no single safe number. It depends on the audience size, the offer and how often the creative changes. Read frequency together with click-through rate: when frequency climbs and click-through rate falls week on week, the ad is tired. The worksheet on this page lets you set your own limits.

    Why does Meta show more purchases than GA4?

    Because they count differently. Meta's default credits a purchase up to 7 days after a click or 1 day after a view, while GA4 shares credit across channels with its own model. A steady gap is normal. A gap that suddenly widens points to a tracking problem, so check it first.

    Can ai-dm change a brand's Meta campaigns?

    Only with your team's approval. ai-dm suggests the change, such as pausing a tired ad or moving budget to an ad set that converts, and the suggestion waits in the approval queue. Nothing changes in a brand's account until someone on your team approves it, and every decision is recorded.

    Does ai-dm tell us which ads caused a sale?

    No. ai-dm doesn't build attribution models and doesn't report blended CAC or MER. It reports what Meta records for each ad, checks it against GA4 and links every finding to the record behind it, so your team makes the call with the evidence in front of it.

    What does a Meta ads audit in ai-dm cost?

    There's no plan to pick. Sign up, pay as you go, and connect one brand's Meta account with one secure sign-in. Billed in USD and INR. Per-brand plans or pay as you go. A brand's data is deletable on request.

    Audit a brand's Meta ads

    No plan to pick. Billed in USD and INR. A brand's data is deletable on request.

    Win the why.™

    Every number that moves has a reason. Dashboards show what happened; they rarely show why. Without the why, teams guess, act late and lose trust. ai-dm exists to win the why for every brand, every day: to find the reason behind every change, prove it with evidence, recommend the next move and check that it worked. Then it starts again, because the why keeps changing. When you win the why, you stop guessing and start growing. That is why we exist.

    Gather. Analyse. Detect. Alert. Recommend. You act. Monitor. Learn and repeat. Always on.

    Find the leak before the brand does.

    Talk to the founder