This journey’s strategy. There is no subscription to cancel: a customer who is leaving simply goes quiet, and once lapsed most are gone for good. The churn-risk model spots the first sign of a slip, so we step in with one personalised reason to come back while they are still cheap to keep. The full statement and the case: the campaign brief tab.
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.
This journey's map marks no Phase 2 build: the two phases read the same until a row needs engineering.
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 |
|---|---|---|---|
| Touch 1, the save email Phase 1 | Episode entry: the slip boundary. Quiet past about 1.5x the customer's own median purchase gap (the cadence trait shared with Journey 6, one warehouse build, two consumers) flips journey_state into this journey's slip window. Until the trait ships, the buildable interim is the daily active-status state change (the label already reaches Braze, one day of latency). The churn score becomes a phase-2 refinement, not a launch gate. Entry criteria stay filters at the entry node: transacted, under 60 days, ownership free, not mid-trip. | Two touches per slip episode, then silence. Global caps and quiet hours apply on top. Stops: Not eligible means nothing sends; ACTIVATE, the service layer or win-back own those customers. Broadcasts stand down for anyone in an owned episode. | computed trait Churn score and persona threshold (nightly trait), usual_route and from-price (nightly traits), total_saved (upgrade savings since Jan 2026) for the VIP register only. All Analytics-defined, Eng-synced; none is a new backend build.
|
| Touch 1, the save push Push Phase 1 | Same episode entry as Row 1; the canvas routes by held channel. | As Row 1: the two-touch episode cap counts across channels, not per channel. Stops: As Row 1. | computed trait As Row 1, minus the recognition line: the VIP register on push carries route and price only.
|
| Touch 2, the second knock Push, Email Phase 1 | Touch 1 unseen at the end of the wait window, checked in-canvas. | Closes the episode’s two-touch budget. Stops: Any bid or purchase exits the episode instantly at any point (transaction events, already live). | liquid Canvas logic only: the unseen check and the channel switch are Liquid and canvas branching. Nothing new to build. |
| The estate around the episode Phase 1 | Evaluated at each broadcast send: an open save episode excludes the customer. | Not applicable. Stops: This row is the suppression. | liquid journey_state readable by the broadcast segments; the exclusion segment wired before launch. |
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.
| The treatment | Who it reaches | Why it waits |
|---|---|---|
| Touch 1, the save push Push | Episode entrants holding push only | An app surface (push), so an app build, not a Braze one. |