Reactivation Stage
Reactivation works best when you align the trigger and the offer with the churn reason.
That’s why this stage includes two campaign types:
- Seasonal Broadcasts: Reactivate inactive users with timely “reasons to return” (New Year, holidays, challenges).
- Save-the-Subscription (1-Month Discount): Recover users after user-initiated cancellation or payment failure with a time-boxed deep offer.
Important: Cancellation and payment failure should start with Service & Transactional Messages (fast, factual, system-triggered one-to-one emails) to confirm what happened and reduce support load.
Reactivation workflows should come after those messages — when the user is ready to reconsider.
Seasonal Broadcasts
Reactivation waves for inactive users tied to a calendar moment (New Year reset, seasonal challenge, holiday program, back-to-school, etc.).
Seasonal Broadcasts Details
✅ Start / Stop conditions
- Start when:
Scheduled campaign date (seasonal moment) AND user is in an inactive segment (e.g., no sessions / no core action for 14–60 days). - Stop when:
User reactivates (returns to app / completes a core action) OR user opts out / becomes unreachable.
🎯 Audience
- Inactive users (soft churn) who previously showed value but stopped using the app.
- Optionally split into:
- Former subscribers vs never-paid
- High LTV vs low LTV
- Past “power users” vs casual
⏱ Timing
- 1st send: morning of the seasonal moment (local time zones if available).
- Follow-up: 48–72h later only for non-responders.
📡 Channel mix
- Email: context + details + benefits.
- Push: short reminder + deep link.
- In-app / App Inbox: keep the comeback message visible if the user misses push/email.
📈 Success metrics
- Reactivation rate (return session / core action completion)
- Incremental conversions from reactivated users
- Lift in week-1 retention after comeback
See examples for
Cancellation & Payment Failure Winback (Deep 1-Month Discount)
A targeted reactivation workflow for users who churned via user-initiated cancellation or payment failure.
The key lever here is a time-boxed deep discount for 1 month to recover the “cart” (subscription intent) fast.
Save-the-Subscription (1-Month Discount) Details
✅ Start / Stop conditions
- Start when:
- User-initiated cancel:
SubscriptionCanceledwithconsciousCancelparameter - Payment failure:
SubscriptionCanceledwithpaymentFailedparameter
- User-initiated cancel:
- Stop when:
SubscriptionStarted- User opts out / hard bounces / suppression rules apply
🎯 Audience
- User-initiated cancellation: users who canceled an active subscription.
- Payment failure: active subscribers with a recent failed charge.
🔁 Workflow description
-
Structure: 2–5 messages with timers.
-
Sequence logic:
- Send a transactional confirmation first (factual + support tone).
- After a short cooldown, start winback with a deep 1-month discount.
- Remind once or twice before expiry; stop immediately on recovery.
-
Messaging approach:
- Keep it simple: “Come back for 1 month at X% off / special price.”
- Address the reason:
- Cancel: empathy + one-line value recap + “easy return”
- Payment failed: “fix billing” + “keep access” + offer as a fast save
📊 Data & personalization
- Recommended fields:
planName,price,currency,cancelReason(if known),failReason,updateBillingDeepLink,paywallDeepLink - Offer control:
IncludepromoCodeandofferExpiresAt(or calculate internally) to enforce urgency cleanly.
⏱ Timing (suggested)
- Message 1 (offer):
+6–24hafter the transactional confirmation. - Follow-ups:
+2d(only if still churned / still failed)-24hbefore offer expiry (final reminder)
📡 Channel mix
- Email: primary channel for the full offer and details.
📈 Success metrics
- Recovered conversions (subscription restarted)
- Payment recovery rate (payment-failure path:
PaymentSucceeded) - Net revenue recovered (after discount)
Updated 1 day ago
