Skip to content

Case study

Six lifecycle flows for a coffee subscription brand

A direct to consumer coffee roaster shipping subscriptions across Canada and the northern United States sent one newsletter a week to everyone on the list. We replaced it with six automated flows and a sending domain that reaches the inbox.

Named only with client approval Figures marked are illustrative Reply within one business day

Attribution · this quarter

GA4 · server-side
Direct
Paid
Social
Organic
Email

312

Booked calls

3.1x

ROAS

−31%

CPL

The engagement, in short

OlDevs rebuilt the email programme for a direct to consumer coffee roaster shipping subscriptions across Canada and the northern United States, replacing a single weekly newsletter with six lifecycle flows in Klaviyo: welcome, first order onboarding, replenishment timed to each customer's bag size and grind, winback, a cancellation save with a pause option, and post delivery review requests.Deliverability was repaired by authenticating the sending domain with SPF, DKIM and DMARC, moving sending to a dedicated subdomain, warming it over three weeks and suppressing addresses with no engagement in twelve months. Revenue for every flow is reported against a holdout group, so the roaster can see what the automation is actually worth rather than taking credit for orders that would have happened anyway. Repeat revenue from email is up 38% and inbox placement is up 21 pts.

Key facts

01Client
Direct to consumer coffee roaster shipping subscriptions across Canada and the northern United States
02Industry
Food and beverage retail
03Services
Email & Lifecycle, Analytics & CRO
04Duration
Ongoing since 2025
05Platforms
Klaviyo, dedicated sending subdomain, SPF, DKIM and DMARC
06Outcome
6 lifecycle flows live, +38% repeat revenue from email

The challenge

One newsletter for everyone, and fewer of them arriving

The roaster sent one newsletter a week to the entire list and nothing else, so a first time buyer and a three year subscriber received identical mail on the same morning. Cancellations were handled ad hoc through the support inbox, and nobody could say which message had brought a lapsed customer back. Open rates had been sliding for over a year, and a growing share of sends never reached the inbox at all.

01

The same mail for a new buyer and a three year subscriber

One weekly send went to the whole list regardless of what someone had bought, how long they had subscribed or when their last bag shipped. Nothing acknowledged a first order, and nothing arrived when a customer was about to run out of coffee.

Segmentation · Lifecycle

02

Cancellations handled by hand in the support inbox

A subscriber who wanted to stop wrote to support, and whether they were offered an alternative depended on who replied that day. There was no pause option, no consistent save offer and no record of which conversations kept a subscription alive.

Retention · Manual process

03

No way to say which message brought a customer back

Winbacks happened, but the credit was guesswork. Without a holdout or clean campaign tagging, the team could not separate revenue the email programme created from repeat orders that would have arrived on their own, so every debate ended in opinion.

Attribution · Measurement

04

A growing share of sends never reached the inbox

The sending domain had no complete SPF, DKIM and DMARC setup and shared reputation with unrelated mail. Long dormant addresses stayed on the list and dragged engagement signals down, so more mail landed in spam and open rates fell for over a year.

Deliverability · Authentication

What we built

Six flows, an authenticated domain and an honest holdout

We rebuilt the programme in Klaviyo as six flows that follow a subscriber from first order to renewal, cancellation or return, with replenishment timed to each customer's bag size and grind rather than a fixed calendar. In parallel we authenticated the sending domain with SPF, DKIM and DMARC, moved sending to a dedicated subdomain, warmed it over three weeks and suppressed addresses with no engagement in twelve months. Revenue per flow is reported against a holdout group, so the roaster sees what the automation is worth instead of what it can claim.

01

Six lifecycle flows mapped to the subscription

Welcome, first order onboarding, replenishment, winback, the cancellation save and post delivery review requests were built in Klaviyo as one connected programme. Each flow has entry rules, exit rules and suppression logic written down, so a customer never sits in two flows at once.

Klaviyo · Automation

02

Replenishment timed to bag size and grind

Instead of a fixed monthly reminder, the replenishment flow reads the customer's bag size and grind and sends before that coffee runs out. Subscribers who buy larger bags hear from the roaster less often, because the timing follows what they actually ordered.

Personalisation · Retention

03

A cancellation save with a pause option

Cancellation moved out of the support inbox into a flow that offers a pause, a change of frequency or a different roast before it processes the request. Support still handles the exceptions, but the routine cases now follow one consistent path.

Retention · Support workflow

04

Deliverability rebuild and holdout reporting

SPF, DKIM and DMARC were completed, sending moved to a dedicated subdomain warmed over three weeks, and twelve month non openers were suppressed. Every flow reports revenue against a holdout group so the numbers survive scrutiny.

Deliverability · Analytics & CRO

Process

How the engagement ran.

  1. Audit the list and the sending setup

    We reviewed a year of sends, list growth, engagement decay and authentication records, then checked inbox placement so we knew how much of the problem was content and how much was delivery.

  2. Map the subscriber lifecycle

    Working with the retention lead, we drew the real journey from first order to renewal, pause, cancellation and return, and agreed which six moments deserved an automated message rather than a newsletter mention.

  3. Build the flows in Klaviyo

    Each flow shipped as a working demo the roaster could read and approve, with entry and exit rules, suppression logic and accessible templates reviewed against WCAG 2.2 AA before anything went live.

  4. Authenticate, warm and clean

    We completed SPF, DKIM and DMARC, moved sending to a dedicated subdomain, warmed it over three weeks at rising volume and suppressed addresses with no engagement in twelve months.

  5. Measure against a holdout and keep iterating

    A holdout group was carved out before launch so revenue per flow could be compared honestly. We review results with the roaster on a regular cadence and test subject lines, timing and offers from there.

Stack

What it was built with.

Lifecycle platform

Klaviyo flowsKlaviyo segmentsSuppression listsA/B split testingProfile properties for bag size and grind

Deliverability

SPFDKIMDMARCDedicated sending subdomainList hygiene and suppression

Measurement

Holdout groupsRevenue per flow reportingEngagement reporting by flowTwelve month engagement windows

Email craft

Responsive email templatesPlain text alternativesWCAG 2.2 AA colour contrastDescriptive alt text

Ways of working

A working demo every weekWritten flow documentationClient owned accounts and assets

+38%

Repeat revenue from email

6

Lifecycle flows live

+21 pts

Inbox placement

Outcomes

What changed for the client.

01

Repeat revenue now comes from mail nobody sends by hand

Repeat revenue from email is up 38%, and most of it arrives through flows that run without anyone choosing a send date.

02

Six flows cover the lifecycle end to end

6 lifecycle flows live, from welcome and first order onboarding through replenishment, winback, cancellation save and post delivery review requests.

03

More of what is sent actually lands

Inbox placement is up 21 pts after authentication, a dedicated warmed subdomain and the removal of twelve month non openers.

04

Cancellation is a considered path, not an inbox scramble

Subscribers who want to stop are offered a pause or a change of frequency first, and support handles exceptions instead of every request.

In their words

The client on the result.

We stopped debating which newsletter to send this week, and most of our repeat orders now come from messages that go out without anyone touching them.
AD

Retention lead, direct to consumer coffee roaster

Food and beverage retail

FAQ

Questions about work like this.

The roaster needed flows driven by order data: bag size, grind, last shipment and subscription status. Klaviyo holds those profile properties and triggers on them directly, which is what makes replenishment and winback possible. The newsletter tool could send to a list, but it could not act on what a customer had bought.

Authentication itself is quick, but a dedicated sending subdomain has to be warmed at rising volume, which took three weeks here. Reputation then keeps improving as engagement rises and dormant addresses are suppressed, so we look at inbox placement over months rather than judging it from a single send.

A holdout is a randomly selected slice of customers deliberately excluded from a flow. Comparing their revenue with everyone else's shows what the automation added rather than what it happened to be present for. It costs a little revenue in the short term and it is the only way to answer whether a flow is worth keeping.

The list gets smaller and the reachable part gets larger. Addresses with no engagement in twelve months rarely convert, and continuing to mail them signals to inbox providers that the sender is not worth delivering, so those are the ones we suppress.

The client does. Every account, flow, template, domain record and piece of documentation belongs to the roaster, and we build inside their own Klaviyo and DNS rather than an agency container. If the engagement ends, the programme keeps running and another team can pick it up without a migration.

Still have a question? Ask us when you request a quote

Let’s connect

Have a problem like this one?

Tell us what is not working. We’ll reply within one business day with how we would approach it and a tailored quote.

We’ll only use your details to prepare your quote. No lists, no spam.

Call us Request a quote