Strategy teardown

Teardown №03 · June 2026 · written cold · self-set

How I’d architect a merchant activation journey

A self-set teardown — no client, no brief. The scenario: a marketplace signs merchants who never reach a first order. Thousands of accounts, live, addressable — and silent. I design the journey that gets them to order one, and the measurement that proves it was the journey and not luck.

Series rules: written cold, over a few days, no inside data. This one I set myself — the dead-on-arrival merchant is the most expensive problem nobody puts on a roadmap. If you run this and see it differently, the correction gets published.

The challenge

One problem, two halves — and the second half is where the money is:

  1. 01Activation, not acquisition. Sales did its job — the merchant signed. But a signed merchant who never takes a first order is a cost, not a customer: onboarding spend, a menu in the catalogue, support overhead, and no GMV to show for it. The journey has to carry them from “account created” to “first order shipped.”
  2. 02Prove it was the journey. The easy win is a stack of emails and a chart of opens. The real job is proving the merchants in the journey activated faster and more often than the ones who didn’t — at a margin that’s worth the channel cost. That’s a measurement problem, not a content problem.

My read

I read “activate merchants” as “find the first-value moment” — the single action after which a merchant keeps going on their own. Everything before it is friction. Everything after it is habit.
  • The first order isn’t the goal — it’s the proxy. The goal is the second order. A first order with a cold kitchen and a bad photo and a 40-minute prep time activates nothing. Architect for a good first order.
  • Most onboarding flows send the same five emails to everyone. A merchant stuck on menu upload and a merchant stuck on bank details are two different problems wearing the same “inactive” label. Branch on the blocker, not the calendar.
  • The temptation is to measure sends. Sends are not activation. A merchant can open every email, click every link, and never take an order. Behavior is the only signal that counts — and a hold-out is the only honest scorecard.

If this is your problem space

Cold signups, dead-on-arrival accounts, an onboarding flow nobody can prove works. 30 minutes, video, no agenda template.

Key frameworks

Framework 01

The questions I ask before I build anything.

Questions-first means refusing to architect a journey until the economics and the data are clear. Before a single trigger is drawn, five answers decide the whole design: what “activated” actually means, why merchants stall, what the first order is worth, what the platform can see in real time, and who already converts without help. Build before you have them and you automate a guess.

A senior operator’s first deliverable isn’t a flow. It’s the list of things the brief left out:

  • What is “activated”? First order placed? First order delivered? First order with a repeat within 14 days? The definition sets the success metric — pick the wrong one and you’ll celebrate orders that never come back.
  • Where do they stall? Pull the funnel before writing copy: signed up → menu live → payments connected → first order → repeat. The biggest drop-off is the only stage worth a campaign. Everything else is noise.
  • What is a first order worth? Average basket × take-rate × repeat probability, minus the cost to acquire that order through the journey. If a saved merchant is worth less than the channel cost to save them, the right answer is to send nothing.
  • What can the platform see, and how fast? Real-time “menu published” event, or a nightly batch? The latency of the data decides whether the journey is reactive or just scheduled. This question kills more good designs than any other.
  • Who activates without us? Some merchants reach first order on day one with no help at all. If you blanket them with onboarding emails, you spend money to annoy people who were already converting — and you’ll mistake their orders for your impact. That’s what the hold-out protects against.

Framework 02

The data layer — platform-agnostic, by design.

A merchant activation journey needs three kinds of data joined on one merchant ID: profile attributes (country, vertical, signup date), setup state (menu published, payments connected, hours set), and behavior (orders, sessions, support tickets). The design stays platform-agnostic: a warehouse or CDP holds the joined merchant record; the messaging tool — Braze, Customer.io, Iterable, in-house — only consumes events and attributes. The brain is the lifecycle logic, not the sender — swap the tool, keep the logic.

The pipeline is the same shape on every stack I’ve worked on:

Source

Setup + order events

menu_published · payments_connected · first_order

Join

One merchant record

warehouse / CDP · keyed on merchant_id

Derive

The blocker attribute

stalled_stage = first incomplete step

Activate

Triggered into any channel

email · WhatsApp · in-app · CSM task

The one attribute that earns its keep is `stalled_stage` — the first setup step a merchant hasn’t completed. It turns a vague “inactive” list into a precise queue: this group needs help with the menu, that group needs a nudge on bank details. The whole journey branches off this one derived field.

Framework 03

Trigger by trigger — branch on the blocker, not the calendar.

A blocker-based sequence fires on what a merchant hasn’t done yet, not on days-since-signup. Each setup gap is a branch with its own trigger, its own channel, and its own exit condition: the moment the merchant completes the step, that branch stops. A merchant who finishes setup in an hour gets one message, not a five-email drip meant for someone who’s stuck.

Five branches, each with a reason it exists:

Trigger
Timing
Channel
Why
Account created, menu not started
T+1h
In-app + email
Strike while intent is hot. One step, one CTA: “Add your first three items.”
Menu live, payments missing
T+1h after menu
Email + WhatsApp
They’re almost live. Remove the last blocker, don’t re-sell the platform.
Setup complete, no first order in 72h
T+72h
WhatsApp + CSM task
Ready but invisible. Fix discoverability — photos, hours, a launch push to nearby diners.
First order placed
T+0, real-time
In-app + email
The win moment. Reinforce it, set up the second order. This is the order that matters.
Stalled 14 days, any stage
T+14d
Email, then stop
One honest “still want this?” — then suppress. Silence is an answer; respect it and protect deliverability.

One discipline that separates seniors from juniors: fallback content. Every dynamic block — the merchant’s name, their city, their top item, their savings figure — needs a default that reads cleanly when the data is missing. “Hi {{first_name | default: 'there’}}” is the difference between a warm nudge and “Hi ,” landing in 4,000 inboxes. I write the fallback first, then the personalized version. The empty state is the real design.

Framework 04 · the centrepiece

The hold-out column. Activation, not opens.

A hold-out is a randomized slice of newly signed merchants — say 10% — deliberately excluded from the entire activation journey. They get nothing. Everyone else gets the full sequence. The gap between the two groups, measured on outcomes that touch the P&L, is the only honest measure of what the journey caused. Opens and clicks can’t tell you that — a merchant who’d have ordered anyway opens the email too.

So the scorecard is never “opens” or “CTR.” It’s five outcomes, journey vs. hold-out:

  • Speed-to-first-order. Median days from signup to first order. The headline number — a journey that activates the same merchants sooner is worth real money in pulled-forward GMV.
  • Activation rate. Share of signups that place a first order within 30 days, journey vs. hold-out. The gap is the incremental activation — not the raw rate, which flatters you with merchants who’d have ordered regardless.
  • Order volume and value. Orders per activated merchant and basket size in the first 30 days. A journey that activates merchants who then order once and vanish is a vanity win.
  • Profit, not GMV. Incremental GMV × take-rate, minus channel cost and any incentive spend. A free-delivery push can lift activation and lose money. The hold-out is what lets you see that.
  • 90-day churn and repeat rate. The honest long-game metric. Did the activated merchant still trade after three months? A first order is a proxy; retention is the verdict.

Notice what’s not on this list: opens, clicks, deliverability for its own sake. Those are diagnostics, not outcomes — I watch them to fix a broken send (once I took a platform from ~84% to 95%+ deliverability by fixing a defect, and that was plumbing, not proof). The hold-out is the proof. Without it, an activation report is a guess wearing a chart.

Before it ships · the bug I look for

The QA instinct: the journey that congratulates the wrong people.

Here’s the bug I’ve watched ship more than once. The “first order placed” celebration fires on the order created event — not order completed. So merchants who place an order that’s immediately cancelled, refunded, or fails get the “you’re live!” email and a push to chase the second order they never had. The metric looks great; the experience is broken; and the hold-out comparison is now polluted with non-orders.

The fix is one clause: trigger on a completed, paid order, and let the QA pass be “send myself through every branch with a fake merchant before a single real one gets a message.” Spot-the-bug isn’t a phase at the end. It’s a reflex you carry into the architecture.

Full artifacts

Working doc with the live thinking process + slide deck — the funnel diagnosis, the ingestion schema, the branch map, and the hold-out readout template. Available on request — typically shared during the fit call if relevant.

Request the deck →

If your signups go quiet after day one, let’s talk.

30 minutes. Video. No agenda template. We’ll know on the call whether the model fits.

or start with the €2,900 Diagnostic →