For the CRM team and the Braze developer. The journey as it runs today and as it should run by phase, then the Phase 1 build: one row per send Braze builds, with what starts it, what stops it and what it needs. The words per version are on the Design brief; the full logic per row, and the copy of record, sit on the Decisioning matrix.
Phase 1 ships on Braze and Analytics with no app release; Phase 2 is anything that needs engineering.
| The build | Fires on | Caps, and what stops it | What it needs, and what is open |
|---|---|---|---|
| The route-anchored win-back Braze Push, Email Phase 1 | The day-60 hand-off event from the first-slip journey, sent at the hand-off after quiet hours; or the one-time metered backfill of the persuadable band, ranked by what a return is worth. Never an independent day-count, never a blast. | Two touches per episode, hard. Quiet hours apply. Stops: Any session in the last 30 days (a returner needs recognition, not a win-back); an active trip; the first-slip journey’s open episode (one lapse owner); a grievance signal in the last 240 days; no band on file. A win-back never carries a data-capture ask. | propensity band sync, route + from-price traits The propensity-to-return band and its scored-at date into the daily sync (the one payload extension that is the whole launch gate; the frequency band on day one); the usual-route and from-price traits, computed nightly on the standing pattern; the ownership hand-off carrying the power-user marker.
|
| The comparison anchor Email, Braze In-App Message Phase 1 | First touch unseen for five to seven days: no email open, no push tap, no app open inside the window. The comparison fires only when this week’s from-price is at or below what the customer last paid; otherwise the route message without the comparison. | Two touches per episode, hard. Stops: As row 1. An app re-open pauses outbound and hands the session to the welcome-back card. | from-price traits The same traits as row 1; the walk-up figure substantiated at fire time. |
| The welcome-back landing Braze Content Card Phase 1 | First app session after 61-plus days away (Braze-native session recency). | Once per return. Stops: Never beside a win-back send in the same session: the card supersedes it. | route + from-price traits (phase 2 line) Nothing gates the door: the trigger is Braze-native session recency. The route-and-price line is phase 2 (usual-route and from-price traits ride the sync); phase 1 copy is the generic recognition, "your account is just as you left it", with the app’s own screens carrying the prices. For customers likely to return anyway the card is the whole journey, so the recognition register (their route, what they have saved) is the first line to ship when the sync extension lands.
|
| The final attempt, then a genuine end Email, Braze Push Phase 1 | Ninety-plus days with no engagement after the episode closed dormant, persuadable band only. | Once, ever, per customer. Stops: The full post-end suppression list ships with the send, as a deliverable of equal rank; the end is recorded as state (sent at, suppression reason) and lifted only by a new session or a transaction. | propensity band sync, final-attempt state, unit value restated The propensity band in the sync; the three final-attempt events written to the warehouse as durable state; for the offer cells, Analytics’ restated unit value and a depth cap Finance signs as a formula (a share of what a return is worth), never a pound figure; the £5 precedent (one historic push, 3.9% open) is the cautionary read, not the model.
|
| The anniversary message Email, Braze Push Phase 1 | The anniversary of their first transaction. | Once a year, exactly. Stops: Suppressed inside any open episode, active trip, or the post-final-attempt end state. | anniversary trait The anniversary trait, computed nightly; the route and from-price traits. |
| The live incentive card Phase 1 | Today: card-feed presence for inactive push-only customers from 365 days; persists on interaction. | Today: the card’s own. Stops: None today. | Nothing: the go-live change. |
Build paused until written sign-off. Every build carries its exit, cap and suppression; a control group is verified real, never assumed; Liquid never renders raw; a dependency that does not exist yet is flagged, not faked.