Paywalls
Corey HainesCommunityCreated by Corey Haines
- Skill
- Workflow
- Business and productivity
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured approach to designing in-app upgrade moments, such as paywalls, feature gates, and trial expiration screens. It emphasizes the 'Value Before Ask' principle, ensuring that users are prompted to upgrade only after they have experienced the product's core value. The skill covers the entire lifecycle of an upgrade flow, from identifying the right trigger points and designing effective screen components to A/B testing strategies and avoiding common anti-patterns like dark patterns.
What it does
- Provides frameworks for timing upgrade prompts after user 'aha moments'.
- Offers design patterns for feature locks, usage limits, and trial expiration screens.
- Guides the creation of clear, value-oriented upgrade copy and CTA messaging.
- Suggests A/B testing strategies for trigger timing, pricing presentation, and layout.
- Outlines best practices for mobile subscription apps, including store-specific considerations.
- Helps identify and remove conversion-killing friction in the payment path.
When to use it
- When designing or refining in-app paywalls, upsell modals, or feature gates.
- When free-to-paid conversion rates are low or users are not upgrading after trial periods.
- When planning experiments to optimize the timing and frequency of upgrade prompts.
- When transitioning from a free-only product to a freemium or subscription model.
- When you need to balance monetization goals with maintaining user trust and retention.
Advantages
- Focuses on user-centric conversion by prioritizing value demonstration.
- Reduces user frustration by providing clear paths to continue using the free version.
- Provides actionable, data-driven patterns for both SaaS and mobile app contexts.
- Helps avoid dark patterns that can damage long-term brand reputation.
- Includes specific guidance on mobile-first subscription mechanics and store-related constraints.
Usage examples
- “Our users hit a usage limit on our project management tool, but they aren't upgrading. How should we design the limit-reached screen?”
- The agent will provide a structure for a usage-limit paywall that clearly shows the current limit, the value of the Pro tier, and a frictionless path to upgrade, while ensuring the user isn't abruptly blocked.
- “We are building a mobile fitness app. Should we use a hard paywall or a freemium model?”
- The agent will compare the two approaches, referencing industry data on conversion and retention, and help you decide based on your app's specific value proposition and target audience.
- “What should we test to improve our trial-to-paid conversion rate?”
- The agent will suggest a list of A/B test ideas, such as varying trial lengths, testing different headline copy, or optimizing the timing of expiration reminders.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/coreyhaines31/paywalls/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip paywalls.zip -d .agents/skills
Documentation by Corey Haines
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.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?
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
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
Anti-Patterns to Avoid
Dark 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
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
cro: For public pricing page optimization
onboarding: For driving to aha moment before upgrade
ab-testing: For testing paywall variations
Files
- ATTRIBUTION.mdAdded by AutoGineer877 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md6.1 KiB
- evals/evals.json8.0 KiB
- references/experiments.md5.7 KiB
- references/mobile-subscription-paywalls.md5.3 KiB
references/mobile-subscription-paywalls.md
Mobile Subscription App Paywalls
Consumer iOS and Android subscription apps (fitness, learning, focus, faith, scanners) run on different paywall mechanics from SaaS upgrade screens. Billing goes through the app stores, the paywall usually sits inside onboarding, and most revenue comes from a yearly plan sold on day one. Use this reference for those apps; the rest of the skill still applies to the copy, design, and testing.
Contents
Placement: after the first personalized result
Hard paywall vs. freemium
Plan presentation
Trials
One abandon offer
Store fees and web checkout
Unit economics per download
App Store review checklist
Placement: after the first personalized result
The common pattern is onboarding → personalized result → paywall. Onboarding asks a few questions about the user's goal, the app shows something built for them (a plan, a score, a first analysis), and the paywall follows while that result is on screen. The result is the value moment the paywall leans on; a paywall on first launch, before anything personal has happened, asks for money with nothing to point at.
Hard paywall vs. freemium
A hard paywall (no core use without a trial or purchase) and freemium (a capped free tier) are both legitimate. RevenueCat's State of Subscription Apps 2026 found hard-paywall apps converting roughly five times as many users to paid in the first 35 days as freemium apps, while one-year retention of yearly subscribers was about the same for both (27% vs. 28%). Freemium still fits when the free tier drives sharing or word of mouth. If you keep a free tier, cap it daily so the limit is felt in the habit, not after a month.
Plan presentation
Lead with the yearly plan, with the per-week or per-month equivalent as supporting text ("$0.58/week, billed $29.99 yearly"). The billed amount and period must stay clear; the breakdown is framing, not a replacement.
Offer at most one shorter option (weekly or monthly) as the comparison.
Localize prices by storefront rather than converting one price.
Test price, plan mix, trial length, and design remotely so changes don't need an app release. Paywall platforms such as Superwall, RevenueCat Paywalls, and Adapty do this; pick on fit with your stack.
Trials
Offer a free trial on the yearly plan and schedule a reminder before it ends. Surprise renewals drive refunds, one-star reviews, and chargebacks.
Trial length is a test, not a default. RevenueCat's 2026 data shows longer trials (17+ days) converting at a higher median rate than trials of four days or less, at the cost of waiting longer for revenue. Short trials suit apps where value lands in a day or two; longer trials suit habits that take a week to form.
One abandon offer
When someone closes the paywall without starting a trial, one discounted yearly offer is a standard move. Show it once, not on every close, and keep it consistent with the rules in the main skill (respect the no, no fake countdowns).
Store fees and web checkout
Fees change and differ by country, so treat these as a snapshot (October 2026) and check current terms before modeling:
Apple: subscriptions pay 15% for members of the App Store Small Business Program (under $1M in annual proceeds). Otherwise 30% in a subscriber's first year and 15% after.
Google Play (US, UK, EEA, from June 30, 2026): a 10% service fee on subscriptions plus a 5% billing fee when Google Play's billing is used, so 15% in practice. The 10% service fee also applies when users pay through an alternative biller or a web link; only the billing fee drops away. Other markets follow on later dates.
US iOS link-outs to web checkout are allowed, and Apple's commission on them is still being set in court. Model the web path at a range of possible rates rather than at zero.
Web-to-app funnel: ad → web onboarding quiz → web paywall → download link. It moves payment off the store and lets you test onboarding without app releases, but it adds a step between the ad and the app. Check each storefront's link-out rules before building it.
Unit economics per download
revenue per download = trial start rate × trial-to-paid rate × yearly price × (1 − store fee)One founder's working estimate is 30% of downloads starting a trial and 30% of trials paying about $30 a year, which comes to about $2.70 per download before fees. Treat that as a starting assumption to replace with your own numbers within a few weeks of launch, not a benchmark. Revenue per download is what tells you how much you can pay per install on ads or creators.
App Store review checklist
[ ] Price, billing period, trial length, and "auto-renews until cancelled" shown on the paywall
[ ] Links to Terms of Use (EULA) and Privacy Policy
[ ] Restore Purchases
[ ] A visible close button, no dark patterns
[ ] Trial-ending reminder scheduled
[ ]
paywall_viewed,trial_started, andsubscription_startedevents fire with the paywall variant ID
Patterns adapted from Blake Anderson's ai-app-playbook (MIT, October 2026); conversion and trial-length data from RevenueCat's State of Subscription Apps 2026; fees from Google's Android Developers Blog (June 2026), Apple's Small Business Program terms, and coverage of the Epic v. Apple link-out proceedings.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Corey Haines
- Publisher
- Corey Haines (Community)
- Source
- coreyhaines31/marketingskills · skills/paywalls · commit 96798cf
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Corey Haines or Corey Haines.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download paywalls.zip