← StrategyJourney 2 campaign brief
Journey 2, CRM brief (the comms changes)Pack version: 15 Oct 2026, 18:21 (London)
Leave feedback
The CRM brief

The journey by phase, and the Phase 1 Braze build

This journey’s strategy. The trip is where the Seatfrog promise is kept or broken. Make the upgrade feel real, guide them to the seat, and the moment the trip goes wrong, stop selling and start helping. 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.

Work from this brief in FigJam: the send changes as cards, today beside proposed↗▶Watch the customer experience: this journey as the customer receives it↗

The journey maps

today's journey, and the proposed journey by phase: what the canvases must become
🕐 won up to 7d out🕐 T-22h exactlysame day as purchase🕐 T-4hunknown trigger, legacy clock🕐 T-90m🕐 T0: departs🕐 arrival +30m🕐 trip endfrom the purchase, everyone⚡Upgrade confirmedauction win · instant win · buy-now710,616 a year*SILENCE: the wait'What will First actually be like?'GAPlong-lead winners hear nothinguntil the day beforeemailEMAILDay-before email familythe only proven-incremental send“Your First Class trip is nearly here”+16.9% / +16.3% vs control*First Class, no past ticket,email opted-in onlyBRAZEKEPT AS CONTROLemailEMAILCatering email, one operatormissing from the 2 Aug picturesame day as purchase;success counted as an email openBRAZEDECIDEpushPUSHTrain-swap reminder pushticket buyers, rebuilt 20 Juleligibility checked at send time;no control, no holdout exclusionBRAZEDECIDEpushPUSHLegacy swap push, still firingits known trigger stopped 20 Julunknown caller; a duplicatereminder in the same morningBRAZERETIRINGpushPUSHRide cross-sell: to the stationa 22-month timing test, undecided“Need a lift to the station?”T-24h, T-12h and T-90m armsall still live; attributed only*BRAZECHANGINGSILENCE: on board'Was it worth it?'GAPno value moment firespushPUSHRide cross-sell: from the stationlands after arrival, not before“Need a lift from the station?”£1.45M attributed, last-touch,never proven incremental*BRAZECHANGING✅Trip ends: arc overno hand-off firesiamIN-APPIn-app booking / ticket confirmationthe only consent-free surfacethe whole journey for the 18.0%no proactive channel reaches*static confirmation: no platform, no coach,no live trip state (GAP)NATIVE APPCHANGINGSILENCE: the morning wayfinding'Right platform? Right coach?'GAPevery proactive morningsend is a sell

Phase 1 ships on Braze and Analytics with no app release; Phase 2 is anything that needs engineering.

For the Braze developer

the Phase 1 build, one row per send Braze builds: what it fires on, its caps and what stops it, what it needs, and the questions still open on it
The buildFires onCaps, and what stops itWhat it needs, and what is open
The wait email
Email
Phase 1
Arc entry (the upgrade purchase) where the departure timestamp is seven or more days out. Date maths on the existing trip attribute, the same pattern the live webhooks already use.Marketing layer, inside the arc's once-per-trip-per-send rule.
Stops: Refund or cancel exits the arc; live disruption yields the whole arc to the service layer.
liquid
The lead-time slice sizing (Analytics, go or no-go on test power); the per-operator inclusions content block (Design); the holdout (Analytics sizes).
The wait, with a bid pending
Braze Email
Phase 1
A pending bid where the trip's departure is seven or more days out; one send per trip. Exits instantly at the auction close: a win hands to the winner arc, a loss to the in-auction journey.One email per bid; a re-bid inside the same auction never repeats it; counts toward the pre-travel cap, inside the arc's once-per-trip-per-send rule.
Stops: Suppressed inside a live disruption and for power-band customers; never sent twice for one trip.
pending-bid state at send time, sizing
The long-lead slice sizing (Analytics, go or no-go before it is built: Sheran, 15 Oct 2026, her reply to Dirk's scoping assistant); the per-customer pending-bid state at send time (D9).
The day before
Email, Push
Phase 1
Departure minus 22 hours, computed from the trip attribute at entry: the exact offset the live webhooks already fire on, console-confirmed.Reassurance class within the arc; once per trip; one channel per customer at this beat (email where held, else push). The both-held push echo exists only inside the test arm.
Stops: Refund or cancel exits; disruption yields; the episode flag stands broadcasts down.
computed trait, trip attributes sync, persona register trait
The reserved coach and seat from the booking, sent to Braze with the trip (D12; Sheran, 15 Oct 2026, her reply to Dirk's scoping assistant); a counted place has no seat number, so the line names the coach alone. The persona register label (computed trait, Analytics); the non-inferiority floor on the email A/B (Analytics, the rollback trigger); the holdout sizing.
On board
Braze Push, Email, In-App
Phase 1
Scheduled departure from the customer's boarding station plus a few minutes (Engineering confirms which station the trip's departure timestamp refers to; if the origin only, derive the boarding-station time from the reservation segment); held where the service is delayed or its running status is unknown, and skipped where the customer's trip was swapped.One touch per trip; reassurance class inside the arc; the push counts toward the three-a-day travel cap.
Stops: Refund or cancellation exits; disruption or delay on the service holds it (the message must never land on a train that has not left); the trip swapped; more than one trip on the day, send for the trip in progress or not at all; never during a live auction on the same trip.
trip attributes sync, delay state, computed trait
The trip attributes in Braze with the boarding-station departure time (the trip sync, D1); the running-status or delay read (the Darwin feed row; until it lands, the send fires on the scheduled time and says nothing about being on board); the trip-by-ID deep link resolving the right trip when several are booked; the saved-amount substantiation (Analytics).
The day-before email family, kept as the control
Email
Phase 1
Unchanged: purchase-triggered webhook computes departure minus exactly 22 hours.As today.
Stops: As today, plus the arc's episode exclusions as they land.
trip attributes sync, persona register trait
The non-inferiority floor and reach sizing (Analytics): the +16.9% and +16.3% reads* apply to the narrow eligibility, and the claim must carry its true coverage.
The train-swap reminder
Braze Push, In-App
Phase 1
Unchanged: ticket purchase on a swap-capable operator; T-4h computed reminder (the legacy T-2h slot is retired in the rebuild).Commercial class. One episode per trip: the reminder exits on a swap made, the trip cancelled or refunded, or the train departed, and never re-enters on a timer (Sheran, 15 Oct 2026, to Dirk's scoping assistant); the live canvas's re-entry after two days goes.
Stops: Disruption yields; loses same-window collisions to wayfinding.

The control or holdout (Analytics); the swap-eligibility defect fix (Product and Engineering) that gates the seat-swap path; the unidentified caller resolved (Row 10) so the reminder exists exactly once.

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.

Not in this build

Phase 2, and the app surfaces: do not build any part of these, because each waits on an engineering release, and half-building one splits a moment across two owners
The treatmentWho it reachesWhy it waits
The morning
Push
Push-armed winners on travel morning whose upgrade was confirmed before the send timeWaits on a backend release.
The live pin on the lock screen
In-App
iOS winners from T-2hWaits on an app release.
On board
Braze Push, Email, In-App
Winners on a non-disrupted trip, shortly after the train leaves their boarding stationWaits on a backend release.
The persistent trip state
In-App
Every winner, the whole windowWaits on an app release.
Working detailPack version: 15 Oct 2026, 18:21 (London)