Why we fired our biggest client

A $40k/month retainer. Our largest account by a factor of two. Nine months of missed KPIs, three strategy pivots, and one letter that was the hardest thing we've written. This is what we learned about saying no when saying yes is easier and more profitable.

We're not going to name the client. You'll understand why by the end. What matters isn't who they were but what the engagement taught us about the limits of a performance agency's value — and the cost of ignoring those limits.

They came to us in early 2024. Series C, consumer fintech, $200k/month in media spend across six channels. The previous agency had been fired for "lack of strategic depth." The brief was ambitious: cut CAC by 40% while scaling spend 50% over six months. We said yes. We shouldn't have.

The first three months

The audit revealed what audits usually reveal: tracking was broken, the account structure was bloated, and creative hadn't been refreshed in four months. Standard stuff. We rebuilt the tracking stack in week one, consolidated 90 ad sets into 12, and shipped 30 new creative concepts in the first month.

CAC dropped 18% by week six. We were ahead of pace. The weekly standups were optimistic. The CMO started talking about expanding scope.

Then the product team shipped a pricing change without telling marketing. The $9.99/month tier became $14.99/month overnight. Conversion rates dropped 30% in 48 hours. Our CAC gains evaporated.

The middle period

We adapted. New landing pages for the new price point. Value-framing creative instead of price-framing creative. The numbers stabilized, but they didn't recover to pre-change levels. The market had told us something: at $14.99, the offer was weaker. No amount of media optimization could fix a pricing problem.

We told the client this. Directly, in writing, in the month-four review. The recommendation was clear: either revert the pricing or accept a higher CAC floor. The response was polite but firm: "That's a product decision. Focus on the media."

This is the moment we should have escalated. Instead, we focused on the media.

Months five through seven were a grind. We tested 14 different landing page variants, three entirely new positioning angles, and expanded into two new channels (Reddit and podcast sponsorship). Some tests won. Most didn't move the needle enough to offset the pricing headwind. The weekly standups became tense. The CMO stopped attending.

The work was good. The results weren't. That gap is where agency integrity lives or dies.

The decision

Month eight. We were billing $40k/month for work that wasn't producing $40k/month in value. The client's CAC was still 15% above target, and every lever we could pull had been pulled. The remaining gap was structural — a product-market-price problem that no amount of media buying could solve.

We had two options. Option one: keep billing. Twelve months of guaranteed revenue, the client wasn't complaining loudly enough to fire us, and we could point to the pricing change as the exogenous factor. Many agencies would have chosen this. We've seen agencies choose this.

Option two: tell the truth and walk away.

We chose option two. The letter took three hours to write. It laid out the data, the tests we'd run, the results of each, and the conclusion: the remaining CAC gap was not solvable with media. The fix was pricing, product packaging, or both. Continuing to bill for media optimization against a structural constraint would be, in our view, dishonest.

What we learned

The client was gracious. They disagreed with our conclusion but respected the decision. They hired another agency the following month — one that, as far as we can tell, is still running the same playbook we exhausted. Their CAC hasn't moved.

For us, the lesson was about intake, not exit. The engagement failed at the beginning, not the end. We accepted a brief — "cut CAC by 40% while scaling spend 50%" — without interrogating the assumptions behind it. The assumptions were that the offer was strong, the pricing was defensible, and the product-market fit was established. Two of those three were wrong, and we should have pressure-tested them before signing.

Since then, we've added a pre-engagement step we call the "constraint audit." Before we scope a program, we evaluate whether the problem the client is asking us to solve is actually a media problem. If it's a product problem, a pricing problem, or a market-fit problem, we say so. Sometimes that means we don't get the deal. That's fine. It's cheaper than getting the deal and failing for nine months.

We also hardened our review cadence. At the three-month mark, every engagement gets a formal "stay or go" evaluation. If the program is producing measurable value, we continue. If it's not, and the path to value isn't clear, we have the exit conversation before month six, not month eight.

The uncomfortable part

Firing a $40k/month client cost us $480k in annual revenue. For a fourteen-person agency, that's significant. It affected hiring plans and pushed one project investment back by a quarter.

But it also freed our senior strategist — who had been spending 25% of their time on an account that wasn't working — to focus on three accounts that were. Those three accounts grew by a combined $22k/month in retainer value over the following year. The math, eventually, worked out.

The harder math is the kind that doesn't show up in a spreadsheet. Telling a client the truth, even when it costs you money, is the only way to build the kind of reputation that compounds. Seven of our last ten inbound leads have cited our writing — including this essay — as the reason they reached out. You can't fake that kind of trust. You can only earn it by occasionally doing the unprofitable thing.

← All essays Oldest essay
→ IS YOUR AGENCY TELLING YOU THE TRUTH?

Get a
second opinion.

The free audit memo is honest by default. If the problem is media, we'll tell you. If it isn't, we'll tell you that too.