Why most D2C brands stall at £2m, and what we've learned pulling them through.

The story brands tell themselves is almost always about acquisition. Paid media is getting harder. CAC is up. The attribution is a mess. If we could just crack the channel mix, the thinking goes, we'd be through it.

It's not untrue. But it's usually not the real story.

The operational debt nobody writes about

When we audit these businesses (and by audit I mean sit in the office for two days with the founder, the head of ops, and a large whiteboard), what we find is a stack of small decisions that were right at £500k and are quietly capping growth at £2m.

None of these are heroic problems to solve. They're unglamorous. They don't feature in the podcast interviews. But they compound.

What actually moves the number

The interventions that have repeatedly taken brands from £2m to £5–7m in our cohort are, in rough order of impact:

  1. Fix the cost stack before you fix the funnel. Renegotiate manufacturing. Rationalise SKUs. Get packaging down 15%. This frees the margin to buy growth later.
  2. Re-brief the brand against the customer you actually have. Not the one you hoped for two years ago. Do the qual. Then do it again.
  3. Tighten operations so scale doesn't break them. A better 3PL, a proper ERP, one full-time ops hire before the next five marketing hires.
  4. Then, and only then, open the acquisition question. You'll find the channels work better because the product, brand and operations now earn the attention you're buying.

The uncomfortable bit

This is not what most founders want to hear at £2m. It sounds like slowing down. In practice the brands we've taken through this sequence have come out the other side growing faster than they ever did before, because the growth is sitting on an operational base that can take it.

If any of this is resonating too closely, we'd rather you didn't sign another six-month retainer with a growth agency. Send us a brief, and we'll tell you honestly whether the problem is acquisition or something else, and match you with the right operator either way.