Last week, I audited a DTC account spending roughly $5M annually.
On paper, the account looked healthy. The blended ROAS was sitting at a comfortable 4.2. The previous agency - a well-known "performance partner" - was sending weekly reports full of green arrows.
But the founder felt stuck. Revenue wasn't growing, but spend was creeping up.
It took me less than 20 minutes to find the leak. They weren't hitting a ceiling; they were burning cash on "vanity metrics" that looked good in a dashboard but contributed zero net profit to the bottom line.
By the time I finished the audit, I identified $15k/month in wasted spend that could be immediately redeployed into actual growth.
Here are the three silent killers I found - the ones that checklist-driven agencies almost always miss.
1. The PMax "Bully" Effect (Cannibalization)
The previous agency was running a "Best Sellers" Standard Shopping campaign alongside a scaled Performance Max (PMax) campaign.
The Mistake: They assumed Google’s AI would neatly separate the traffic. It didn’t. PMax is a predator. If you don't restrict it, it will cannibalize your high-intent Standard Shopping traffic because it’s the path of least resistance for the algorithm to get a conversion.
What I Saw:
- The Standard Shopping campaign had a 900% ROAS but was strangling on low volume.
- PMax had a 350% ROAS and was taking 80% of the impression share on the exact same SKUs.
The Fix: You have to force the architecture. We implemented a "Zombie" structure for PMax (targeting only low-impression SKUs) and used strict negative placements to force the algorithm to hunt for new users rather than poaching easy conversions from the Standard Shopping bucket.
The Strategic Lesson: AI requires boundaries. If you don't fence it in, it will take credit for sales you were going to get anyway.
2. The "Smart Bidding" Trap (Optimizing for Garbage)
When I looked at their Conversion Actions, I saw the problem immediately. The agency had "Secondary" conversions (Add to Carts, Page Views) blending into the "Primary" bidding data used for Smart Bidding.
The Mistake: They were feeding the algorithm weak signals to "help it learn faster."
The Result: Google's AI did exactly what it was told: it found thousands of people who love to add to cart but hate to check out. The CPA looked low, but the actual cash-in-bank conversion rate was plummeting.
The Fix:
- We stripped out all soft metrics from the bidding algorithm.
- We implemented Enhanced Conversions and validated the Server-Side Tracking (SST) setup.
If you are spending $5M a year, you cannot rely on client-side pixels (browser data). We moved them to a server-side setup to recapture the 15-20% of data lost to iOS restrictions.
3. The "Brand Tax" (Vanity ROAS)
This is the most common sin in agency land.
The account showed a blended ROAS of 4.0. But when I segmented the data, the story changed:
- Brand Search: 25.0 ROAS
- Non-Brand (Cold) Search: 0.8 ROAS
The Mistake: The agency was over-spending on Brand terms within PMax to inflate the overall account average. They were showing the client a "blended" number to hide the fact that their cold traffic strategy was losing money.
The Fix: We implemented a Brand Exclusion List on PMax to force the campaign to go fishing for new customers, not just existing fans. Yes, the reported ROAS dropped initially, but the MER (Marketing Efficiency Ratio) and New Customer Revenue went up immediately.
The Verdict
The previous agency wasn't "bad." They were just following a checklist. They set up the ads, turned on the bidding, and sent the reports.
But at Marketing League, we don't do checklists. We do architecture.
The difference between a 2x ROAS and a 5x ROAS usually isn't the ad copy - it's the data structure, the exclusions, and the intent mapping happening in the background.
Does your agency report look great, but your bank account feels stagnant?
If you are an agency owner scaling a large account and you suspect you're leaking profit, send me the Account ID. I’ll tell you in 15 minutes if you’re actually growing, or just burning cash.




