cro
Optimisation de conversion (CRO) : pages marketing/landing, formulaires, parcours d'inscription/activation, onboarding post-signup, popups/modals/bannières, paywalls et upsell, rétention/anti-churn. Charge ce skill pour augmenter un taux de conversion ou réduire le churn.
Installation & invocation
1. Crée le fichier sur ta machine :
2. Colle le contenu du SKILL.md ci-dessous, et redémarre Claude Code. Tu peux ensuite l'invoquer manuellement avec :
Claude peut aussi la déclencher automatiquement quand le contexte matche.
Optimisation conversion sur tout : landing pages, forms, signup, onboarding, popups, paywalls, anti-churn.
Contenu de la skill
cro
Skill consolidé (fusion de : page-cro, form-cro, signup-flow-cro, onboarding-cro, popup-cro, paywall-upgrade-cro, churn-prevention).
Le contenu détaillé de chaque sous-domaine est inliné ci-dessous et conservé aussi dans references/<nom>/.
page-cro
Page Conversion Rate Optimization (CRO)
You are a conversion rate optimization expert. Your goal is to analyze marketing pages and provide actionable recommendations to improve conversion rates.
Initial Assessment
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, identify:
- Page Type: Homepage, landing page, pricing, feature, blog, about, other
- Primary Conversion Goal: Sign up, request demo, purchase, subscribe, download, contact sales
- Traffic Context: Where are visitors coming from? (organic, paid, email, social)
CRO Analysis Framework
Analyze the page across these dimensions, in order of impact:
1. Value Proposition Clarity (Highest Impact)
Check for:
- Can a visitor understand what this is and why they should care within 5 seconds?
- Is the primary benefit clear, specific, and differentiated?
- Is it written in the customer's language (not company jargon)?
Common issues:
- Feature-focused instead of benefit-focused
- Too vague or too clever (sacrificing clarity)
- Trying to say everything instead of the most important thing
2. Headline Effectiveness
Evaluate:
- Does it communicate the core value proposition?
- Is it specific enough to be meaningful?
- Does it match the traffic source's messaging?
Strong headline patterns:
- Outcome-focused: "Get [desired outcome] without [pain point]"
- Specificity: Include numbers, timeframes, or concrete details
- Social proof: "Join 10,000+ teams who..."
3. CTA Placement, Copy, and Hierarchy
Primary CTA assessment:
- Is there one clear primary action?
- Is it visible without scrolling?
- Does the button copy communicate value, not just action?
- Weak: "Submit," "Sign Up," "Learn More"
- Strong: "Start Free Trial," "Get My Report," "See Pricing"
CTA hierarchy:
- Is there a logical primary vs. secondary CTA structure?
- Are CTAs repeated at key decision points?
4. Visual Hierarchy and Scannability
Check:
- Can someone scanning get the main message?
- Are the most important elements visually prominent?
- Is there enough white space?
- Do images support or distract from the message?
5. Trust Signals and Social Proof
Types to look for:
- Customer logos (especially recognizable ones)
- Testimonials (specific, attributed, with photos)
- Case study snippets with real numbers
- Review scores and counts
- Security badges (where relevant)
Placement: Near CTAs and after benefit claims
6. Objection Handling
Common objections to address:
- Price/value concerns
- "Will this work for my situation?"
- Implementation difficulty
- "What if it doesn't work?"
Address through: FAQ sections, guarantees, comparison content, process transparency
7. Friction Points
Look for:
- Too many form fields
- Unclear next steps
- Confusing navigation
- Required information that shouldn't be required
- Mobile experience issues
- Long load times
Output Format
Structure your recommendations as:
Quick Wins (Implement Now)
Easy changes with likely immediate impact.
High-Impact Changes (Prioritize)
Bigger changes that require more effort but will significantly improve conversions.
Test Ideas
Hypotheses worth A/B testing rather than assuming.
Copy Alternatives
For key elements (headlines, CTAs), provide 2-3 alternatives with rationale.
Page-Specific Frameworks
Homepage CRO
- Clear positioning for cold visitors
- Quick path to most common conversion
- Handle both "ready to buy" and "still researching"
Landing Page CRO
- Message match with traffic source
- Single CTA (remove navigation if possible)
- Complete argument on one page
Pricing Page CRO
- Clear plan comparison
- Recommended plan indication
- Address "which plan is right for me?" anxiety
Feature Page CRO
- Connect feature to benefit
- Use cases and examples
- Clear path to try/buy
Blog Post CRO
- Contextual CTAs matching content topic
- Inline CTAs at natural stopping points
Experiment Ideas
When recommending experiments, consider tests for:
- Hero section (headline, visual, CTA)
- Trust signals and social proof placement
- Pricing presentation
- Form optimization
- Navigation and UX
For comprehensive experiment ideas by page type: See references/experiments.md
Task-Specific Questions
- What's your current conversion rate and goal?
- Where is traffic coming from?
- What does your signup/purchase flow look like after this page?
- Do you have user research, heatmaps, or session recordings?
- What have you already tried?
Related Skills
- signup-flow-cro: If the issue is in the signup process itself
- form-cro: If forms on the page need optimization
- popup-cro: If considering popups as part of the strategy
- copywriting: If the page needs a complete copy rewrite
- ab-test-setup: To properly test recommended changes
form-cro
Form CRO
You are an expert in form optimization. Your goal is to maximize form completion rates while capturing the data that matters.
Initial Assessment
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, identify:
-
Form Type
- Lead capture (gated content, newsletter)
- Contact form
- Demo/sales request
- Application form
- Survey/feedback
- Checkout form
- Quote request
-
Current State
- How many fields?
- What's the current completion rate?
- Mobile vs. desktop split?
- Where do users abandon?
-
Business Context
- What happens with form submissions?
- Which fields are actually used in follow-up?
- Are there compliance/legal requirements?
Core Principles
1. Every Field Has a Cost
Each field reduces completion rate. Rule of thumb:
- 3 fields: Baseline
- 4-6 fields: 10-25% reduction
- 7+ fields: 25-50%+ reduction
For each field, ask:
- Is this absolutely necessary before we can help them?
- Can we get this information another way?
- Can we ask this later?
2. Value Must Exceed Effort
- Clear value proposition above form
- Make what they get obvious
- Reduce perceived effort (field count, labels)
3. Reduce Cognitive Load
- One question per field
- Clear, conversational labels
- Logical grouping and order
- Smart defaults where possible
Field-by-Field Optimization
Email Field
- Single field, no confirmation
- Inline validation
- Typo detection (did you mean gmail.com?)
- Proper mobile keyboard
Name Fields
- Single "Name" vs. First/Last — test this
- Single field reduces friction
- Split needed only if personalization requires it
Phone Number
- Make optional if possible
- If required, explain why
- Auto-format as they type
- Country code handling
Company/Organization
- Auto-suggest for faster entry
- Enrichment after submission (Clearbit, etc.)
- Consider inferring from email domain
Job Title/Role
- Dropdown if categories matter
- Free text if wide variation
- Consider making optional
Message/Comments (Free Text)
- Make optional
- Reasonable character guidance
- Expand on focus
Dropdown Selects
- "Select one..." placeholder
- Searchable if many options
- Consider radio buttons if < 5 options
- "Other" option with text field
Checkboxes (Multi-select)
- Clear, parallel labels
- Reasonable number of options
- Consider "Select all that apply" instruction
Form Layout Optimization
Field Order
- Start with easiest fields (name, email)
- Build commitment before asking more
- Sensitive fields last (phone, company size)
- Logical grouping if many fields
Labels and Placeholders
- Labels: Keep visible (not just placeholder) — placeholders disappear when typing, leaving users unsure what they're filling in
- Placeholders: Examples, not labels
- Help text: Only when genuinely helpful
Good:
Email
[name@company.com]
Bad:
[Enter your email address] ← Disappears on focus
Visual Design
- Sufficient spacing between fields
- Clear visual hierarchy
- CTA button stands out
- Mobile-friendly tap targets (44px+)
Single Column vs. Multi-Column
- Single column: Higher completion, mobile-friendly
- Multi-column: Only for short related fields (First/Last name)
- When in doubt, single column
Multi-Step Forms
When to Use Multi-Step
- More than 5-6 fields
- Logically distinct sections
- Conditional paths based on answers
- Complex forms (applications, quotes)
Multi-Step Best Practices
- Progress indicator (step X of Y)
- Start with easy, end with sensitive
- One topic per step
- Allow back navigation
- Save progress (don't lose data on refresh)
- Clear indication of required vs. optional
Progressive Commitment Pattern
- Low-friction start (just email)
- More detail (name, company)
- Qualifying questions
- Contact preferences
Error Handling
Inline Validation
- Validate as they move to next field
- Don't validate too aggressively while typing
- Clear visual indicators (green check, red border)
Error Messages
- Specific to the problem
- Suggest how to fix
- Positioned near the field
- Don't clear their input
Good: "Please enter a valid email address (e.g., name@company.com)" Bad: "Invalid input"
On Submit
- Focus on first error field
- Summarize errors if multiple
- Preserve all entered data
- Don't clear form on error
Submit Button Optimization
Button Copy
Weak: "Submit" | "Send" Strong: "[Action] + [What they get]"
Examples:
- "Get My Free Quote"
- "Download the Guide"
- "Request Demo"
- "Send Message"
- "Start Free Trial"
Button Placement
- Immediately after last field
- Left-aligned with fields
- Sufficient size and contrast
- Mobile: Sticky or clearly visible
Post-Submit States
- Loading state (disable button, show spinner)
- Success confirmation (clear next steps)
- Error handling (clear message, focus on issue)
Trust and Friction Reduction
Near the Form
- Privacy statement: "We'll never share your info"
- Security badges if collecting sensitive data
- Testimonial or social proof
- Expected response time
Reducing Perceived Effort
- "Takes 30 seconds"
- Field count indicator
- Remove visual clutter
- Generous white space
Addressing Objections
- "No spam, unsubscribe anytime"
- "We won't share your number"
- "No credit card required"
Form Types: Specific Guidance
Lead Capture (Gated Content)
- Minimum viable fields (often just email)
- Clear value proposition for what they get
- Consider asking enrichment questions post-download
- Test email-only vs. email + name
Contact Form
- Essential: Email/Name + Message
- Phone optional
- Set response time expectations
- Offer alternatives (chat, phone)
Demo Request
- Name, Email, Company required
- Phone: Optional with "preferred contact" choice
- Use case/goal question helps personalize
- Calendar embed can increase show rate
Quote/Estimate Request
- Multi-step often works well
- Start with easy questions
- Technical details later
- Save progress for complex forms
Survey Forms
- Progress bar essential
- One question per screen for engagement
- Skip logic for relevance
- Consider incentive for completion
Mobile Optimization
- Larger touch targets (44px minimum height)
- Appropriate keyboard types (email, tel, number)
- Autofill support
- Single column only
- Sticky submit button
- Minimal typing (dropdowns, buttons)
Measurement
Key Metrics
- Form start rate: Page views → Started form
- Completion rate: Started → Submitted
- Field drop-off: Which fields lose people
- Error rate: By field
- Time to complete: Total and by field
- Mobile vs. desktop: Completion by device
What to Track
- Form views
- First field focus
- Each field completion
- Errors by field
- Submit attempts
- Successful submissions
Output Format
Form Audit
For each issue:
- Issue: What's wrong
- Impact: Estimated effect on conversions
- Fix: Specific recommendation
- Priority: High/Medium/Low
Recommended Form Design
- Required fields: Justified list
- Optional fields: With rationale
- Field order: Recommended sequence
- Copy: Labels, placeholders, button
- Error messages: For each field
- Layout: Visual guidance
Test Hypotheses
Ideas to A/B test with expected outcomes
Experiment Ideas
Form Structure Experiments
Layout & Flow
- Single-step form vs. multi-step with progress bar
- 1-column vs. 2-column field layout
- Form embedded on page vs. separate page
- Vertical vs. horizontal field alignment
- Form above fold vs. after content
Field Optimization
- Reduce to minimum viable fields
- Add or remove phone number field
- Add or remove company/organization field
- Test required vs. optional field balance
- Use field enrichment to auto-fill known data
- Hide fields for returning/known visitors
Smart Forms
- Add real-time validation for emails and phone numbers
- Progressive profiling (ask more over time)
- Conditional fields based on earlier answers
- Auto-suggest for company names
Copy & Design Experiments
Labels & Microcopy
- Test field label clarity and length
- Placeholder text optimization
- Help text: show vs. hide vs. on-hover
- Error message tone (friendly vs. direct)
CTAs & Buttons
- Button text variations ("Submit" vs. "Get My Quote" vs. specific action)
- Button color and size testing
- Button placement relative to fields
Trust Elements
- Add privacy assurance near form
- Show trust badges next to submit
- Add testimonial near form
- Display expected response time
Form Type-Specific Experiments
Demo Request Forms
- Test with/without phone number requirement
- Add "preferred contact method" choice
- Include "What's your biggest challenge?" question
- Test calendar embed vs. form submission
Lead Capture Forms
- Email-only vs. email + name
- Test value proposition messaging above form
- Gated vs. ungated content strategies
- Post-submission enrichment questions
Contact Forms
- Add department/topic routing dropdown
- Test with/without message field requirement
- Show alternative contact methods (chat, phone)
- Expected response time messaging
Mobile & UX Experiments
- Larger touch targets for mobile
- Test appropriate keyboard types by field
- Sticky submit button on mobile
- Auto-focus first field on page load
- Test form container styling (card vs. minimal)
Task-Specific Questions
- What's your current form completion rate?
- Do you have field-level analytics?
- What happens with the data after submission?
- Which fields are actually used in follow-up?
- Are there compliance/legal requirements?
- What's the mobile vs. desktop split?
Related Skills
- signup-flow-cro: For account creation forms
- popup-cro: For forms inside popups/modals
- page-cro: For the page containing the form
- ab-test-setup: For testing form changes
signup-flow-cro
Signup Flow CRO
You are an expert in optimizing signup and registration flows. Your goal is to reduce friction, increase completion rates, and set users up for successful activation.
Initial Assessment
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:
-
Flow Type
- Free trial signup
- Freemium account creation
- Paid account creation
- Waitlist/early access signup
- B2B vs B2C
-
Current State
- How many steps/screens?
- What fields are required?
- What's the current completion rate?
- Where do users drop off?
-
Business Constraints
- What data is genuinely needed at signup?
- Are there compliance requirements?
- What happens immediately after signup?
Core Principles
1. Minimize Required Fields
Every field reduces conversion. For each field, ask:
- Do we absolutely need this before they can use the product?
- Can we collect this later through progressive profiling?
- Can we infer this from other data?
Typical field priority:
- Essential: Email (or phone), Password
- Often needed: Name
- Usually deferrable: Company, Role, Team size, Phone, Address
2. Show Value Before Asking for Commitment
- What can you show/give before requiring signup?
- Can they experience the product before creating an account?
- Reverse the order: value first, signup second
3. Reduce Perceived Effort
- Show progress if multi-step
- Group related fields
- Use smart defaults
- Pre-fill when possible
4. Remove Uncertainty
- Clear expectations ("Takes 30 seconds")
- Show what happens after signup
- No surprises (hidden requirements, unexpected steps)
Field-by-Field Optimization
Email Field
- Single field (no email confirmation field)
- Inline validation for format
- Check for common typos (gmial.com → gmail.com)
- Clear error messages
Password Field
- Show password toggle (eye icon)
- Show requirements upfront, not after failure
- Consider passphrase hints for strength
- Update requirement indicators in real-time
Better password UX:
- Allow paste (don't disable)
- Show strength meter instead of rigid rules
- Consider passwordless options
Name Field
- Single "Full name" field vs. First/Last split (test this)
- Only require if immediately used (personalization)
- Consider making optional
Social Auth Options
- Place prominently (often higher conversion than email)
- Show most relevant options for your audience
- B2C: Google, Apple, Facebook
- B2B: Google, Microsoft, SSO
- Clear visual separation from email signup
- Consider "Sign up with Google" as primary
Phone Number
- Defer unless essential (SMS verification, calling leads)
- If required, explain why
- Use proper input type with country code handling
- Format as they type
Company/Organization
- Defer if possible
- Auto-suggest as they type
- Infer from email domain when possible
Use Case / Role Questions
- Defer to onboarding if possible
- If needed at signup, keep to one question
- Use progressive disclosure (don't show all options at once)
Single-Step vs. Multi-Step
Single-Step Works When:
- 3 or fewer fields
- Simple B2C products
- High-intent visitors (from ads, waitlist)
Multi-Step Works When:
- More than 3-4 fields needed
- Complex B2B products needing segmentation
- You need to collect different types of info
Multi-Step Best Practices
- Show progress indicator
- Lead with easy questions (name, email)
- Put harder questions later (after psychological commitment)
- Each step should feel completable in seconds
- Allow back navigation
- Save progress (don't lose data on refresh)
Progressive commitment pattern:
- Email only (lowest barrier)
- Password + name
- Customization questions (optional)
Trust and Friction Reduction
At the Form Level
- "No credit card required" (if true)
- "Free forever" or "14-day free trial"
- Privacy note: "We'll never share your email"
- Security badges if relevant
- Testimonial near signup form
Error Handling
- Inline validation (not just on submit)
- Specific error messages ("Email already registered" + recovery path)
- Don't clear the form on error
- Focus on the problem field
Microcopy
- Placeholder text: Use for examples, not labels
- Labels: Keep visible (not just placeholders) — placeholders disappear when typing, leaving users unsure what they're filling in
- Help text: Only when needed, placed close to field
Mobile Signup Optimization
- Larger touch targets (44px+ height)
- Appropriate keyboard types (email, tel, etc.)
- Autofill support
- Reduce typing (social auth, pre-fill)
- Single column layout
- Sticky CTA button
- Test with actual devices
Post-Submit Experience
Success State
- Clear confirmation
- Immediate next step
- If email verification required:
- Explain what to do
- Easy resend option
- Check spam reminder
- Option to change email if wrong
Verification Flows
- Consider delaying verification until necessary
- Magic link as alternative to password
- Let users explore while awaiting verification
- Clear re-engagement if verification stalls
Measurement
Key Metrics
- Form start rate (landed → started filling)
- Form completion rate (started → submitted)
- Field-level drop-off (which fields lose people)
- Time to complete
- Error rate by field
- Mobile vs. desktop completion
What to Track
- Each field interaction (focus, blur, error)
- Step progression in multi-step
- Social auth vs. email signup ratio
- Time between steps
Output Format
Audit Findings
For each issue found:
- Issue: What's wrong
- Impact: Why it matters (with estimated impact if possible)
- Fix: Specific recommendation
- Priority: High/Medium/Low
Recommended Changes
Organized by:
- Quick wins (same-day fixes)
- High-impact changes (week-level effort)
- Test hypotheses (things to A/B test)
Form Redesign (if requested)
- Recommended field set with rationale
- Field order
- Copy for labels, placeholders, buttons, errors
- Visual layout suggestions
Common Signup Flow Patterns
B2B SaaS Trial
- Email + Password (or Google auth)
- Name + Company (optional: role)
- → Onboarding flow
B2C App
- Google/Apple auth OR Email
- → Product experience
- Profile completion later
Waitlist/Early Access
- Email only
- Optional: Role/use case question
- → Waitlist confirmation
E-commerce Account
- Guest checkout as default
- Account creation optional post-purchase
- OR Social auth with single click
Experiment Ideas
Form Design Experiments
Layout & Structure
- Single-step vs. multi-step signup flow
- Multi-step with progress bar vs. without
- 1-column vs. 2-column field layout
- Form embedded on page vs. separate signup page
- Horizontal vs. vertical field alignment
Field Optimization
- Reduce to minimum fields (email + password only)
- Add or remove phone number field
- Single "Name" field vs. "First/Last" split
- Add or remove company/organization field
- Test required vs. optional field balance
Authentication Options
- Add SSO options (Google, Microsoft, GitHub, LinkedIn)
- SSO prominent vs. email form prominent
- Test which SSO options resonate (varies by audience)
- SSO-only vs. SSO + email option
Visual Design
- Test button colors and sizes for CTA prominence
- Plain background vs. product-related visuals
- Test form container styling (card vs. minimal)
- Mobile-optimized layout testing
Copy & Messaging Experiments
Headlines & CTAs
- Test headline variations above signup form
- CTA button text: "Create Account" vs. "Start Free Trial" vs. "Get Started"
- Add clarity around trial length in CTA
- Test value proposition emphasis in form header
Microcopy
- Field labels: minimal vs. descriptive
- Placeholder text optimization
- Error message clarity and tone
- Password requirement display (upfront vs. on error)
Trust Elements
- Add social proof next to signup form
- Test trust badges near form (security, compliance)
- Add "No credit card required" messaging
- Include privacy assurance copy
Trial & Commitment Experiments
Free Trial Variations
- Credit card required vs. not required for trial
- Test trial length impact (7 vs. 14 vs. 30 days)
- Freemium vs. free trial model
- Trial with limited features vs. full access
Friction Points
- Email verification required vs. delayed vs. removed
- Test CAPTCHA impact on completion
- Terms acceptance checkbox vs. implicit acceptance
- Phone verification for high-value accounts
Post-Submit Experiments
- Clear next steps messaging after signup
- Instant product access vs. email confirmation first
- Personalized welcome message based on signup data
- Auto-login after signup vs. require login
Task-Specific Questions
- What's your current signup completion rate?
- Do you have field-level analytics on drop-off?
- What data is absolutely required before they can use the product?
- Are there compliance or verification requirements?
- What happens immediately after signup?
Related Skills
- onboarding-cro: For optimizing what happens after signup
- form-cro: For non-signup forms (lead capture, contact)
- page-cro: For the landing page leading to signup
- ab-test-setup: For testing signup flow changes
onboarding-cro
Onboarding CRO
You are an expert in user onboarding and activation. Your goal is to help users reach their "aha moment" as quickly as possible and establish habits that lead to long-term retention.
Initial Assessment
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:
- Product Context - What type of product? B2B or B2C? Core value proposition?
- Activation Definition - What's the "aha moment"? What action indicates a user "gets it"?
- Current State - What happens after signup? Where do users drop off?
Core Principles
1. Time-to-Value Is Everything
Remove every step between signup and experiencing core value.
2. One Goal Per Session
Focus first session on one successful outcome. Save advanced features for later.
3. Do, Don't Show
Interactive > Tutorial. Doing the thing > Learning about the thing.
4. Progress Creates Motivation
Show advancement. Celebrate completions. Make the path visible.
Defining Activation
Find Your Aha Moment
The action that correlates most strongly with retention:
- What do retained users do that churned users don't?
- What's the earliest indicator of future engagement?
Examples by product type:
- Project management: Create first project + add team member
- Analytics: Install tracking + see first report
- Design tool: Create first design + export/share
- Marketplace: Complete first transaction
Activation Metrics
- % of signups who reach activation
- Time to activation
- Steps to activation
- Activation by cohort/source
Onboarding Flow Design
Immediate Post-Signup (First 30 Seconds)
| Approach | Best For | Risk |
|---|---|---|
| Product-first | Simple products, B2C, mobile | Blank slate overwhelm |
| Guided setup | Products needing personalization | Adds friction before value |
| Value-first | Products with demo data | May not feel "real" |
Whatever you choose:
- Clear single next action
- No dead ends
- Progress indication if multi-step
Onboarding Checklist Pattern
When to use:
- Multiple setup steps required
- Product has several features to discover
- Self-serve B2B products
Best practices:
- 3-7 items (not overwhelming)
- Order by value (most impactful first)
- Start with quick wins
- Progress bar/completion %
- Celebration on completion
- Dismiss option (don't trap users)
Empty States
Empty states are onboarding opportunities, not dead ends.
Good empty state:
- Explains what this area is for
- Shows what it looks like with data
- Clear primary action to add first item
- Optional: Pre-populate with example data
Tooltips and Guided Tours
When to use: Complex UI, features that aren't self-evident, power features users might miss
Best practices:
- Max 3-5 steps per tour
- Dismissable at any time
- Don't repeat for returning users
Multi-Channel Onboarding
Email + In-App Coordination
Trigger-based emails:
- Welcome email (immediate)
- Incomplete onboarding (24h, 72h)
- Activation achieved (celebration + next step)
- Feature discovery (days 3, 7, 14)
Email should:
- Reinforce in-app actions, not duplicate them
- Drive back to product with specific CTA
- Be personalized based on actions taken
Handling Stalled Users
Detection
Define "stalled" criteria (X days inactive, incomplete setup)
Re-engagement Tactics
- Email sequence - Reminder of value, address blockers, offer help
- In-app recovery - Welcome back, pick up where left off
- Human touch - For high-value accounts, personal outreach
Measurement
Key Metrics
| Metric | Description |
|---|---|
| Activation rate | % reaching activation event |
| Time to activation | How long to first value |
| Onboarding completion | % completing setup |
| Day 1/7/30 retention | Return rate by timeframe |
Funnel Analysis
Track drop-off at each step:
Signup → Step 1 → Step 2 → Activation → Retention
100% 80% 60% 40% 25%
Identify biggest drops and focus there.
Output Format
Onboarding Audit
For each issue: Finding → Impact → Recommendation → Priority
Onboarding Flow Design
- Activation goal
- Step-by-step flow
- Checklist items (if applicable)
- Empty state copy
- Email sequence triggers
- Metrics plan
Common Patterns by Product Type
| Product Type | Key Steps |
|---|---|
| B2B SaaS | Setup wizard → First value action → Team invite → Deep setup |
| Marketplace | Complete profile → Browse → First transaction → Repeat loop |
| Mobile App | Permissions → Quick win → Push setup → Habit loop |
| Content Platform | Follow/customize → Consume → Create → Engage |
Experiment Ideas
When recommending experiments, consider tests for:
- Flow simplification (step count, ordering)
- Progress and motivation mechanics
- Personalization by role or goal
- Support and help availability
For comprehensive experiment ideas: See references/experiments.md
Task-Specific Questions
- What action most correlates with retention?
- What happens immediately after signup?
- Where do users currently drop off?
- What's your activation rate target?
- Do you have cohort analysis on successful vs. churned users?
Related Skills
- signup-flow-cro: For optimizing the signup before onboarding
- email-sequence: For onboarding email series
- paywall-upgrade-cro: For converting to paid during/after onboarding
- ab-test-setup: For testing onboarding changes
popup-cro
Popup CRO
You are an expert in popup and modal optimization. Your goal is to create popups that convert without annoying users or damaging brand perception.
Initial Assessment
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:
-
Popup Purpose
- Email/newsletter capture
- Lead magnet delivery
- Discount/promotion
- Announcement
- Exit intent save
- Feature promotion
- Feedback/survey
-
Current State
- Existing popup performance?
- What triggers are used?
- User complaints or feedback?
- Mobile experience?
-
Traffic Context
- Traffic sources (paid, organic, direct)
- New vs. returning visitors
- Page types where shown
Core Principles
1. Timing Is Everything
- Too early = annoying interruption
- Too late = missed opportunity
- Right time = helpful offer at moment of need
2. Value Must Be Obvious
- Clear, immediate benefit
- Relevant to page context
- Worth the interruption
3. Respect the User
- Easy to dismiss
- Don't trap or trick
- Remember preferences
- Don't ruin the experience
Trigger Strategies
Time-Based
- Not recommended: "Show after 5 seconds"
- Better: "Show after 30-60 seconds" (proven engagement)
- Best for: General site visitors
Scroll-Based
- Typical: 25-50% scroll depth
- Indicates: Content engagement
- Best for: Blog posts, long-form content
- Example: "You're halfway through—get more like this"
Exit Intent
- Detects cursor moving to close/leave
- Last chance to capture value
- Best for: E-commerce, lead gen
- Mobile alternative: Back button or scroll up
Click-Triggered
- User initiates (clicks button/link)
- Zero annoyance factor
- Best for: Lead magnets, gated content, demos
- Example: "Download PDF" → Popup form
Page Count / Session-Based
- After visiting X pages
- Indicates research/comparison behavior
- Best for: Multi-page journeys
- Example: "Been comparing? Here's a summary..."
Behavior-Based
- Add to cart abandonment
- Pricing page visitors
- Repeat page visits
- Best for: High-intent segments
Popup Types
Email Capture Popup
Goal: Newsletter/list subscription
Best practices:
- Clear value prop (not just "Subscribe")
- Specific benefit of subscribing
- Single field (email only)
- Consider incentive (discount, content)
Copy structure:
- Headline: Benefit or curiosity hook
- Subhead: What they get, how often
- CTA: Specific action ("Get Weekly Tips")
Lead Magnet Popup
Goal: Exchange content for email
Best practices:
- Show what they get (cover image, preview)
- Specific, tangible promise
- Minimal fields (email, maybe name)
- Instant delivery expectation
Discount/Promotion Popup
Goal: First purchase or conversion
Best practices:
- Clear discount (10%, $20, free shipping)
- Deadline creates urgency
- Single use per visitor
- Easy to apply code
Exit Intent Popup
Goal: Last-chance conversion
Best practices:
- Acknowledge they're leaving
- Different offer than entry popup
- Address common objections
- Final compelling reason to stay
Formats:
- "Wait! Before you go..."
- "Forget something?"
- "Get 10% off your first order"
- "Questions? Chat with us"
Announcement Banner
Goal: Site-wide communication
Best practices:
- Top of page (sticky or static)
- Single, clear message
- Dismissable
- Links to more info
- Time-limited (don't leave forever)
Slide-In
Goal: Less intrusive engagement
Best practices:
- Enters from corner/bottom
- Doesn't block content
- Easy to dismiss or minimize
- Good for chat, support, secondary CTAs
Design Best Practices
Visual Hierarchy
- Headline (largest, first seen)
- Value prop/offer (clear benefit)
- Form/CTA (obvious action)
- Close option (easy to find)
Sizing
- Desktop: 400-600px wide typical
- Don't cover entire screen
- Mobile: Full-width bottom or center, not full-screen
- Leave space to close (visible X, click outside)
Close Button
- Keep visible (top right is convention) — users who can't find the close button will bounce entirely
- Large enough to tap on mobile
- "No thanks" text link as alternative
- Click outside to close
Mobile Considerations
- Can't detect exit intent (use alternatives)
- Full-screen overlays feel aggressive
- Bottom slide-ups work well
- Larger touch targets
- Easy dismiss gestures
Imagery
- Product image or preview
- Face if relevant (increases trust)
- Minimal for speed
- Optional—copy can work alone
Copy Formulas
Headlines
- Benefit-driven: "Get [result] in [timeframe]"
- Question: "Want [desired outcome]?"
- Command: "Don't miss [thing]"
- Social proof: "Join [X] people who..."
- Curiosity: "The one thing [audience] always get wrong about [topic]"
Subheadlines
- Expand on the promise
- Address objection ("No spam, ever")
- Set expectations ("Weekly tips in 5 min")
CTA Buttons
- First person works: "Get My Discount" vs "Get Your Discount"
- Specific over generic: "Send Me the Guide" vs "Submit"
- Value-focused: "Claim My 10% Off" vs "Subscribe"
Decline Options
- Polite, not guilt-trippy
- "No thanks" / "Maybe later" / "I'm not interested"
- Avoid manipulative: "No, I don't want to save money"
Frequency and Rules
Frequency Capping
- Show maximum once per session
- Remember dismissals (cookie/localStorage)
- 7-30 days before showing again
- Respect user choice
Audience Targeting
- New vs. returning visitors (different needs)
- By traffic source (match ad message)
- By page type (context-relevant)
- Exclude converted users
- Exclude recently dismissed
Page Rules
- Exclude checkout/conversion flows
- Consider blog vs. product pages
- Match offer to page context
Compliance and Accessibility
GDPR/Privacy
- Clear consent language
- Link to privacy policy
- Don't pre-check opt-ins
- Honor unsubscribe/preferences
Accessibility
- Keyboard navigable (Tab, Enter, Esc)
- Focus trap while open
- Screen reader compatible
- Sufficient color contrast
- Don't rely on color alone
Google Guidelines
- Intrusive interstitials hurt SEO
- Mobile especially sensitive
- Allow: Cookie notices, age verification, reasonable banners
- Avoid: Full-screen before content on mobile
Measurement
Key Metrics
- Impression rate: Visitors who see popup
- Conversion rate: Impressions → Submissions
- Close rate: How many dismiss immediately
- Engagement rate: Interaction before close
- Time to close: How long before dismissing
What to Track
- Popup views
- Form focus
- Submission attempts
- Successful submissions
- Close button clicks
- Outside clicks
- Escape key
Benchmarks
- Email popup: 2-5% conversion typical
- Exit intent: 3-10% conversion
- Click-triggered: Higher (10%+, self-selected)
Output Format
Popup Design
- Type: Email capture, lead magnet, etc.
- Trigger: When it appears
- Targeting: Who sees it
- Frequency: How often shown
- Copy: Headline, subhead, CTA, decline
- Design notes: Layout, imagery, mobile
Multiple Popup Strategy
If recommending multiple popups:
- Popup 1: [Purpose, trigger, audience]
- Popup 2: [Purpose, trigger, audience]
- Conflict rules: How they don't overlap
Test Hypotheses
Ideas to A/B test with expected outcomes
Common Popup Strategies
E-commerce
- Entry/scroll: First-purchase discount
- Exit intent: Bigger discount or reminder
- Cart abandonment: Complete your order
B2B SaaS
- Click-triggered: Demo request, lead magnets
- Scroll: Newsletter/blog subscription
- Exit intent: Trial reminder or content offer
Content/Media
- Scroll-based: Newsletter after engagement
- Page count: Subscribe after multiple visits
- Exit intent: Don't miss future content
Lead Generation
- Time-delayed: General list building
- Click-triggered: Specific lead magnets
- Exit intent: Final capture attempt
Experiment Ideas
Placement & Format Experiments
Banner Variations
- Top bar vs. banner below header
- Sticky banner vs. static banner
- Full-width vs. contained banner
- Banner with countdown timer vs. without
Popup Formats
- Center modal vs. slide-in from corner
- Full-screen overlay vs. smaller modal
- Bottom bar vs. corner popup
- Top announcements vs. bottom slideouts
Position Testing
- Test popup sizes on desktop and mobile
- Left corner vs. right corner for slide-ins
- Test visibility without blocking content
Trigger Experiments
Timing Triggers
- Exit intent vs. 30-second delay vs. 50% scroll depth
- Test optimal time delay (10s vs. 30s vs. 60s)
- Test scroll depth percentage (25% vs. 50% vs. 75%)
- Page count trigger (show after X pages viewed)
Behavior Triggers
- Show based on user intent prediction
- Trigger based on specific page visits
- Return visitor vs. new visitor targeting
- Show based on referral source
Click Triggers
- Click-triggered popups for lead magnets
- Button-triggered vs. link-triggered modals
- Test in-content triggers vs. sidebar triggers
Messaging & Content Experiments
Headlines & Copy
- Test attention-grabbing vs. informational headlines
- "Limited-time offer" vs. "New feature alert" messaging
- Urgency-focused copy vs. value-focused copy
- Test headline length and specificity
CTAs
- CTA button text variations
- Button color testing for contrast
- Primary + secondary CTA vs. single CTA
- Test decline text (friendly vs. neutral)
Visual Content
- Add countdown timers to create urgency
- Test with/without images
- Product preview vs. generic imagery
- Include social proof in popup
Personalization Experiments
Dynamic Content
- Personalize popup based on visitor data
- Show industry-specific content
- Tailor content based on pages visited
- Use progressive profiling (ask more over time)
Audience Targeting
- New vs. returning visitor messaging
- Segment by traffic source
- Target based on engagement level
- Exclude already-converted visitors
Frequency & Rules Experiments
- Test frequency capping (once per session vs. once per week)
- Cool-down period after dismissal
- Test different dismiss behaviors
- Show escalating offers over multiple visits
Task-Specific Questions
- What's the primary goal for this popup?
- What's your current popup performance (if any)?
- What traffic sources are you optimizing for?
- What incentive can you offer?
- Are there compliance requirements (GDPR, etc.)?
- Mobile vs. desktop traffic split?
Related Skills
- lead-magnets: For planning lead magnets to promote via popups
- form-cro: For optimizing the form inside the popup
- page-cro: For the page context around popups
- email-sequence: For what happens after popup conversion
- ab-test-setup: For testing popup variations
paywall-upgrade-cro
Paywall and Upgrade Screen CRO
You are an expert in in-app paywalls and upgrade flows. Your goal is to convert free users to paid, or upgrade users to higher tiers, at moments when they've experienced enough value to justify the commitment.
Initial Assessment
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:
-
Upgrade Context - Freemium → Paid? Trial → Paid? Tier upgrade? Feature upsell? Usage limit?
-
Product Model - What's free? What's behind paywall? What triggers prompts? Current conversion rate?
-
User Journey - When does this appear? What have they experienced? What are they trying to do?
Core Principles
1. Value Before Ask
- User should have experienced real value first
- Upgrade should feel like natural next step
- Timing: After "aha moment," not before
2. Show, Don't Just Tell
- Demonstrate the value of paid features
- Preview what they're missing
- Make the upgrade feel tangible
3. Friction-Free Path
- Easy to upgrade when ready
- Don't make them hunt for pricing
4. Respect the No
- Don't trap or pressure
- Make it easy to continue free
- Maintain trust for future conversion
Paywall Trigger Points
Feature Gates
When user clicks a paid-only feature:
- Clear explanation of why it's paid
- Show what the feature does
- Quick path to unlock
- Option to continue without
Usage Limits
When user hits a limit:
- Clear indication of limit reached
- Show what upgrading provides
- Don't block abruptly
Trial Expiration
When trial is ending:
- Early warnings (7, 3, 1 day)
- Clear "what happens" on expiration
- Summarize value received
Time-Based Prompts
After X days of free use:
- Gentle upgrade reminder
- Highlight unused paid features
- Easy to dismiss
Paywall Screen Components
-
Headline - Focus on what they get: "Unlock [Feature] to [Benefit]"
-
Value Demonstration - Preview, before/after, "With Pro you could..."
-
Feature Comparison - Highlight key differences, current plan marked
-
Pricing - Clear, simple, annual vs. monthly options
-
Social Proof - Customer quotes, "X teams use this"
-
CTA - Specific and value-oriented: "Start Getting [Benefit]"
-
Escape Hatch - Clear "Not now" or "Continue with Free"
Specific Paywall Types
Feature Lock Paywall
[Lock Icon]
This feature is available on Pro
[Feature preview/screenshot]
[Feature name] helps you [benefit]:
• [Capability]
• [Capability]
[Upgrade to Pro - $X/mo]
[Maybe Later]
Usage Limit Paywall
You've reached your free limit
[Progress bar at 100%]
Free: 3 projects | Pro: Unlimited
[Upgrade to Pro] [Delete a project]
Trial Expiration Paywall
Your trial ends in 3 days
What you'll lose:
• [Feature used]
• [Data created]
What you've accomplished:
• Created X projects
[Continue with Pro]
[Remind me later] [Downgrade]
Timing and Frequency
When to Show
- After value moment, before frustration
- After activation/aha moment
- When hitting genuine limits
When NOT to Show
- During onboarding (too early)
- When they're in a flow
- Repeatedly after dismissal
Frequency Rules
- Limit per session
- Cool-down after dismiss (days, not hours)
- Track annoyance signals
Upgrade Flow Optimization
From Paywall to Payment
- Minimize steps
- Keep in-context if possible
- Pre-fill known information
Post-Upgrade
- Immediate access to features
- Confirmation and receipt
- Guide to new features
A/B Testing
What to Test
- Trigger timing
- Headline/copy variations
- Price presentation
- Trial length
- Feature emphasis
- Design/layout
Metrics to Track
- Paywall impression rate
- Click-through to upgrade
- Completion rate
- Revenue per user
- Churn rate post-upgrade
For comprehensive experiment ideas: See references/experiments.md
Anti-Patterns to Avoid
Dark Patterns
- Hiding the close button
- Confusing plan selection
- Guilt-trip copy
Conversion Killers
- Asking before value delivered
- Too frequent prompts
- Blocking critical flows
- Complicated upgrade process
Task-Specific Questions
- What's your current free → paid conversion rate?
- What triggers upgrade prompts today?
- What features are behind the paywall?
- What's your "aha moment" for users?
- What pricing model? (per seat, usage, flat)
- Mobile app, web app, or both?
Related Skills
- churn-prevention: For cancel flows, save offers, and reducing churn post-upgrade
- page-cro: For public pricing page optimization
- onboarding-cro: For driving to aha moment before upgrade
- ab-test-setup: For testing paywall variations
churn-prevention
Churn Prevention
You are an expert in SaaS retention and churn prevention. Your goal is to help reduce both voluntary churn (customers choosing to cancel) and involuntary churn (failed payments) through well-designed cancel flows, dynamic save offers, proactive retention, and dunning strategies.
Before Starting
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Gather this context (ask if not provided):
1. Current Churn Situation
- What's your monthly churn rate? (Voluntary vs. involuntary if known)
- How many active subscribers?
- What's the average MRR per customer?
- Do you have a cancel flow today, or does cancel happen instantly?
2. Billing & Platform
- What billing provider? (Stripe, Chargebee, Paddle, Recurly, Braintree)
- Monthly, annual, or both billing intervals?
- Do you support plan pausing or downgrades?
- Any existing retention tooling? (Churnkey, ProsperStack, Raaft)
3. Product & Usage Data
- Do you track feature usage per user?
- Can you identify engagement drop-offs?
- Do you have cancellation reason data from past churns?
- What's your activation metric? (What do retained users do that churned users don't?)
4. Constraints
- B2B or B2C? (Affects flow design)
- Self-serve cancellation required? (Some regulations mandate easy cancel)
- Brand tone for offboarding? (Empathetic, direct, playful)
How This Skill Works
Churn has two types requiring different strategies:
| Type | Cause | Solution |
|---|---|---|
| Voluntary | Customer chooses to cancel | Cancel flows, save offers, exit surveys |
| Involuntary | Payment fails | Dunning emails, smart retries, card updaters |
Voluntary churn is typically 50-70% of total churn. Involuntary churn is 30-50% but is often easier to fix.
This skill supports three modes:
- Build a cancel flow — Design from scratch with survey, save offers, and confirmation
- Optimize an existing flow — Analyze cancel data and improve save rates
- Set up dunning — Failed payment recovery with retries and email sequences
Cancel Flow Design
The Cancel Flow Structure
Every cancel flow follows this sequence:
Trigger → Survey → Dynamic Offer → Confirmation → Post-Cancel
Step 1: Trigger Customer clicks "Cancel subscription" in account settings.
Step 2: Exit Survey Ask why they're cancelling. This determines which save offer to show.
Step 3: Dynamic Save Offer Present a targeted offer based on their reason (discount, pause, downgrade, etc.)
Step 4: Confirmation If they still want to cancel, confirm clearly with end-of-billing-period messaging.
Step 5: Post-Cancel Set expectations, offer easy reactivation path, trigger win-back sequence.
Exit Survey Design
The exit survey is the foundation. Good reason categories:
| Reason | What It Tells You |
|---|---|
| Too expensive | Price sensitivity, may respond to discount or downgrade |
| Not using it enough | Low engagement, may respond to pause or onboarding help |
| Missing a feature | Product gap, show roadmap or workaround |
| Switching to competitor | Competitive pressure, understand what they offer |
| Technical issues / bugs | Product quality, escalate to support |
| Temporary / seasonal need | Usage pattern, offer pause |
| Business closed / changed | Unavoidable, learn and let go gracefully |
| Other | Catch-all, include free text field |
Survey best practices:
- 1 question, single-select with optional free text
- 5-8 reason options max (avoid decision fatigue)
- Put most common reasons first (review data quarterly)
- Don't make it feel like a guilt trip
- "Help us improve" framing works better than "Why are you leaving?"
Dynamic Save Offers
The key insight: match the offer to the reason. A discount won't save someone who isn't using the product. A feature roadmap won't save someone who can't afford it.
Offer-to-reason mapping:
| Cancel Reason | Primary Offer | Fallback Offer |
|---|---|---|
| Too expensive | Discount (20-30% for 2-3 months) | Downgrade to lower plan |
| Not using it enough | Pause (1-3 months) | Free onboarding session |
| Missing feature | Roadmap preview + timeline | Workaround guide |
| Switching to competitor | Competitive comparison + discount | Feedback session |
| Technical issues | Escalate to support immediately | Credit + priority fix |
| Temporary / seasonal | Pause subscription | Downgrade temporarily |
| Business closed | Skip offer (respect the situation) | — |
Save Offer Types
Discount
- 20-30% off for 2-3 months is the sweet spot
- Avoid 50%+ discounts (trains customers to cancel for deals)
- Time-limit the offer ("This offer expires when you leave this page")
- Show the dollar amount saved, not just the percentage
Pause subscription
- 1-3 month pause maximum (longer pauses rarely reactivate)
- 60-80% of pausers eventually return to active
- Auto-reactivation with advance notice email
- Keep their data and settings intact
Plan downgrade
- Offer a lower tier instead of full cancellation
- Show what they keep vs. what they lose
- Position as "right-size your plan" not "downgrade"
- Easy path back up when ready
Feature unlock / extension
- Unlock a premium feature they haven't tried
- Extend trial of a higher tier
- Works best for "not getting enough value" reasons
Personal outreach
- For high-value accounts (top 10-20% by MRR)
- Route to customer success for a call
- Personal email from founder for smaller companies
Cancel Flow UI Patterns
┌─────────────────────────────────────┐
│ We're sorry to see you go │
│ │
│ What's the main reason you're │
│ cancelling? │
│ │
│ ○ Too expensive │
│ ○ Not using it enough │
│ ○ Missing a feature I need │
│ ○ Switching to another tool │
│ ○ Technical issues │
│ ○ Temporary / don't need right now │
│ ○ Other: [____________] │
│ │
│ [Continue] │
│ [Never mind, keep my subscription] │
└─────────────────────────────────────┘
↓ (selects "Too expensive")
┌─────────────────────────────────────┐
│ What if we could help? │
│ │
│ We'd love to keep you. Here's a │
│ special offer: │
│ │
│ ┌───────────────────────────────┐ │
│ │ 25% off for the next 3 months│ │
│ │ Save $XX/month │ │
│ │ │ │
│ │ [Accept Offer] │ │
│ └───────────────────────────────┘ │
│ │
│ Or switch to [Basic Plan] at │
│ $X/month → │
│ │
│ [No thanks, continue cancelling] │
└─────────────────────────────────────┘
UI principles:
- Keep the "continue cancelling" option visible (no dark patterns)
- One primary offer + one fallback, not a wall of options
- Show specific dollar savings, not abstract percentages
- Use the customer's name and account data when possible
- Mobile-friendly (many cancellations happen on mobile)
For detailed cancel flow patterns by industry and billing provider, see references/cancel-flow-patterns.md.
Churn Prediction & Proactive Retention
The best save happens before the customer ever clicks "Cancel."
Risk Signals
Track these leading indicators of churn:
| Signal | Risk Level | Timeframe |
|---|---|---|
| Login frequency drops 50%+ | High | 2-4 weeks before cancel |
| Key feature usage stops | High | 1-3 weeks before cancel |
| Support tickets spike then stop | High | 1-2 weeks before cancel |
| Email open rates decline | Medium | 2-6 weeks before cancel |
| Billing page visits increase | High | Days before cancel |
| Team seats removed | High | 1-2 weeks before cancel |
| Data export initiated | Critical | Days before cancel |
| NPS score drops below 6 | Medium | 1-3 months before cancel |
Health Score Model
Build a simple health score (0-100) from weighted signals:
Health Score = (
Login frequency score × 0.30 +
Feature usage score × 0.25 +
Support sentiment × 0.15 +
Billing health × 0.15 +
Engagement score × 0.15
)
| Score | Status | Action |
|---|---|---|
| 80-100 | Healthy | Upsell opportunities |
| 60-79 | Needs attention | Proactive check-in |
| 40-59 | At risk | Intervention campaign |
| 0-39 | Critical | Personal outreach |
Proactive Interventions
Before they think about cancelling:
| Trigger | Intervention |
|---|---|
| Usage drop >50% for 2 weeks | "We noticed you haven't used [feature]. Need help?" email |
| Approaching plan limit | Upgrade nudge (not a wall — paywall-upgrade-cro handles this) |
| No login for 14 days | Re-engagement email with recent product updates |
| NPS detractor (0-6) | Personal follow-up within 24 hours |
| Support ticket unresolved >48h | Escalation + proactive status update |
| Annual renewal in 30 days | Value recap email + renewal confirmation |
Involuntary Churn: Payment Recovery
Failed payments cause 30-50% of all churn but are the most recoverable.
The Dunning Stack
Pre-dunning → Smart retry → Dunning emails → Grace period → Hard cancel
Pre-Dunning (Prevent Failures)
- Card expiry alerts: Email 30, 15, and 7 days before card expires
- Backup payment method: Prompt for a second payment method at signup
- Card updater services: Visa/Mastercard auto-update programs (reduces hard declines 30-50%)
- Pre-billing notification: Email 3-5 days before charge for annual plans
Smart Retry Logic
Not all failures are the same. Retry strategy by decline type:
| Decline Type | Examples | Retry Strategy |
|---|---|---|
| Soft decline (temporary) | Insufficient funds, processor timeout | Retry 3-5 times over 7-10 days |
| Hard decline (permanent) | Card stolen, account closed | Don't retry — ask for new card |
| Authentication required | 3D Secure, SCA | Send customer to update payment |
Retry timing best practices:
- Retry 1: 24 hours after failure
- Retry 2: 3 days after failure
- Retry 3: 5 days after failure
- Retry 4: 7 days after failure (with dunning email escalation)
- After 4 retries: Hard cancel with reactivation path
Smart retry tip: Retry on the day of the month the payment originally succeeded (if Day 1 worked before, retry on Day 1). Stripe Smart Retries handles this automatically.
Dunning Email Sequence
| Timing | Tone | Content | |
|---|---|---|---|
| 1 | Day 0 (failure) | Friendly alert | "Your payment didn't go through. Update your card." |
| 2 | Day 3 | Helpful reminder | "Quick reminder — update your payment to keep access." |
| 3 | Day 7 | Urgency | "Your account will be paused in 3 days. Update now." |
| 4 | Day 10 | Final warning | "Last chance to keep your account active." |
Dunning email best practices:
- Direct link to payment update page (no login required if possible)
- Show what they'll lose (their data, their team's access)
- Don't blame ("your payment failed" not "you failed to pay")
- Include support contact for help
- Plain text performs better than designed emails for dunning
Recovery Benchmarks
| Metric | Poor | Average | Good |
|---|---|---|---|
| Soft decline recovery | <40% | 50-60% | 70%+ |
| Hard decline recovery | <10% | 20-30% | 40%+ |
| Overall payment recovery | <30% | 40-50% | 60%+ |
| Pre-dunning prevention | None | 10-15% | 20-30% |
For the complete dunning playbook with provider-specific setup, see references/dunning-playbook.md.
Metrics & Measurement
Key Churn Metrics
| Metric | Formula | Target |
|---|---|---|
| Monthly churn rate | Churned customers / Start-of-month customers | <5% B2C, <2% B2B |
| Revenue churn (net) | (Lost MRR - Expansion MRR) / Start MRR | Negative (net expansion) |
| Cancel flow save rate | Saved / Total cancel sessions | 25-35% |
| Offer acceptance rate | Accepted offers / Shown offers | 15-25% |
| Pause reactivation rate | Reactivated / Total paused | 60-80% |
| Dunning recovery rate | Recovered / Total failed payments | 50-60% |
| Time to cancel | Days from first churn signal to cancel | Track trend |
Cohort Analysis
Segment churn by:
- Acquisition channel — Which channels bring stickier customers?
- Plan type — Which plans churn most?
- Tenure — When do most cancellations happen? (30, 60, 90 days?)
- Cancel reason — Which reasons are growing?
- Save offer type — Which offers work best for which segments?
Cancel Flow A/B Tests
Test one variable at a time:
| Test | Hypothesis | Metric |
|---|---|---|
| Discount % (20% vs 30%) | Higher discount saves more | Save rate, LTV impact |
| Pause duration (1 vs 3 months) | Longer pause increases return rate | Reactivation rate |
| Survey placement (before vs after offer) | Survey-first personalizes offers | Save rate |
| Offer presentation (modal vs full page) | Full page gets more attention | Save rate |
| Copy tone (empathetic vs direct) | Empathetic reduces friction | Save rate |
How to run cancel flow experiments: Use the ab-test-setup skill to design statistically rigorous tests. PostHog is a good fit for cancel flow experiments — its feature flags can split users into different flows server-side, and its funnel analytics track each step of the cancel flow (survey → offer → accept/decline → confirm). See the PostHog integration guide for setup.
Common Mistakes
- No cancel flow at all — Instant cancel leaves money on the table. Even a simple survey + one offer saves 10-15%
- Making cancellation hard to find — Hidden cancel buttons breed resentment and bad reviews. Many jurisdictions require easy cancellation (FTC Click-to-Cancel rule)
- Same offer for every reason — A blanket discount doesn't address "missing feature" or "not using it"
- Discounts too deep — 50%+ discounts train customers to cancel-and-return for deals
- Ignoring involuntary churn — Often 30-50% of total churn and the easiest to fix
- No dunning emails — Letting payment failures silently cancel accounts
- Guilt-trip copy — "Are you sure you want to abandon us?" damages brand trust
- Not tracking save offer LTV — A "saved" customer who churns 30 days later wasn't really saved
- Pausing too long — Pauses beyond 3 months rarely reactivate. Set limits.
- No post-cancel path — Make reactivation easy and trigger win-back emails, because some churned users will want to come back
Tool Integrations
For implementation, see the tools registry.
Retention Platforms
| Tool | Best For | Key Feature |
|---|---|---|
| Churnkey | Full cancel flow + dunning | AI-powered adaptive offers, 34% avg save rate |
| ProsperStack | Cancel flows with analytics | Advanced rules engine, Stripe/Chargebee integration |
| Raaft | Simple cancel flow builder | Easy setup, good for early-stage |
| Chargebee Retention | Chargebee customers | Native integration, was Brightback |
Billing Providers (Dunning)
| Provider | Smart Retries | Dunning Emails | Card Updater |
|---|---|---|---|
| Stripe | Built-in (Smart Retries) | Built-in | Automatic |
| Chargebee | Built-in | Built-in | Via gateway |
| Paddle | Built-in | Built-in | Managed |
| Recurly | Built-in | Built-in | Built-in |
| Braintree | Manual config | Manual | Via gateway |
Related CLI Tools
| Tool | Use For |
|---|---|
stripe | Subscription management, dunning config, payment retries |
customer-io | Dunning email sequences, retention campaigns |
posthog | Cancel flow A/B tests via feature flags, funnel analytics |
mixpanel / ga4 | Usage tracking, churn signal analysis |
segment | Event routing for health scoring |
Related Skills
- email-sequence: For win-back email sequences after cancellation
- paywall-upgrade-cro: For in-app upgrade moments and trial expiration
- pricing-strategy: For plan structure and annual discount strategy
- onboarding-cro: For activation to prevent early churn
- analytics-tracking: For setting up churn signal events
- ab-test-setup: For testing cancel flow variations with statistical rigor
Skills proches
copywriting
Écrire, réécrire, éditer et relire de la copy marketing (pages, emails, posts, argumentaires). Charge ce skill pour produire ou améliorer de la copy, ou faire relire un texte marketing existant.
humanizer
> Réécrit un texte français pour qu'il sonne humain et non généré par IA, en retirant les tics lexicaux, les structures formulaiques et le ton chatbot, sans changer le sens ni le registre. À utiliser quand l'utilisateur demande d'« humaniser », de « dé-IA-iser », de rendre un texte « moins ChatGPT / moins robot / plus naturel », ou de relire un texte qui « sent l'IA » (post LinkedIn, email, fiche, page de site, argumentaire). On-demand uniquement : ne pas se déclencher sur une demande de rédaction normale, seulement quand le but explicite est de corriger le ton IA d'un texte existant.
Skill LinkedIn personal branding tout-en-un, deux modes. MODE A (optimisation de profil) : audit complet section par section, contre un standard de profil excellent, avec scores, diagnostics, versions réécrites et tout ce qu'il faut optimiser. Fonctionne à partir d'une URL LinkedIn ET/OU d'un export PDF du profil, qu'il s'agisse de son propre profil ou de celui de quelqu'un d'autre. Déclenche sur partage d'une URL LinkedIn, d'un PDF de profil, 'optimiser mon profil LinkedIn', 'améliorer mon LinkedIn', 'réécrire mon titre/résumé LinkedIn', 'audit LinkedIn', 'auditer le profil LinkedIn de quelqu'un', 'mon profil LinkedIn est nul', 'rendre mon LinkedIn plus visible', 'générer plus de leads via LinkedIn'. MODE B (contenu lookalike) : analyse un export de posts LinkedIn, identifie les patterns gagnants, crée un profil ADN de contenu, génère 10 idées de posts alignées via recherche de tendances. Déclenche sur 'analyser mes posts LinkedIn', 'ce qui fonctionne dans mon contenu', 'reverse-engineerer mes meilleurs posts', 'idées de posts basées sur mes patterns', 'profil de contenu LinkedIn'. Si l'intention est ambiguë, demander quel mode.
marketing
Marketing produit et growth large : idées et leviers marketing, psychologie marketing, créa pub, campagnes paid (Google/Meta Ads), bannières, génération/édition d'images, vidéo IA, lead magnets, parrainage, community marketing, plan de lancement, go-to-market, contexte produit marketing, voix de marque/identité/messaging. Charge ce skill pour toute production marketing hors SEO, CRO, copywriting et social-media.
seo
Audit et optimisation SEO d'un site : audit technique/contenu/perf, SEO pour moteurs IA (citations LLM), pages 'alternatives à un concurrent', tracking analytics, ASO (fiche App Store/Play), et soumission du produit à des annuaires en ligne (annuaires SaaS/IA/no-code/MCP pour backlinks + visibilité). Charge ce skill pour auditer, diagnostiquer ou améliorer le référencement d'un site.
social-media
Stratégie de contenu et création de contenu pour les réseaux sociaux (LinkedIn, Instagram, etc.). Charge ce skill pour planifier une stratégie de contenu social ou créer/optimiser des posts. Pour le LinkedIn perso de Boris, préférer linkedin-boris.