By Mara Voss, Lifecycle & SMS Strategy Lead · Published 6 May 2026
The problem: an email-only win-back that had stopped working
The retailer ran a competent email win-back, but its 90-day-lapsed segment had gone quiet: opens had fallen to the point where the channel could not reach them. Roughly 9,400 customers who had bought twice or more were sliding toward permanent churn, and email alone could not get their attention back.
The approach: a short, segmented SMS series
- Built the segment from customers with two-plus orders and no purchase in 90 days who held valid SMS consent.
- Wrote a three-message series spaced over ten days: a "we saved your spot" nudge, a category-relevant pick, and a final time-boxed offer.
- Split by past category so the message referenced what they actually bought, not a generic discount.
- Ran SMS alongside, not instead of, email, with an email-only holdout as the control.
Mara's team kept the offer to the final message only. Leading with a discount trains a list to wait for one; leading with relevance, then closing with urgency, protects margin and still converts.
The result: reactivation that email could not reach
| Metric | SMS series | Email-only control | Benchmark |
|---|---|---|---|
| Series click rate | 19% | n/a | 20.34% (automation) |
| Lapsed customers reactivated | 8.3% | 3.1% | n/a |
| Opt-out rate | 0.9% | n/a | "good" 0.6–1.4% |
| Attributed revenue (quarter) | €96,000 | n/a | n/a |
The SMS series reactivated 8.3% of the lapsed segment against 3.1% for the email-only control, and the channel reached people email no longer could. Click rate held at 19%, just under Omnisend's 20.34% automation benchmark, and the opt-out rate stayed at 0.9%, inside Klaviyo's "good" band, because the messages were relevant rather than relentless.
The takeaway
SMS is the reactivation channel email wishes it still was, but only against a clean, consented segment and with a series that earns the final offer. It is the mirror image of the skincare welcome flow: one wins new subscribers, the other rescues old ones. Both run on the automation flows we build.