How would you branch a lapsed-customer flow before sending the first win-back email?
I mapped out a lifecycle recovery workflow around a question I’ve been pressure-testing:
When a customer appears “lapsed,” how much context should be checked before they enter a win-back sequence?
In this illustrative workflow I separate:
• genuinely overdue customers
• customers who may not be due yet
• unresolved support/refund cases
• reachability problems
• low-signal customers
For the genuinely overdue group, I then check eligibility + recent engagement before branching into different recovery sequences.
The attached workflow uses entirely synthetic data and is not a client result.
One principle I’m trying to preserve is:
“lapsed” should describe a signal — not automatically prescribe the action.
Curious how people running real Klaviyo flows approach this:
Do you build most of this logic into segments before the flow, conditional splits inside the flow, or a combination of both?

