Stack execution playbook
Winback is the most abused automation in Shopify marketing — 25% off blasted to entire inactive list, including former VIPs, active replenishment subscribers, and people who lapsed because they moved countries. Full stack governance makes winback profitable instead of list-burning.
Trigger: no purchase in 90–180 days depending on category — food shorter, jewelry longer. Engaged-but-not-purchased branch differs from unengaged; sunset unengaged before winback instead of discounting ghosts.
Email one: new arrivals and catalog refresh — no incentive. Email two: Yotpo UGC and social proof for categories they previously bought. Email three: modest incentive only for discount-sensitive segment identified by past promo redemption behavior.
Former VIPs get exclusive early access path — not same coupon as bargain hunters. RFM tier at lapse date stored as property for branch selection.
Suppress winback if: active subscription on Recharge, in replenishment flow window, recent support complaint tag, one-time gift buyer with no self-purchase history, wholesale account.
SMS winback only for opted-in high-LTV lapsed segment — one text after email two unopened, not parallel 20% SMS blast.
Collision with BFCM: pause winback incentives during peak — new arrivals winback can continue if no discount. January reactivation often organic post-holiday; holdout test before scaling winback in January.
Marsello loyalty: show points balance and expiring points before discount — winback without acknowledging earned value insults VIPs.
Postscript and Omnisend SMS branches follow email silence rules — 48h+ after email two.
Margin measurement mandatory: winback orders often discount-dependent. Track margin after incentive and compare holdout cohort — 15–25% of winback revenue is often would-have-returned-anyway.
Category specifics: beauty winback leads with reformulation and shade expansion; fashion with new season lookbook; supplements with compliance-reviewed education not claims.
Quarterly winback audit: branch performance, unsubscribe spike, overlap with replenishment incidents.
Merchant scenarios
Fashion seasonal: Email one lookbook → email two UGC → email three 10% for promo-sensitive only. No winback during BFCM week.
Beauty lapsed 120d: New shade launch → routine refresh education → replenishment incentive only if prior replenishment buyer.
Supplement compliance: Education and formulation news emails one-two; legal-approved copy; incentive email three segment only.
Former VIP jewelry: Personalized new collection preview → consultation offer → no mass discount; ActiveCampaign if high LTV.
Pet food lapsed: Life-stage product news → consumption reorder reminder at email two if pet profile exists → incentive email three.
POD design lapsed: New design drop preview only — no discount winback on thin margin.
Stack checklist
- Lapse window defined by category (90–180d)
- Replenishment and subscription suppressions active
- Gift-only buyers on separate branch or exclusion
- VIP/RFM branch without bargain coupon
- Email one no discount; email three incentive gated
- Yotpo proof in email two
- Support complaint tag exclusion
- Unengaged sunset before winback blast
- BFCM pause on winback incentives documented
- SMS branch after email silence only
- Holdout 10% quarterly for incrementality
- Margin after discount on winback orders weekly in peak
Exclusions (non-negotiable)
- Active subscribers on replenishment flow
- Recent support complaints
- One-time gift buyers
Metrics that prove quality
- Reactivation rate by cohort
- Margin on winback orders
- LTV recovery post-winback
- Unsubscribe on winback series
Common mistakes
- Blasting entire inactive list with 25% off
- No branch for former VIPs
- Winback overlapping replenishment
Winback across the marketing stack
Segmentation: Klaviyo, Drip
RFM at lapse, discount sensitivity, VIP tier, engagement recency.
Four branches: VIP, engaged lapsed, discount-sensitive, unengaged sunset.
Failure mode: Single 25% blast to full inactive list.
Operator test: Unsubscribe rate per branch under 0.4% per email.
Lifecycle execution: Sequenzy
Three-touch winback with proof and gated incentive.
Category-specific creative; suppression checks each touch.
Failure mode: Winback overlaps replenishment same week.
Operator test: Zero replenishment conflicts in audit.
Proof layer: Yotpo
Social proof email two for previously purchased categories.
SKU-adjacent UGC when possible.
Failure mode: Generic winback without proof before discount.
Operator test: Email two CTR vs email three with incentive.
Loyalty acknowledgment: Marsello
Points balance reminder before discount offer to enrolled lapsed VIPs.
Redeem points CTA as email two alternative for VIP.
Failure mode: Discount ignores existing points balance.
Operator test: VIP winback redemption via points vs code.
SMS branch: Postscript
High-LTV lapsed opted-in; after email two silence.
One SMS max in winback series.
Failure mode: SMS discount day one of winback.
Operator test: SMS winback opt-out under 2%.
Analytics: Shopify, Klaviyo
Reactivation rate, margin after incentive, holdout incrementality, LTV recovery.
Quarterly holdout report to leadership.
Failure mode: Platform last-click winback without holdout.
Operator test: Holdout incremental orders documented quarterly.
Timing and trigger governance
Trigger at category lapse window — not universal 90d.
Email one day 0, email two day 4, email three day 10 for incentive branch only.
Pause incentive winback during BFCM peak week.
Sunset unengaged 180d+ before adding to winback — re-engagement attempt separate.
Measurement across the stack
Reactivation rate by cohort and branch.
Margin on winback orders after incentive.
LTV 90d post-winback vs never lapsed benchmark.
Holdout incremental orders % — adjust if <50% incremental.
Related playbooks
Before winback: replenishment and VIP segments.
Governance: discount strategy.
Peak: seasonal campaigns.
Stack coordination for winback campaigns
winback campaigns is not an email template problem — it is a stack handoff problem. Trigger: No purchase in 90–180 days depending on category; engaged or unengaged branches Timing: Email 1 with new arrivals; Email 2 with social proof; Email 3 with incentive only for discount-sensitive segment Every layer must read the same customer state: capture tags from Privy, lifecycle execution in Sequenzy, proof modules from Yotpo, loyalty tier from Marsello, SMS consent from Postscript. When reactivate customers before they lapse permanently, margin after discount matters more than attributed revenue.
Segmentation: RFM at lapse, discount sensitivity, VIP tier, engagement recency. Playbook fit: Four branches: VIP, engaged lapsed, discount-sensitive, unengaged sunset. Failure mode: Single 25% blast to full inactive list. Operator test: Unsubscribe rate per branch under 0.4% per email.
Lifecycle execution: Three-touch winback with proof and gated incentive. Playbook fit: Category-specific creative; suppression checks each touch. Failure mode: Winback overlaps replenishment same week. Operator test: Zero replenishment conflicts in audit.
Proof layer: Social proof email two for previously purchased categories. Playbook fit: SKU-adjacent UGC when possible. Failure mode: Generic winback without proof before discount. Operator test: Email two CTR vs email three with incentive.
Loyalty acknowledgment: Points balance reminder before discount offer to enrolled lapsed VIPs. Playbook fit: Redeem points CTA as email two alternative for VIP. Failure mode: Discount ignores existing points balance. Operator test: VIP winback redemption via points vs code.
SMS branch: High-LTV lapsed opted-in; after email two silence. Playbook fit: One SMS max in winback series. Failure mode: SMS discount day one of winback. Operator test: SMS winback opt-out under 2%.
Analytics: Reactivation rate, margin after incentive, holdout incrementality, LTV recovery. Playbook fit: Quarterly holdout report to leadership. Failure mode: Platform last-click winback without holdout. Operator test: Holdout incremental orders documented quarterly.
Scenario — Fashion seasonal: Email one lookbook → email two UGC → email three 10% for promo-sensitive only. No winback during BFCM week. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Beauty lapsed 120d: New shade launch → routine refresh education → replenishment incentive only if prior replenishment buyer. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Supplement compliance: Education and formulation news emails one-two; legal-approved copy; incentive email three segment only. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Former VIP jewelry: Personalized new collection preview → consultation offer → no mass discount; ActiveCampaign if high LTV. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — Pet food lapsed: Life-stage product news → consumption reorder reminder at email two if pet profile exists → incentive email three. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Scenario — POD design lapsed: New design drop preview only — no discount winback on thin margin. Map this scenario to your vertical guide at /for if category-specific suppressions apply (Recharge tags, wholesale accounts, gift buyers).
Checklist execution notes
Lapse window defined by category (90–180d) — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Replenishment and subscription suppressions active — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Gift-only buyers on separate branch or exclusion — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
VIP/RFM branch without bargain coupon — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Email one no discount; email three incentive gated — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Yotpo proof in email two — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Support complaint tag exclusion — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Unengaged sunset before winback blast — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
BFCM pause on winback incentives documented — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
SMS branch after email silence only — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Holdout 10% quarterly for incrementality — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
Margin after discount on winback orders weekly in peak — assign a named owner and add to collision calendar if the checklist item touches offers across capture, email, SMS, or loyalty.
FAQ deep dives
Best stack for Shopify winback? Klaviyo/Drip segmentation by RFM and sensitivity, Sequenzy three-touch execution with suppressions, Yotpo proof email two, Postscript SMS for high-LTV only, Marsello points for VIP branch. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Should winback lead with discount? No — new arrivals and proof first; incentive only email three for discount-sensitive segment. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Winback vs replenishment conflict? Suppress winback if in active replenishment or subscription flow — most common stack bug. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Lapse window by category? Food 90d, fashion 120d, jewelry 180d typical — tune from your reorder data. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Winback during BFCM? Pause incentive branches; optional new arrivals content without stacking discounts. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Former VIP winback? Early access and points redemption — not same coupon as bargain segment. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
SMS winback? High-LTV opted-in only, after email two silence, one text max. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Holdout testing winback? Quarterly 10% holdout — if <50% incremental, reduce incentive depth or audience. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Gift buyer winback? Exclude or separate branch — gift-only buyers often wrong audience for self-purchase winback. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Unengaged lapsed? Sunset before winback discount — try re-engagement without incentive first or suppress entirely. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Metrics for winback? Reactivation rate, margin after discount, LTV recovery, holdout incrementality, unsubscribe by branch. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.
Biggest winback mistake? Blasting 25% to full inactive list including subscribers and VIPs — burns margin and list health. Stack operators should document this answer in internal runbooks — not rely on tribal knowledge when agencies turn over.