feat: classy dark one-pager with modal, webhook, shiny gold, sticky nav
This commit is contained in:
@@ -0,0 +1,316 @@
|
||||
# Cancel Flow Patterns
|
||||
|
||||
Detailed cancel flow patterns by business type, billing provider, and industry.
|
||||
|
||||
---
|
||||
|
||||
## Cancel Flow by Business Type
|
||||
|
||||
### B2C / Self-Serve SaaS
|
||||
|
||||
High volume, low touch. The flow must work without human intervention.
|
||||
|
||||
**Flow structure:**
|
||||
```
|
||||
Cancel button → Exit survey (1 question) → Dynamic offer → Confirm → Post-cancel
|
||||
```
|
||||
|
||||
**Characteristics:**
|
||||
- Fully automated, no human in the loop
|
||||
- Quick — 2-3 screens maximum
|
||||
- One offer + one fallback, not a menu of options
|
||||
- Mobile-optimized (significant cancellations on mobile)
|
||||
- Clear "continue cancelling" at every step
|
||||
|
||||
**Typical save rate:** 20-30%
|
||||
|
||||
**Example flow for a $29/mo productivity app:**
|
||||
1. "What's the main reason?" → 6 options
|
||||
2. Selected "Too expensive" → "Get 25% off for 3 months (save $21.75)"
|
||||
3. Declined → "Or switch to our Starter plan at $12/mo"
|
||||
4. Declined → "We're sorry to see you go. Your access continues until [date]."
|
||||
|
||||
---
|
||||
|
||||
### B2B / Team Plans
|
||||
|
||||
Lower volume, higher stakes. Personal outreach is worth the cost.
|
||||
|
||||
**Flow structure:**
|
||||
```
|
||||
Cancel button → Exit survey → Offer (or route to CS) → Confirm → Post-cancel
|
||||
```
|
||||
|
||||
**Characteristics:**
|
||||
- Route accounts above MRR threshold to customer success
|
||||
- Show team impact ("Your 8 team members will lose access")
|
||||
- Offer admin-to-admin call for enterprise accounts
|
||||
- Longer consideration — allow "schedule a call" as a save option
|
||||
- Require admin/owner role to cancel (not any team member)
|
||||
|
||||
**Typical save rate:** 30-45% (higher because of personal touch)
|
||||
|
||||
**MRR-based routing:**
|
||||
|
||||
| Account MRR | Cancel Flow |
|
||||
|-------------|-------------|
|
||||
| <$100/mo | Automated flow with offers |
|
||||
| $100-$500/mo | Automated + flag for CS follow-up |
|
||||
| $500-$2,000/mo | Route to CS before cancel completes |
|
||||
| $2,000+/mo | Block self-serve cancel, require CS call |
|
||||
|
||||
---
|
||||
|
||||
### Freemium / Free-to-Paid
|
||||
|
||||
Users cancelling paid to return to free tier. Different psychology — they're not leaving, they're downgrading.
|
||||
|
||||
**Flow structure:**
|
||||
```
|
||||
Cancel button → "Switch to Free?" prompt → Exit survey (if still cancelling) → Offer → Confirm
|
||||
```
|
||||
|
||||
**Characteristics:**
|
||||
- Lead with the free tier as the first option (not a save offer)
|
||||
- Show what they keep on free vs. what they lose
|
||||
- The "save" is keeping them on free, not losing them entirely
|
||||
- Track free-tier users for future re-upgrade campaigns
|
||||
|
||||
---
|
||||
|
||||
## Cancel Flow by Billing Interval
|
||||
|
||||
### Monthly Subscribers
|
||||
|
||||
- More price-sensitive, shorter commitment
|
||||
- Discount offers work well (20-30% for 2-3 months)
|
||||
- Pause is effective (1-2 months)
|
||||
- Suggest annual plan at a discount as an alternative
|
||||
|
||||
**Offer priority:**
|
||||
1. Discount (if reason = price)
|
||||
2. Pause (if reason = not using / temporary)
|
||||
3. Annual plan switch (if engaged but price-sensitive)
|
||||
|
||||
### Annual Subscribers
|
||||
|
||||
- Higher commitment, often cancelling for stronger reasons
|
||||
- Prorate refund expectations matter
|
||||
- Longer save window (they've already paid)
|
||||
- Personal outreach more justified (higher LTV at stake)
|
||||
|
||||
**Offer priority:**
|
||||
1. Pause remainder of term (if temporary)
|
||||
2. Plan adjustment + credit for next renewal
|
||||
3. Personal outreach from CS
|
||||
4. Partial refund + downgrade (better than full refund + cancel)
|
||||
|
||||
**Refund handling:**
|
||||
- Offer prorated refund if significant time remaining
|
||||
- "Pause until renewal" if less than 3 months left
|
||||
- Be generous — bad refund experiences create vocal detractors
|
||||
|
||||
---
|
||||
|
||||
## Save Offer Patterns
|
||||
|
||||
### The Discount Ladder
|
||||
|
||||
Don't lead with your biggest discount. Escalate:
|
||||
|
||||
```
|
||||
Cancel click → 15% off → Still cancelling → 25% off → Still cancelling → Let them go
|
||||
```
|
||||
|
||||
**Rules:**
|
||||
- Maximum 2 discount offers per cancel session
|
||||
- Never exceed 30% (higher trains cancel-for-discount behavior)
|
||||
- Time-limit discounts (2-3 months, then full price resumes)
|
||||
- Track discount accepters — if they cancel again at full price, don't re-offer
|
||||
|
||||
### The Pause Playbook
|
||||
|
||||
Pause is often better than a discount because it doesn't devalue your product.
|
||||
|
||||
**Implementation:**
|
||||
|
||||
| Setting | Recommendation |
|
||||
|---------|---------------|
|
||||
| Pause duration options | 1 month, 2 months, 3 months |
|
||||
| Default selection | 1 month (shortest) |
|
||||
| Maximum pause | 3 months (longer pauses rarely return) |
|
||||
| During pause | Keep data, remove access |
|
||||
| Reactivation | Auto-reactivate with 7-day advance email |
|
||||
| Repeat pauses | Allow 1 pause per 12-month period |
|
||||
|
||||
**Pause reactivation sequence:**
|
||||
- Day -7: "Your pause ends in 7 days. We've been busy — here's what's new."
|
||||
- Day -1: "Welcome back tomorrow! Here's what's waiting for you."
|
||||
- Day 0: "You're back! Here's a quick tour of what's new."
|
||||
|
||||
### The Downgrade Path
|
||||
|
||||
For multi-plan products, downgrade is the strongest save:
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Before you go, what about right-sizing │
|
||||
│ your plan? │
|
||||
│ │
|
||||
│ Current: Pro ($49/mo) │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────┐ │
|
||||
│ │ Switch to Starter ($19/mo) │ │
|
||||
│ │ │ │
|
||||
│ │ ✓ Keep: Projects, integrations │ │
|
||||
│ │ ✗ Lose: Advanced analytics, │ │
|
||||
│ │ team features │ │
|
||||
│ │ │ │
|
||||
│ │ [Switch to Starter] │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ [No thanks, continue cancelling] │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
**Downgrade best practices:**
|
||||
- Show exactly what they keep and what they lose
|
||||
- Use checkmarks and X marks for scanability
|
||||
- Preserve their data even on the lower plan
|
||||
- If they downgrade, don't show upgrade prompts for at least 30 days
|
||||
|
||||
### The Competitor Switch Handler
|
||||
|
||||
When the cancel reason is "switching to competitor":
|
||||
|
||||
1. **Ask which competitor** (optional, don't force it)
|
||||
2. **Show a comparison** if you have one (see competitor-alternatives skill)
|
||||
3. **Offer a migration credit** ("We'll match their price for 3 months")
|
||||
4. **Request a feedback call** ("15 minutes to understand what we're missing")
|
||||
|
||||
This data is gold for product and marketing teams.
|
||||
|
||||
---
|
||||
|
||||
## Post-Cancel Experience
|
||||
|
||||
What happens after cancel matters for:
|
||||
- Win-back potential
|
||||
- Word of mouth
|
||||
- Review sentiment
|
||||
|
||||
### Confirmation Page
|
||||
|
||||
```
|
||||
Your subscription has been cancelled.
|
||||
|
||||
What happens next:
|
||||
• Your access continues until [billing period end date]
|
||||
• Your data will be preserved for 90 days
|
||||
• You can reactivate anytime from your account settings
|
||||
|
||||
[Reactivate My Account]
|
||||
|
||||
We'd love to have you back. We'll keep improving based on feedback
|
||||
from customers like you.
|
||||
```
|
||||
|
||||
### Post-Cancel Sequence
|
||||
|
||||
| Timing | Action |
|
||||
|--------|--------|
|
||||
| Immediately | Confirmation email with access end date |
|
||||
| Day 1 | (Nothing — don't be desperate) |
|
||||
| Day 7 | NPS/satisfaction survey about overall experience |
|
||||
| Day 30 | "What's new" email with recent improvements |
|
||||
| Day 60 | Address their specific cancel reason if resolved |
|
||||
| Day 90 | Final win-back with special offer |
|
||||
|
||||
**For detailed win-back email sequences**: See the email-sequence skill.
|
||||
|
||||
---
|
||||
|
||||
## Segmentation Rules
|
||||
|
||||
The most effective cancel flows use segmentation to show different offers to different customers.
|
||||
|
||||
### Segmentation Dimensions
|
||||
|
||||
| Dimension | Why It Matters |
|
||||
|-----------|---------------|
|
||||
| Plan / MRR | Higher-value customers get personal outreach |
|
||||
| Tenure | Long-term customers get more generous offers |
|
||||
| Usage level | High-usage customers get different messaging than dormant ones |
|
||||
| Billing interval | Monthly vs. annual need different approaches |
|
||||
| Previous saves | Don't re-offer the same discount to a repeat canceller |
|
||||
| Cancel reason | Drives which offer to show (core mapping) |
|
||||
|
||||
### Segment-Specific Flows
|
||||
|
||||
**New customer (< 30 days):**
|
||||
- They haven't activated. The save is onboarding, not discounts.
|
||||
- Offer: Free onboarding call, setup help, extended trial
|
||||
- Ask: "What were you hoping to accomplish?" (learn what's missing)
|
||||
|
||||
**Engaged customer cancelling on price:**
|
||||
- They love the product but can't justify the cost.
|
||||
- Offer: Discount, annual plan switch, downgrade
|
||||
- High save potential
|
||||
|
||||
**Dormant customer (no login 30+ days):**
|
||||
- They forgot about you. A discount won't bring them back.
|
||||
- Offer: Pause subscription, "what changed?" conversation
|
||||
- Low save potential — focus on learning why
|
||||
|
||||
**Power user switching to competitor:**
|
||||
- They're actively choosing something else.
|
||||
- Offer: Competitive match, feedback call, roadmap preview
|
||||
- Medium save potential — depends on reason
|
||||
|
||||
---
|
||||
|
||||
## Implementation Checklist
|
||||
|
||||
### Phase 1: Foundation (Week 1)
|
||||
- [ ] Add cancel flow (survey + 1 offer + confirmation)
|
||||
- [ ] Set up exit survey with 5-7 reason categories
|
||||
- [ ] Map one offer per reason (simple 1:1 mapping)
|
||||
- [ ] Track cancel reasons and save rate in analytics
|
||||
- [ ] Enable pre-dunning card expiry emails
|
||||
|
||||
### Phase 2: Optimization (Weeks 2-4)
|
||||
- [ ] Add fallback offers (primary + secondary per reason)
|
||||
- [ ] Implement pause subscription option
|
||||
- [ ] Set up dunning email sequence (4 emails over 10 days)
|
||||
- [ ] Enable smart retries (Stripe Smart Retries or equivalent)
|
||||
- [ ] Add MRR-based routing for high-value accounts
|
||||
|
||||
### Phase 3: Advanced (Month 2+)
|
||||
- [ ] Build health score from usage signals
|
||||
- [ ] Set up proactive intervention triggers
|
||||
- [ ] A/B test discount amounts and offer types
|
||||
- [ ] Segment flows by plan, tenure, and usage
|
||||
- [ ] Post-cancel win-back sequence (coordinate with email-sequence skill)
|
||||
- [ ] Cohort analysis: churn by channel, plan, tenure
|
||||
|
||||
---
|
||||
|
||||
## Compliance Notes
|
||||
|
||||
### FTC Click-to-Cancel Rule (US)
|
||||
- Cancellation must be as easy as signup
|
||||
- Cannot require a phone call to cancel if signup was online
|
||||
- Cannot add excessive steps to discourage cancellation
|
||||
- Save offers are allowed but "continue cancelling" must be clear
|
||||
|
||||
### GDPR / Data Retention (EU)
|
||||
- Inform users about data retention period post-cancel
|
||||
- Offer data export before account deletion
|
||||
- Honor deletion requests within 30 days
|
||||
- Don't use post-cancel data for marketing without consent
|
||||
|
||||
### General Best Practices
|
||||
- Always show a clear path to complete cancellation
|
||||
- Never hide the cancel button (dark pattern)
|
||||
- Process cancellation even if save flow has errors
|
||||
- Confirm cancellation with email receipt
|
||||
Reference in New Issue
Block a user