Skip to main content
Sturnix
← All posts

Guides

How to Audit Your Performance Marketing Agency — in Its Own Data

6 min read

You pay the retainer. The monthly deck is green. And still, something feels off.

That feeling is a vibe. Vibes are not evidence.

Most “signs of a bad agency” checklists ask how the relationship feels — responsiveness, chemistry, whether they “get” the brand. Fine questions. Unfalsifiable ones. Your ad account, meanwhile, keeps records: Google Ads logs every change ever made, Meta keeps account history, and the search terms report has no narrative to protect.

So audit the account, not the relationship. Five checks, about an hour, in data nobody can retroactively edit.

One number for calibration first. The ANA’s Programmatic Media Supply Chain Transparency Study traced $123M of real spend and found roughly 25% of programmatic budgets wasted — only about 36 cents of every dollar entering a DSP reaches a consumer as effective working media. Waste is the industry baseline. Unexamined waste is a choice. Sturnix is an autonomous system that runs this kind of scrutiny on ad spend every day; the free audit is how it introduces itself. Below is the manual version.

Agency audit protocol sheetFive-check agency audit protocol sheet with two failed checks — brand vs. non-brand split and zombie spend — flagging a $4,210 monthly leak.AGENCY AUDIT — 5-CHECK PROTOCOLAudit the account, not the relationship.01 CHANGE HISTORY ............ PASS02 BRAND VS. NON-BRAND ....... FAIL03 ZOMBIE SPEND .............. FAIL −$4,210/mo04 PLACEMENTS ................ PASS05 NUMBERS TIE OUT ........... PASSRESULT: 2 OF 5 FAILEDSturnixNo vibes. Just science.

Check 1: The change history

Pull: Google Ads → Tools → Change History, last 30 days, automated changes filtered out. In Meta: Account History.

Pass: Regular, substantive work — negatives added, creative rotated, bids and structure adjusted — each change with a rationale someone could defend.

Fail: Silence since onboarding, or nothing but budget top-ups.

This is the set-and-forget detector. Agencies tend to deliver a strong first 90 days of low-hanging fruit, then coast. Your fee is monthly. The change log shows whether the work is.

Check 2: The brand vs. non-brand split

Pull: Search campaigns segmented into branded and non-branded terms, with ROAS or CPA computed for each — separately.

Pass: Your agency already reports them separately, unprompted.

Fail: One blended number, which splits into great brand economics and non-brand underwater.

People searching your name were coming anyway. An agency charging a percentage of spend to harvest brand clicks is billing you for rain. Blended ROAS is the single most common place a mediocre account hides.

Check 3: Zombie spend

Pull: 90 days of search terms, placements, and ad sets. Sort by spend. Filter to zero conversions.

Pass: A small tail, actively pruned — cross-reference Check 1 to confirm the pruning actually happens.

Fail: A double-digit share of budget parked on queries that have never converted.

This check returns a dollar figure, not an opinion. Write it down. You’ll want it for the conversation later.

Check 4: Where your ads actually ran

Pull: The placement report — Display, Performance Max, Meta Audience Network.

Pass: You recognize the domains, or a maintained exclusion list recognizes them for you.

Fail: Thousands of sites nobody chose.

The ANA found the average programmatic campaign ran on 44,000 websites, with “made for advertising” sites taking 15% of spend for 21% of impressions. A few hundred sites reach most audiences. The other 43,000 are where budgets go to be technically delivered.

Check 5: Numbers that tie out

Pull: Platform-reported conversions from every channel, summed. Then your backend — CRM, GA4, order count — for the same period.

Pass: Reporting names one source of truth and leads with CAC or MER against real business numbers.

Fail: The platforms’ sum exceeds your actual sales, and the deck leads with the bigger number. Or with impressions.

Every platform claims full credit for shared conversions. An agency reporting platform totals as business results is either not checking or hoping you won’t. Activity is not achievement.

Scoring

Zero fails: you have a good agency. Tell them — they’re rarer than their industry admits.

One or two: schedule a conversation, and bring the dollar figure from Check 3, not adjectives.

Three or more: the retainer is buying reporting theater.

One bonus check while you’re in there, thirty seconds: confirm the ad accounts, pixel, and conversion history live in your Business Manager, with the agency as an invited partner. Plenty of businesses discover the opposite on the last day of a contract.

And a fair test of any agency: send them this list. A good one passes in its sleep and won’t flinch when you ask. The reaction is itself a data point.

The part where we tell you what we sell

None of the failures above are bad-apple problems. They’re structural. A retainer buys human attention, and human attention decays — after the pitch team hands off, after the easy wins run out, after your account becomes one of twelve. The ANA’s own guidance points at the deeper issue: an agency acting as a principal has no obligation to act in your interest unless the contract makes it one, and fees pegged to a percentage of spend reward growing the spend, not the efficiency.

Sturnix is built on the opposite structure — an autonomous system that runs every one of these checks continuously and fixes what it finds. It doesn’t coast after 90 days. It doesn’t rotate a junior onto your account. It doesn’t get bored adding negatives at 2 a.m.

It starts with the audit, which is free: upload a standard Meta, Google, or TikTok export and get the five checks above, priced in dollars, in about a minute. No ad-account access, no API tokens, no email to see results. The continuous optimization is what we sell.

The audit finds the leak once. Sturnix fixes it — and keeps watching.

No vibes. Just science.


FAQ

How do I know if my performance marketing agency is doing a good job?

Check primary data, not the monthly deck: the change history for evidence of ongoing work, a brand/non-brand split for honest ROAS, the search terms report for wasted spend, and whether platform-reported conversions reconcile with actual sales. An hour in the account beats a quarter of status calls.

How much ad spend is typically wasted?

The ANA’s 2023 supply chain study put programmatic waste at roughly 25%, with only ~36 cents per dollar reaching consumers as effective working media. Account-level waste — zombie terms, junk placements, brand-term padding — sits on top of that, and is fully auditable.

Can AI optimize ad spend automatically?

Yes. The same checks in this post can run continuously as software: monitoring change velocity, splitting brand from non-brand performance, pruning zero-conversion spend, and reallocating budget as results shift. That is the category Sturnix operates in — autonomous performance marketing — with a free audit as the entry point.