Subscription Lifecycle
You optimize every stage of the subscription journey: trial β paid β renewal β cancellation recovery β win-back.
The Subscription Lifecycle
Install β Trial start β [Trial period] β Conversion β Renewal β ... β Cancel β Win-back
β β β β
No convert Voluntary Involuntary Lapsed
(nurture) (exit survey) (dunning) (campaign)
Key Metrics at Each Stage
| Stage |
Metric |
Formula |
Benchmark |
| Trial |
Trial start rate |
Trials / Downloads |
> 20% |
| Trial |
Trial-to-paid |
Conversions / Trials |
25β40% strong |
| Retention |
Month 1 renewal |
M1 renewals / Subscribers |
> 70% |
| Retention |
Month 6 renewal |
M6 renewals / Subscribers |
> 50% |
| Churn |
Monthly churn |
Lost subs / Start subs |
< 5% good; < 2% excellent |
| Revenue |
MRR |
Active subs Γ monthly price |
β |
| Revenue |
LTV |
ARPU / Monthly churn rate |
β |
| Recovery |
Dunning recovery |
Recovered / Failed payments |
> 30% |
| Win-back |
Resubscribe rate |
Returns / Lapsed |
5β15% |
Stage 1 β Trial Optimization
Trial Length
| App Type |
Recommended trial |
Notes |
| Simple utility |
3β7 days |
Value obvious quickly |
| Health/fitness |
7β14 days |
Habit formation needs time |
| Productivity |
7β14 days |
Workflow integration |
| Education |
7β14 days |
First lesson completion |
| Entertainment |
7 days |
Binge behavior |
Test: Monthly apps with a 7-day trial vs. 14-day trial β conversion rate may drop slightly but LTV often increases.
Trial Nurture Sequence
Send in-app (or push) messages during the trial to drive activation:
Day 0: Welcome β "Your trial has started. Here's how to get the most from it."
Day 1: Core feature highlight β "Try [key feature] today"
Day 3: Progress / social proof β "Users who do X get 3Γ better results"
Day 5 (7-day trial): Urgency β "2 days left in your trial"
Day 6: Value recap β "Here's what you've done / could do with premium"
Day 7: Last day β "Your trial ends today"
Rule: Messages should show value, not just create pressure.
Trial End β Conversion Moment
At trial end, show a paywall that:
- Recaps what the user achieved during the trial
- Shows the most-used premium features
- Offers 3 plan options (monthly / annual / lifetime if applicable)
- Highlights savings on annual ("Save 40%")
See monetization-strategy for paywall design details.
Stage 2 β Reducing Voluntary Churn
Why Users Cancel (and How to Fix It)
| Reason |
Signal |
Fix |
| Forgot they subscribed |
Low sessions, no activation |
Improve onboarding + notification strategy |
| Not enough value |
Low feature usage |
Push underused high-value features |
| Too expensive |
Price sensitivity |
Introduce lower-tier or pause option |
| Problem with app |
1-star reviews |
Fix the bug, reply to reviews |
| Found alternative |
β |
Monitor competitor installs |
| Seasonal use |
Churns at same time yearly |
Offer a pause option |
The Cancellation Flow
When a user initiates cancellation (iOS β ManagedSubscriptionGroup):
- Offer a pause before full cancel: "Pause for 1β3 months instead of cancelling"
- Show value recap: "You've used [feature] X times this month"
- Offer a discount: Only as last resort β 20β30% off for 3 months
- Exit survey: Always ask "Why are you cancelling?" (1 tap, not an essay)
Cancellation exit survey options:
- Too expensive
- Not using it enough
- Missing a feature I need
- Switching to a competitor
- Technical issues
- Just taking a break
Engagement Signals to Watch
Users at high churn risk:
- Sessions < 1 per week (down from higher baseline)
- Core feature not used in 14+ days
- Push notifications disabled
- Last session > 7 days ago
Trigger a re-engagement push or in-app message before they cancel.
Stage 3 β Involuntary Churn (Failed Payments)
Involuntary churn accounts for 20β40% of all subscription cancellations.
Dunning Strategy
| Day |
Action |
| 0 |
Payment fails silently β Apple/Google retry |
| 3 |
Apple/Google retry #2 |
| 7 |
Apple/Google retry #3 β show in-app "Update payment method" banner |
| 10 |
Send push: "Your subscription couldn't be renewed β tap to update" |
| 14 |
Grace period ends β subscription suspended |
| 15 |
Final in-app message: "Reactivate to keep access" |
Grace period:
- iOS: 6 days (configurable up to 16 in App Store Connect)
- Android: 3 days (configurable)
Maximize grace period length β every extra day recovers more subscribers.
RevenueCat Integration
RevenueCat handles dunning automatically. Key settings:
- Enable Billing Retry (iOS) / Account Hold (Android)
- Configure grace period to maximum allowed
- Use RevenueCat webhooks to trigger in-app messaging at each failure event
See revenuecat.md integration guide.
Stage 4 β Win-Back Campaigns
Target lapsed subscribers (cancelled or expired in last 30β90 days).
Win-Back Offer Ladder
Start with the softest offer; escalate only if no response:
Week 1 after lapse: "We miss you" β highlight new features added since they left
Week 3: "Come back for 30% off your first month back"
Week 6: "3 months at 50% off β best offer we'll make"
Week 12+: Archive β low conversion probability
Win-Back Channels
| Channel |
How |
| Push notification |
In-app if app still installed |
| Email |
If email was collected |
| Apple Win-Back Offer |
Native iOS win-back offer in StoreKit 2 |
| Paid retargeting |
Meta/Google retargeting to lapsed subscriber list |
StoreKit 2 Win-Back Offers (iOS 18+)
Apple natively supports win-back subscription offers for lapsed subscribers:
- Set up in App Store Connect β Subscriptions β Win-Back Offers
- Presented automatically in the App Store to eligible lapsed users
- No additional code needed beyond StoreKit 2 integration
Output Format
Subscription Health Report
Lifecycle Metrics ([period]):
Trial start rate: [X]% (benchmark: >20%)
Trial conversion: [X]% (benchmark: 25-40%)
M1 renewal: [X]% (benchmark: >70%)
Monthly churn: [X]% (benchmark: <5%)
Dunning recovery: [X]% (benchmark: >30%)
Win-back rate: [X]% (benchmark: 5-15%)
LTV (estimated): $[N]
MRR: $[N]
Top issues:
1. [Stage] β [metric] is [X]% vs benchmark [Y]% β [recommended fix]
2. [Stage] β [metric] is [X]% vs benchmark [Y]% β [recommended fix]
Priority action:
[Single highest-leverage change to implement this week]
Related Skills
monetization-strategy β Paywall design, pricing tiers, trial setup
retention-optimization β Engagement strategy to reduce voluntary churn
app-analytics β Track the metrics above with Firebase + RevenueCat
onboarding-optimization β Fix early-stage drop-off that prevents trial starts
rating-prompt-strategy β Satisfied subscribers are your best raters