Work — composite deployment
Nobody buys
from a feed
The email and SMS architecture behind brands facing severe restrictions on paid acquisition — and who can't afford to waste the attention they earn.
A representative route through the Lifecycle Operating System — one deployment across two channels, not the whole method.
- Discipline
- Lifecycle email & SMS
- Stack
- Klaviyo, owned channels
- Built from
- Delivery & dispensary engagements
- Names
- Withheld
The problem
The corner they're in
Cannabis brands face severe restrictions on mainstream paid acquisition. The major ad platforms restrict or prohibit the category, enforcement varies by jurisdiction and product, and an account can disappear with the audience attached to it.
So most of the attention a brand gets is earned rather than bought — a post that travelled, a bag someone saw at a show, a friend who said try these guys. It arrives once, usually at the worst possible moment, and it's gone unless something catches it.
That makes the list less like a marketing channel and more like the only audience the brand actually owns. Instagram's job is to make people curious enough to hand over an address. It was never the place to close.
Mental model
The spine
Every route runs the same underlying sequence. What changes is where a person enters it, how fast they move, and which branch their behaviour sends them down.
- Attention
- →
- Capture
- →
- Context
- →
- Behaviour
- →
- Intent
- →
- Purchase
- →
- Experience
- →
- Retention
- →
- Advocacy
- →
- Reactivation
- →
- Pruning
The route changes when the person changes.
The deployment
The route
Five stages across email and SMS. Every automated send has to justify why it exists, or it doesn't ship.
On the timings: these are representative intervals for this kind of catalogue and purchase cycle, not fixed rules. Real cadence is set by the product, the replenishment clock, and what the behavioural data says once the flows are live.
The catch
Acquisition → list opt-in → consent capture
Roughly one ask for every seven things given away, and the ask still has to be worth something on its own — a drop, a giveaway, an incentive. The link doesn't go to a product page; it goes to a door.
-
The offer post
The one-in-seven. Something worth having, gated behind an address rather than a purchase.
-
The signup
Email first, phone as a separate optional step — never bundled into one ask. Consent language and the age gate live here, not buried at checkout.
The introduction
Welcome sequence → expectation setting → brand education
Most welcome flows are a coupon with a logo on it. This one establishes who the brand is before it establishes what things cost, because the discount is the reason they joined and not the reason they'll stay.
-
Here's what you just joined
Deliver the incentive, set the expectation for what shows up and how often. No product grid.
-
The code, alone
If they opted in, it gets the code and nothing else. Text is utility.
-
Who's behind this
The origin story with no ask in it. This send decides whether the next four get opened.
-
How to actually use it
Product literacy — format education, dosing, what to expect. Useful to someone who never buys, which is the point.
-
The first ask
The incentive's running out. First hard ask of the sequence, and it's soft because it's a deadline rather than a pitch.
The hesitation
Browse abandonment → cart abandonment → intent recovery
Split by how much intent the person actually showed. Browsing is a shrug. A loaded cart is a decision that got interrupted — usually by fees, minimums or a delivery window, and those get answered directly instead of papered over with another discount.
-
Browsed, no cart
Low pressure, content-led. They looked and they're not ready. Discounting here trains people to wait.
-
Cart, interrupted
Their items, nothing else. The assumption is distraction, not doubt.
-
The nudge
The only place SMS enters on a non-purchase. High intent has been demonstrated, so the interruption is earned.
-
The objection, named
Delivery windows, minimums, fees — whichever one is actually killing the cart, answered out loud.
The second order
Post-purchase onboarding → replenishment → cross-sell retention
The gap that quietly kills delivery brands. A first order is a trial; the second makes someone a customer. Almost nobody builds for it, and it's the cheapest revenue on the board.
-
Logistics only
Confirmation, driver, window. The most-read message the brand will ever send, which is exactly why nothing is sold in it.
-
How was it
A real question with a reply address on it. Feeds the review pipeline and catches problems before they become public ones.
-
Replenishment math
Timed to what they bought and roughly how long it lasts. Different clock for flower than for a cart.
-
The next one up
Adjacent to the first purchase rather than a repeat of it. The job is to widen the shelf.
Rotation & the long goodbye
Behavioural segmentation → reactivation → sunset & list pruning
Segmented by how often someone actually orders, not by demographics. Heavy, steady, slipping. Campaign sends — drops, menu changes, events — ride on top of this and get held to the same ratio as the feed.
-
Content, not coupon
First contact after the cadence slips is worth something on its own. A lot of people come back here and cost nothing.
-
The one offer
A single, genuinely good incentive. Not a standing discount they can wait for next month.
-
Should we let you go
Ask honestly and mean it. The people who stay after this send are worth ten who never answered.
Operating rules
What holds it together
SMS is a fire alarm, not a radio station
It goes off when something is actually happening — an order is moving, a cart is dying, a drop is live. Every send outside those three spends a little of the permission that makes them work.
Every automation justifies itself or gets cut
If nobody can say what a send is for beyond filling a slot in the calendar, it's dead weight sitting in an inbox with the brand's name on it.
Compliance is structural, not decoration
Age gating, express consent, STOP and HELP handling, and the platform and carrier rules that apply to regulated categories, built into the flow from the first field. Compliance-aware architecture, built to be reviewed by the brand's own counsel rather than to replace them.
Voice survives automation
Automated is not a reason to sound automated. Every send is written in the brand's actual voice, because the alternative is the template smell people spot in half a second.
Deliverables
What ships
Flow architecture
Every sequence mapped end to end — triggers, timing, branch logic, exit conditions and suppression.
Full copy
Written, not templated. Subject lines, preview text, body, SMS at length limit.
Segmentation
Built on real behaviour — order cadence, category, engagement — and maintained as it drifts.
Compliance layer
Consent capture, age gate, opt-out handling, regulated-category rules.
The calendar
Campaign sends layered on top of the automations without cannibalising them.
The handover
Documented well enough that the brand can run it without me. That's the whole point.
On proof
What it did
One brand. One year. This architecture, running end to end.
-
$4.6M
Platform-attributed revenue
in a single year -
~$22K
Total platform spend
across the same year -
66% → 86%
Deliverability, rebuilt
from the sender up
The revenue is the headline. The deliverability is the part that made it possible — a list landing in inboxes two-thirds of the time is a list with a third of its value already gone, and no amount of good copy outruns a bad sender reputation. Fixing that came before a single flow was written.
The brand isn't named here, and that's deliberate. The numbers are evidence that the architecture works, not an advertisement for one client's business — and a case study that turns into a logo parade stops being about the thinking. If you want the name, the full reporting and the parts that didn't work, that's a conversation, not a landing page.
Composite case study. The route is assembled from multiple delivery and dispensary engagements; the figures above are from a single one of them. Unnamed by design, nothing invented. The method this deploys is documented in full in the Lifecycle Operating System.