A lot of subscription apps either make the mistake of treating churn as the end point and never bother to follow up with these users or they spam them with discounts, believing this is the only strategy that works to bring them back.
Churned users are actually one of the most valuable segments you have. They’ve already crossed the hardest threshold: they trusted you enough to pay. And yet, most apps either ignore them completely or hit them with a random, out-of-context, discount three months later. Reactivation is a whole strategy in itself, not just a campaign. If you build it properly, it becomes one of the highest ROI levers in your entire growth model.
According to RevenueCat’s State of Subscription Apps 2026 Report:
- Monthly subscribers come back at ~18–24% within a year
- Even weekly plans see ~7–10% reactivation
- Only annual plans behave like “true churn” (~4–6%)
So let’s look at some of the ways you can build a strategy around reactivation.
1. Start at the moment of churn: Your cancellation flow is step zero
Many teams treat cancellation as the last touchpoint with a user (e.g. using “Sorry to see you go”-style messaging). However, cancellation is a great opportunity for data collection segmentation and follow-up. This is where your reactivation strategy actually begins.
What to implement
A simple questionnaire that triggers on user cancellation and asks them why they no longer wish to use or pay for the app or product.
What to ask
Keep it straightforward – One clear question should suffice.
Not only are you looking to collect valuable insights here, you’re also tagging intent so you can follow up with users later with messaging that’s appropriate for them specifically.
Focus on actionable reasons like:
- “I don’t need it right now”
- “Too expensive”
- “Missing features I need”
- “Technical issues”
- “I didn’t get value”
Each of these should map directly to a future reactivation path.
Note that in every app I’ve worked with, there will be a portion of users who think the product is too expensive or simply don’t want to pay. Unless your conversion is below benchmarks, I’d take these responses with a grain of salt.
Make sure to also leave an “other” option open-ended so you’re collecting insights from users who may have discovered a bug or problem with the app you’re not aware of.
Once you’ve got a breakdown of the most popular answers, you can define your list of actionable reasons further.
What to offer
This is where most apps throw discounts immediately. That trains users to churn to get a better deal, and it also cheapens the value perception of your product (e.g. why did I pay $39.99 when I could have got this for $20?)
Instead, take each individual cancellation reason from your survey and map out a personalized reactivation plan.
Some examples:
- “Not needed right now” → Offer pause instead of cancel
- “Too expensive” → Offer lower tier or annual reframing
- “Didn’t get value” → Offer guided setup or feature education
- “Technical issues” → Offer support escalation
Not every churn needs to be saved. Some should be cleanly segmented for later.
What data to capture
For each churned user, you want to capture the following data points:
- Churn reason
- Plan type (monthly vs annual)
- How long they were a user
- Usage intensity before churn
- Last meaningful action
If you’re not capturing these data points, your reactivation strategy will be generic and impersonal. For example, you won’t know if this was a power user who just dropped out of the habit or a low frequency user who may need time before the use case is relevant again.
On iOS, there’s also a platform-level lever here that’s still relatively new and underused: Apple Retention Messaging API.
This allows developers to present a targeted message or offer directly within the App Store cancellation flow, before the subscription is fully canceled. In other words, you get one last, native touchpoint at peak intent.
Access and adoption are still evolving, so not every team is using it yet. But it’s worth keeping on your radar, because it fundamentally changes what’s possible at the moment of churn.
Used well, this can reinforce the same logic as your in-app cancellation flow:
- Surface a pause or downgrade option instead of pushing discounts
- Address common churn reasons with a clear value reminder
Used badly, it becomes another place to throw generic discounts and train users to game your system.
2. The post-churn relationship: how to stay present without being annoying
You want to stay relevant enough that returning feels natural, not forced. Instead of generic “come back” emails, try to focus on value reminders. Remember your product is still there to solve a user’s problem – so messaging should be centred around that, and this is where your data collection from Step 1 comes in handy.
- “Here’s what’s new since you left” – could target the “didn’t get value” or “technical issues” segments.
- “People like you are using X feature to achieve Y” – could target the “didn’t get value” segment.
- “Quick win you can get in 2 minutes” – could target the “didn’t get value” or “not needed right now” segments.
Think of it less like win-back and more like lightweight re-education. You’re rebuilding perceived value over time and just like all lifecycle messaging, the strategy needs to align exactly with the user’s goals.
Channel strategy
Email alone likely won’t carry your reactivation strategy. The strongest setups layer channels so the message shows up in the right place at the right time. Email should still do most of the heavy lifting, but it works best when reinforced with push for users who are still opted in, and paid retargeting for higher LTV churned users where the economics justify it.
The trap is thinking more channels means more pressure. It doesn’t. Frequency and coordination matter far more than channel count. If a user gets the same “come back” message three times in two days across different touchpoints, it feels like you’re chasing them.
A better approach would be along the lines of one well-timed email a few days after churn, a contextual push a week later, and a lightweight retargeting touchpoint only if the user is high value. Different messages, spaced out, and each with a clear purpose.
3. Timing matters more than what you say
Timing is where most reactivation strategies fall apart. Sending the same message to everyone 30 days after churn is easy to set up, but it ignores the fact that not all churn behaves the same. The biggest difference comes down to plan type.
Monthly and annual subscribers churn for very different reasons, and more importantly, they forget you at different speeds.
For monthly users, the relationship is short and transactional. Habits break quickly, and if you wait too long, you’re no longer reactivating, you’re reacquiring. That’s why it’s worth testing earlier touchpoints:
- Around 7 days: while the habit is still fresh
- Around 21 days: before they fully disengage
- Around 45 days: a final attempt before they go cold
For annual users, the dynamic is different. They’ve made a bigger commitment and usually had stronger initial intent. Churn is often driven by timing or changing needs, not lack of belief in the product. That gives you a longer window to re-engage:
- Around 30 days: once they’ve had some distance
- Around 90 days: when the original use case might return
- Around 6 months: aligned with seasonal or cyclical needs
The key idea is that reactivation works best when it matches the user’s natural usage habit, not your CRM calendar.
Plan type is only one part of the picture. To make timing actually work, you also need to layer in why the user churned and how they behaved before leaving.
Start with their churn reason. Different reasons create very different reactivation windows:
- “Not needed right now”
This isn’t a rejection, it’s a timing issue. Reaching out too early feels pushy because the need genuinely isn’t there. You’re better off waiting until the use case naturally returns, whether that’s tied to travel, routines, or specific moments. - “Too expensive”
Price sensitivity doesn’t disappear overnight. Instead of immediately offering discounts, time your outreach around moments where value feels higher, like seasonal spikes, new feature releases, or more relevant use cases. - “Didn’t get value”
This is the one case where speed matters. The longer you wait, the more the product is mentally written off. Re-engage quickly with education, guided use cases, or a clearer path to first value. - “Technical issues”
Timing here is simple: don’t reach out until the problem is fixed. Coming back too early just reminds the user why they left.
Then you can layer in behavior. Not all churned users are equal:
- Highly engaged users who churned
Their habit just broke. Your window is short, because they’re more likely to replace you quickly. Early, relevant touchpoints matter here. - Low-engagement users who churned
They never really built a habit in the first place. At this point, you’re not reactivating, you’re essentially reacquiring. That means slower timing and more emphasis on value explanation.
In summary, message timing shouldn’t just reflect when someone left, but why they left and how close they were to forming a habit in the first place.
4. Offer strategy: what works vs what feels desperate
Let’s be blunt. If your only reactivation lever is “20% off”, your product isn’t doing enough heavy lifting. Discounts only work if they feel timely and relevant to the user.
The better approach is to make your offer feel relevant, not reactive. That starts with contextual offers.
1. Instead of a generic incentive, tie the message directly to why the user left:
“You canceled because X. Here’s a solution for that.”
This immediately makes the outreach feel personal.
2. Then look at usage-based incentives.
Credits, limited access, or feature unlocks reduce the barrier to re-entry without forcing a full commitment. They let users ease back into the product instead of making an all-or-nothing decision.
3. Time-based framing is another underrated lever.
For users who churned due to timing, messages like “Try again for your next trip” or “Restart when you need it” align with real-world behavior. You’re not pushing them to come back now, you’re giving them a reason to come back when it actually makes sense.
4. Lean on product-led hooks.
New features, meaningful improvements, or integrations can be powerful reactivation drivers, especially for users who left due to missing value. This is where your product does the convincing for you.
Remember, the goal isn’t to win everyone back. It’s to win back the right users (high value, high intent), for the right reasons, in a way that actually sticks.
5. Make it frictionless to return
Even if your messaging is perfect, unnecessary friction can kill your reactivation efforts.
A lot of teams get the user to click and then lose them the moment they land back in the app because the experience feels like starting from scratch. If a returning user is treated like a brand new one, forced through generic onboarding, or dropped into an impersonal state, you’ve just undone all the work it took to bring them back. Instead, make the return feel like a continuation, not a reset.
Start by removing unnecessary friction. If you can avoid re-onboarding, do it. Let users pick up where they left off, with their preferences, history, and progress intact. The more familiar the experience feels, the faster they’ll get back to value.
Then reduce decision fatigue. Don’t make users rethink everything from scratch. Default to their previous plan, clearly highlight what’s changed since they left, and guide them toward an immediate “quick win” so they can feel progress right away.
Finally, consider more flexible ways to re-enter. Options like pausing instead of canceling, easy plan switching, or grace periods all lower the psychological barrier to coming back. You’re not asking for a big commitment, you’re offering a low-risk way to try again.
6. Ultimately, the quality of your product determines reactivation success
Whether your reactivation strategy works is directly tied to everything that happens before a user churns, especially your onboarding quality, activation success, value delivery, and pricing and packaging.
In other words, if users churn because they didn’t understand the product, didn’t experience value, or barely used it, no amount of win-back messaging will fix that.
I go deeper into lifecycle architecture in my course on RevenueCat StartApp School. Reactivation only works when the system before it is solid.
Final thought
It’s easy to assume churned users are no longer interested in your product and might be a waste of time to pursue. However, the data shows that this is where some of the highest-leverage growth sits.
You already paid to acquire these users and convinced them to pay. Are you building a system where you’re top of mind when they’re ready to come back? And does that return experience help them pick up where they left off?

