← All posts
Case Study

The Audit That Found $12K in Wasted Monthly Spend

A pet products brand was spending $54,000/month across Meta and Google. Account-level ROAS: 2.9. Founder thought the account was performing — 2.9 is above their 2.3 break-even. When we ran a full-funnel audit in their first month, we found $12,000 in monthly spend that was contributing nothing. Pausing it didn't reduce revenue. ROAS moved to 4.1. Same product, same market, same audience — $12,000 returned to the P&L every month.

Where the waste was hiding — not in ROAS, in campaign overlap

Account-level ROAS averages across all spend. A campaign running at 5.2 ROAS can mask two campaigns running at 0.8 and 1.4. The blended number looks healthy. The waste is invisible until you look at the bottom of the performance table — which most brands never do.

Three types of waste we find in almost every account above $30K/month in spend:

Type 1: Audience overlap. Multiple campaigns targeting the same buyers with different budgets, competing in the same auction against each other. The brand was running a Lookalike 1-3% prospecting campaign and a Lookalike 1-5% prospecting campaign simultaneously. Both were targeting the same core buyer profile — the 1-3% audience is entirely contained within the 1-5% audience. Meta was competing with itself, driving CPMs up by an estimated 18-24% on both campaigns. Combined spend: $7,200/month. The 1-3% campaign was paused. Spend consolidated to the 1-5%, which then ran more efficiently.

Type 2: Legacy campaigns with no purchase events. Six ad sets, each spending $80-140/day, that had been running since a previous campaign structure and had generated zero purchases in the last 47 days. They continued spending because the account was managed at the campaign level, not the ad set level — the top-performing campaigns looked fine, and the legacy sets were lost in the structure. Combined waste: $3,400/month. The 20-minute account audit filters for exactly these.

Type 3: Google Search cannibalization of branded traffic. The brand was running broad-match Google Search campaigns that were capturing branded search queries — people searching "[Brand Name] pet food" — and attributing that revenue to Google. These buyers were already going to purchase; they were typing the brand name. Google was charging $4.20 per click to intercept traffic that was coming organically. $1,400/month in branded search spend, zero incremental revenue.

The 3-step audit process

Step 1: Audience overlap check. In Meta, go to Audiences and run the Audience Overlap tool on your active prospecting ad sets. Any overlap above 20% between two prospecting audiences means you're competing with yourself. Consolidate — keep the broader audience, pause the narrower.

Step 2: Ad set performance by purchase events, last 30 days. Filter every ad set by spend above $200, purchases = 0. For each: check last purchase date, check if landing page is still live, check if audience hasn't collapsed in size. Pause any ad set above $200 spend with zero purchases in 30 days. No exceptions.

Step 3: Google branded search audit. Filter Google Search campaigns by search term report. Find any search terms containing your brand name. Calculate spend on those terms. Compare to organic rankings for the same queries. If you rank #1 organically for your brand name, you're paying to intercept your own traffic. Pause or exclude branded terms from broad-match campaigns.

What they paused — and what that freed

Combined pauses:

  • Lookalike 1-3% prospecting: $7,200/month → consolidated into existing 1-5%
  • Legacy ad sets: $3,400/month → eliminated
  • Branded Google Search: $1,400/month → eliminated

Total freed: $12,000/month.

Month-1 revenue after consolidation: $156,400 (vs. $154,200 the previous month). ROAS: 4.1 (vs. 2.9). No new creatives. No audience expansion. No new campaigns. Waste removed, budget concentrated on what was working.

Run this audit yourself — the exact sequence

Set aside 90 minutes:

Minutes 1–20: Meta Audience Overlap tool. Log overlap percentages between all active prospecting ad sets. Flag any pair above 20%.

Minutes 20–45: Ads Manager, ad set view, last 30 days. Sort by spend descending. Add Purchases column. Flag every ad set: spend above $200, purchases = 0. Note the combined monthly spend on flagged sets.

Minutes 45–60: Google Ads Search Terms report. Download for last 30 days. Open in a spreadsheet. Filter for any row containing your brand name or product name as a modifier. Sum the spend column. Check organic rankings for those queries.

Minutes 60–90: Tally the three numbers. Total spend flagged for elimination. Present to yourself or your team as a budget reallocation decision — not a cut, a reallocation. Freed budget to winning campaigns.

The waste in most accounts above $30K/month is $5K–$15K/month. It doesn't appear in ROAS dashboards. It appears in the rows nobody sorts to the bottom to read.