← Journey 7 front page
Journey 7, Engineering briefPack version: 3 Sep 2026, 16:52 (London)
The Engineering brief

What Journey 7 needs, and who owns it: one payload extension, then a small event set

🔧 Open the marketing to engineering board
The board is the system of record: live rows, owners, status, and each row's today-vs-to-be.
The hard rules: two touches per episode, then a genuine close; the final attempt is once, ever, then hard suppression. Any session in the last 30 days suppresses the win-back (a returner is recognised, never chased); the low band gets no triggered touch; a win-back never carries a data-capture ask; and one lapse owner per customer holds across the day-60 hand-off.
1The requirements

No send in this journey is fired natively by the app itself, so there is no native-to-Braze migration roster here: everything that sends today already lives in the messaging platform or an external one, and each row’s call sits on the As-is tab.

7 rows: 4 new events and feeds, 0 sends moving into Braze, and 3 computed traits (Analytics builds, no engineering hours). The D badge is the walkthrough pin number, coloured by what exists today: BUILDABLE TODAY EXISTS, NOT USABLE YET DOES NOT EXIST YET. Delivery fixes and app defects follow in their own sections.

New events, feeds and close data

The events and attributes the journey's triggers and ends ride. Each row is the contract: what fires, what it carries, who reads it. Nothing in this band gates the phase 1 welcome-back door.

The data pointThe workWhat it must carryPhase · status · depends on
D4The lapse-threshold crossing event
lapse_threshold_crossed, on the day-60 boundary
Build the event so entry is trigger-driven; the batch-derived hand-off is the working interim.
New eventEntry by hand-off, not day-count: the event makes the hand-off real time instead of overnight.PHASE 2
gated
Queued; the batch interim works
Nothing.
▸ What exists today, and where it is used
What exists today
BUILDABLE TODAY
Derivable in batch; no event exists.
Used where
Episode entry
D6Final-attempt evidence events
final_sent · final_answered · suppressed
Build the three events so the end can be proven to be an end.
New eventsThe post-end suppression is a promise to the customer; without the events it cannot be audited.PHASE 2
gated
Queued behind the offer decision
The offer-depth ruling.
▸ What exists today, and where it is used
What exists today
DOES NOT EXIST YET
Do not exist.
Used where
The final attempt and its suppression
D7App open plus lifecycle state
session + lifecycle band, at read time
Nothing new: session recency is Braze-native and the lifecycle band rides the sync extension. Stated so the organic-return suppression's contract exists once.
ConfigurationAn organic return is recognised instead of chased: any session inside 30 days suppresses the win-back.PHASE 1
ships now
Configuration at build
The sync extension.
▸ What exists today, and where it is used
What exists today
BUILDABLE TODAY
Session recency live in Braze; the band rides the sync.
Used where
The organic suppression and the welcome-back trigger
D2The ownership hand-off
journey_state, campaign-written, carrying the power marker
Nothing to build: the first-slip journey's canvas writes the hand-off at day 60; this journey's canvas reads it.
Canvas wiringOne lapse owner per customer, and the power-user marker travels so the recognition register fires without a second lookup.PHASE 1
ships now
Wiring at build, jointly with the first-slip journey
The first-slip journey's go-live.
▸ What exists today, and where it is used
What exists today
DOES NOT EXIST YET
Campaign-written at build, both sides.
Used where
Episode entry and the register pick

The engineering work to move native sends into Braze

No new data in this band: logic, integration and release work.

The changeThe workPhase · status · depends on
▸ The 3 computed traits this journey reads: Analytics builds them, no engineering hours; and what is not listed, and why

Computed traits this journey reads · Analytics builds, no engineering hours

Named here so the full picture is one table. The contract is the row: what each trait computes, what reaches the sender today, and what remains to build.

The computed traitThe workPhase · status · depends on
D1The churn band and propensity score
churn_band · propensity, daily
Pipe the live warehouse score into the daily sync: the one launch gate.
Sync payload extension, Analytics-ownedPHASE 1
ships now
With Analytics
The CDI payload extension.
▸ The contract
What it must carry
Who is worth a touch and how hard: the band gates every triggered send, sets the backfill order, and draws the low band's silence.
What exists today
EXISTS, NOT IN BRAZE
Live in the warehouse; not in the payload.
Used where
Every triggered send
D3The usual route and the from-price
usual_route · from_price, nightly computed
Compute nightly on the standing pattern: never a live lookup, never an up-to claim.
Computed traits, Analytics-ownedPHASE 1
ships now
With Analytics
The CDI payload extension.
▸ The contract
What it must carry
The route anchor in every send, and the substantiated comparison figures (walk-up, paid, from-price).
What exists today
DOES NOT EXIST YET
Computable; not built for this journey's cohort.
Used where
Both knocks, the door card, the goodbye and the anniversary
D5The anniversary trait
first_purchase_anniversary, nightly
Compute the anniversary date; the warehouse holds first and last purchase for the whole pool.
One computed traitPHASE 1
ships now
With Analytics
The CDI payload extension.
▸ The contract
What it must carry
The annual beat's trigger: for the mostly one-time pool the first and last purchase share a date.
What exists today
BUILDABLE TODAY
Derivable; not built.
Used where
The anniversary message

Not listed because there is nothing to build: session recency (Braze-native, the whole phase 1 trigger), the transaction events that clear an episode, and the ownership flag the canvas writes.

Four changes the customer never sees: what is broken today, the fix we are asking Engineering for, and why it belongs in this journey rather than a general engineering backlog. None is a comm and none needs a decision from Marketing. Each one either loses a message this journey depends on, or decides whether something else can be built at all.

2Two delivery fixes

One plumbing extension carries the whole launch: the churn band and propensity score into the daily warehouse-to-Braze sync. The score is live in the warehouse today.

The delivery fixThe fix we are asking forWho does itPhase
The churn band and propensity score into the daily syncAdd the band and score to the daily warehouse-to-Braze sync on the standing pattern; Analytics pipe from their side, Engineering only if the CDI mapping needs registering.BACKEND ENGPHASE 1
ships now
▸ The problem today, and why it sits here
The problem today
The score is live in the warehouse today; it does not reach the sender, and every triggered send selects on it.
Why it sits in this journey
This one extension is the whole phase 2 launch gate: it replaced the model build the journey once waited on.
The expiring magic-link doorFix the link lifetime or the retry flow: a product fix, flagged from this journey because returners hit it hardest.BACKEND ENGPHASE 1
ships now
▸ The problem today, and why it sits here
The problem today
Magic links can expire before the code is typed: the sign-in door itself fails some returners.
Why it sits in this journey
Every send in this journey lands on a sign-in; a failing door taxes them all.
3Two defects in the app itself

Two live gaps. Neither blocks the door; both cost reads or returns.

The defectThe fix we are asking for
Content-card impressions and clicks do not registerFix the shared content-card instrumentation so impressions and clicks register.
▸ The problem today, and why it matters here
The problem today
The estate-wide instrumentation gap: the welcome-back card and the live incentive card both run blind.
Why it matters here
The phase 1 ship is a card; until the fix lands its read is indirect (sessions and conversions only).
The magic-link expiryProduct fix; flagged here because the welcome-back promise dies at a failed door.
▸ The problem today, and why it matters here
The problem today
The sign-in link can expire before the emailed code is entered.
Why it matters here
Returners are the cohort most likely to be signed out, so the defect concentrates on exactly this journey's audience.

Source: the 20 Aug 2026 data-availability sweep in the journey spec, the pins record, and the 30 Jul 2026 warehouse count. Board rows are raised from these contracts once sized.

Working detail
Leave feedbackThis pack is a proposal. The banded episode shape and the recognition-first door are the recorded position; the surface owner, the card disposition and the offer are open rulings. Say what is wrong with the journey, or what it is missing.
Pack version: 3 Sep 2026, 16:52 (London)