Case study · 9 min read

How a regional roaster 4x'd revenue in 9 months. (And the two months we wasted first.)

Client
Specialty coffee · DTC
Engagement
9 months
Scope
Brand · site · email · paid
Outcome
+312% monthly revenue

A note on anonymization. Client identity is withheld per agreement. Numbers are real; rounded for readability. Names, location, and product details have been changed. This case study represents the shape of our work. Happy to walk through specifics on a call.

The situation when they walked in.

A nine-year-old regional coffee roaster with three retail locations, a strong local following, modest wholesale, and a DTC e-commerce site doing about $18K/month in revenue. The retail side paid the bills; e-commerce was an afterthought.

The founder had three problems and was about to admit it. The site was built in 2019 and looked like it. They'd burned $40K with two different agencies in the prior year on paid media that produced clicks and zero attributable revenue. And the brand identity (earnest, dated, "the coffee speaks for itself") wasn't speaking for itself anymore. Whole Foods had started carrying a national competitor in two of their three markets.

"Our retail business is fine. The internet business is supposed to be the easy one and it's the one I can't make work."

The first call was 45 minutes. We told her we wouldn't take the project unless three things were true: they had product-market fit on retail (yes), gross margins above 50% (60%, after shipping), and a founder who could decide quickly (yes, with reservations).

The first two months: what didn't work.

Our first instinct, looking at the brand and the site, was to start with brand. Run a positioning workshop, rebuild the identity, launch a refreshed site, then turn on paid. Classic agency move. We were partly right and mostly wrong.

What flopped

We spent six weeks on a brand sprint that should have taken three. Beautiful work, deeply considered positioning, a defensible visual system. The founder loved it. The customers never saw it, because the site rebuild kept getting pushed, the paid media couldn't start without the new creative system, and revenue kept tracking flat at $18K/month while we polished.

By month two we'd done good brand work and zero revenue work. The founder was getting nervous. We were getting nervous. The retainer was being spent on craft, not outcomes.

The honest lesson: brand work has to live alongside, not before, revenue work, especially for a business with existing PMF. The new identity didn't change a single dollar of monthly revenue. What it changed was the foundation everything after it stood on. But foundations don't pay rent.

The pivot: build the loop, then make it bigger.

Mid-month two we restructured the engagement. Three workstreams running in parallel instead of in sequence:

  • Brand & site: Ship a minimum-viable rebrand on the existing site within two weeks. Full identity rollout later. New colors, new wordmark, new hero copy, new product photography on the top three SKUs.
  • Email: Build a welcome series and a winback flow before touching anything else. Their list was 14,000 dormant subscribers from retail visits. Nobody had emailed it in eight months.
  • Paid: Start a tightly scoped Meta test with a $100/day budget. Three creatives. Two audiences. Don't expand until we had ROAS above 2.5x for two weeks running.

The argument that won the day was simple: fix the existing loop before pouring traffic into it. Most agencies start with paid because that's where the retainer math works for them. We started with the parts of the funnel that were already free.

What actually moved the number.

Email did 60% of the work.

The 14,000-subscriber list, re-engaged with a four-email winback flow, a new welcome series, and a weekly "what we're roasting" newsletter, generated $22K of incremental monthly revenue by month five. We didn't spend any new acquisition dollars to get there. The list already existed; nobody had been talking to it.

Paid worked, but smaller than expected.

By month four, paid Meta hit a sustainable 3.1x ROAS on the top SKUs. We scaled spend from $3K/month to $14K/month. That added roughly $32K in monthly revenue at a 19% blended margin after COGS and shipping. Profitable, scalable, but not the heroic growth story most paid agencies pitch.

Brand pulled retail demand into the site.

The least measurable, possibly the most important. Retail customers who'd never visited the site started ordering between visits. The new brand work made the site feel like the third location, not the warehouse where retail customers went only when they were desperate.

$18K/mo
Starting revenue
$72K/mo
Month 9 revenue
3.1xROAS
Paid Meta (sustained)
31%
Email open rate
14K
List re-engaged
9 months
Total engagement

The timeline, week by week.

Weeks 1–2
Kickoff. Brand sprint launched. Site audit. Email audit. Paid account audit.
Weeks 3–6
Brand sprint completed. Site rebuild started. Revenue: flat. (This is where we were wrong.)
Week 7
Restructured engagement. Three workstreams in parallel. MVP rebrand shipped to existing site.
Weeks 8–10
Welcome series live. Winback flow live. Paid Meta launched at $100/day.
Weeks 11–16
Email revenue compounding. Paid scaled to $300/day at sustained 2.8x ROAS.
Weeks 17–24
Full site rebuild shipped. Paid scaled to $500/day. ROAS held at 3.1x.
Weeks 25–36
Subscription program launched. LTV per customer grew 41%. Monthly revenue at $72K.

What we'd do differently.

Two things.

Start the email work in week one. The list was sitting there for six weeks while we did brand work. That's six weeks of compounding revenue we left on the table. The brand work didn't need to happen before email; it just felt like it did, because that's the sequence agencies prefer.

Constrain the brand sprint to three weeks, not six. The first three weeks produced 80% of the strategic value. The next three weeks were polish. Polish has a place. It's not week four of a nine-month engagement.

If you're running a business with existing PMF and you're considering an agency engagement, our advice is: find the loops that are already free, and fix them before you spend a dollar on acquisition. It's not flashy. It's the highest-leverage thing you can do.

Sound like your situation?

A 30-minute call tells us whether the same playbook applies. No deck. No homework.

Email us