paywalls
The facts
Its description
When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," "in-app pricing," "free users won't upgrade," "trial to paid conversion," or "how do I get users to pay," "mobile app paywall," "subscription app paywall," or "App Store subscription pricing." Use this for any in-product moment where you're asking users to upgrade. Distinct from public pricing pages (see cro) — this focuses on in-product upgrade moments where the user has already experienced value. For pricing decisions, see pricing.
The description the agent reads to decide when to use it.
When it starts
The agent picks this skill when the conversation is about in-product upgrade moments — paywalls, upgrade screens, upsell modals, feature gates, trial-expiration or limit-reached prompts, or getting free users to convert to paid. The description explicitly routes public pricing pages and pricing decisions to other skills, so it fires on in-product conversion asks rather than pricing-page or pricing-strategy work.
Things a person might say (the model's guesses)
- “Our free users never upgrade — how do we get them to pay?”
- “Can you help me design the upgrade screen for our mobile app?”
- “We want to add a feature gate for our Pro-only reports.”
A model's summary of when it is used.
Files it mentions
references/experiments.md, references/mobile-subscription-paywalls.md
Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.
What it leads to
- an alternative: cro for public pricing pages line 3
- an alternative: pricing for pricing decisions line 3
Other skills this one hands off to, calls, requires or offers instead, as a model read them.
What leads to it
- reverse-engineer-marketing hands off to this when a trial or credit model converts reverse-engineer-marketing/play-routing.md, line 34
- marketing-loops calls this marketing-loops/loop-catalog.md, line 636
- pricing is an alternative to this for in-app upgrade screens pricing, line 3
Other skills that hand off to this one, call it, require it or offer it instead, as a model read them.
Licence
MIT, from LICENSE
The terms its author shares it under, which let it be shown here.
Other settings
metadata: version: 2.1.1
More settings at the top of the file, shown as written.
Other files in this skill (3) Close
The text
Most marks come from matching words in the file, so treat them as pointers.
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.
Raw lines 1 to 11Initial Assessment
Check for product marketing context first: If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, 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?
Raw lines 12 to 26
Core Principles
Raw lines 27 to 281. 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
4. Respect the No
- Don't trap or pressure
- Make it easy to continue free
- Maintain trust for future conversion
Raw lines 43 to 49
Paywall Trigger Points
Raw lines 50 to 51Feature 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
Raw lines 71 to 78
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"
Raw lines 79 to 96
Specific Paywall Types
Raw lines 97 to 98Feature 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]Raw lines 99 to 113Usage Limit Paywall
You've reached your free limit
[Progress bar at 100%]
Free: 3 projects | Pro: Unlimited
[Upgrade to Pro] [Delete a project]Raw lines 114 to 124Trial 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]Raw lines 125 to 141
Timing and Frequency
Raw lines 142 to 143When 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
Raw lines 154 to 160
Upgrade Flow Optimization
Raw lines 161 to 162From 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
Raw lines 168 to 174
A/B Testing
Raw lines 175 to 176What 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
For consumer iOS/Android subscription apps (paywall inside onboarding, yearly-first plans, trials and reminders, store fees, web checkout, revenue per download): See references/mobile-subscription-paywalls.md
Raw lines 185 to 197
Anti-Patterns to Avoid
Raw lines 198 to 199Dark Patterns
- Hiding the close button
- Confusing plan selection
- Guilt-trip copy
- Fake countdowns or "limited" offers with no real deadline
Conversion Killers
- Asking before value delivered
- Too frequent prompts
- Blocking critical flows
- Complicated upgrade process
Raw lines 206 to 213
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?
Raw lines 214 to 224
Related Skills
- churn-prevention: For cancel flows, save offers, and reducing churn post-upgrade
- cro: For public pricing page optimization
- onboarding: For driving to aha moment before upgrade
- ab-testing: For testing paywall variations
From coreyhaines31/marketingskills at 88c79f6, 2026-10-30. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.