Attribution · 18 June 2026
From campaign reports to lifecycle maps
You do not need a new vendor to stop last-touch theatre. You need a worksheet that admits when two channels were merely both present.
Attribution · 18 June 2026
You do not need a new vendor to stop last-touch theatre. You need a worksheet that admits when two channels were merely both present.
Campaign reports are organised around sends. Lifecycle maps are organised around a person’s next thirty days. The first format will always make every channel look busy. The second format sometimes shows that SMS was standing next to a push that already did the work.
In the Journey Ledger workshop we print one path: eligible → dispatched → rendered → acted → returned (or not). Each channel gets a column. Each day gets a row. You are not allowed to write “attributed” unless a holdout, or a very clean natural experiment, supports it. “Present” is an allowed word. It is underused.
A grocery e-commerce client used this after sitting the workshop. Weekly SMS had a loyal recap because last-touch always found it. The ledger showed SMS arriving after push and in-app had already explained the same promotion. They retired the SMS. Revenue did not fall. The recap got quieter. That was the point.
Identity resolution helps, but it is not the blocker. The blocker is usually political: channel owners do not want a map that can call their send “present.” Faculty cannot fix that in a week. We can give you language that survives a sceptical analytics lead. The Lifecycle Atlas is the wall version of the same idea.
Do not replace last-touch with a multi-touch black box and call it maturity. If you cannot explain a weight to a PM, you have changed the theatre, not the map. Signal Path Studio’s reporting module is deliberately boring: one page, one caveat, one ask.