Generated banner for Paywalls
Generated logo for Paywalls

Paywalls

Corey HainesCommunityCreated by Corey Haines

  • Skill
  • Workflow
  • Business and productivity
  • MIT
  • No issues found

From the author

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 by Corey Haines

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

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/coreyhaines31/paywalls/download
  2. Unzip 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:

  1. Upgrade Context - Freemium → Paid? Trial → Paid? Tier upgrade? Feature upsell? Usage limit?

  2. Product Model - What's free? What's behind paywall? What triggers prompts? Current conversion rate?

  3. 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

  1. Headline - Focus on what they get: "Unlock [Feature] to [Benefit]"

  2. Value Demonstration - Preview, before/after, "With Pro you could..."

  3. Feature Comparison - Highlight key differences, current plan marked

  4. Pricing - Clear, simple, annual vs. monthly options

  5. Social Proof - Customer quotes, "X teams use this"

  6. CTA - Specific and value-oriented: "Start Getting [Benefit]"

  7. 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

  1. What's your current free → paid conversion rate?

  2. What triggers upgrade prompts today?

  3. What features are behind the paywall?

  4. What's your "aha moment" for users?

  5. What pricing model? (per seat, usage, flat)

  6. Mobile app, web app, or both?


  • 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

references/experiments.md

Paywall Experiment Ideas

Comprehensive list of A/B tests and experiments for paywall optimization.

Contents

  • Trigger & Timing Experiments (When to Show, Trigger Type)

  • Paywall Design Experiments (Layout & Format, Value Presentation, Visual Elements)

  • Pricing Presentation Experiments (Price Display, Plan Options, Discounts & Offers)

  • Copy & Messaging Experiments (Headlines, CTAs, Objection Handling)

  • Trial & Conversion Experiments (Trial Structure, Trial Expiration, Upgrade Path)

  • Personalization Experiments (Usage-Based, Segment-Specific)

  • Frequency & UX Experiments (Frequency Capping, Dismiss Behavior)

Trigger & Timing Experiments

When to Show
  • Test trigger timing: after aha moment vs. at feature attempt

  • Early trial reminder (7 days) vs. late reminder (1 day before)

  • Show after X actions completed vs. after X days

  • Test soft prompts at different engagement thresholds

  • Trigger based on usage patterns vs. time-based only

Trigger Type
  • Hard gate (can't proceed) vs. soft gate (preview + prompt)

  • Feature lock vs. usage limit as primary trigger

  • In-context modal vs. dedicated upgrade page

  • Banner reminder vs. modal prompt

  • Exit-intent on free plan pages


Paywall Design Experiments

Layout & Format
  • Full-screen paywall vs. modal overlay

  • Minimal paywall (CTA-focused) vs. feature-rich paywall

  • Single plan display vs. plan comparison

  • Image/preview included vs. text-only

  • Vertical layout vs. horizontal layout on desktop

Value Presentation
  • Feature list vs. benefit statements

  • Show what they'll lose (loss aversion) vs. what they'll gain

  • Personalized value summary based on usage

  • Before/after demonstration

  • ROI calculator or value quantification

Visual Elements
  • Add product screenshots or previews

  • Include short demo video or GIF

  • Test illustration vs. product imagery

  • Animated vs. static paywall

  • Progress visualization (what they've accomplished)


Pricing Presentation Experiments

Price Display
  • Show monthly vs. annual vs. both with toggle

  • Highlight savings for annual ($ amount vs. % off)

  • Price per day framing ("Less than a coffee")

  • Show price after trial vs. emphasize "Start Free"

  • Display price prominently vs. de-emphasize until click

Plan Options
  • Single recommended plan vs. multiple tiers

  • Add "Most Popular" badge to target plan

  • Test number of visible plans (2 vs. 3)

  • Show enterprise/custom tier vs. hide it

  • Include one-time purchase option alongside subscription

Discounts & Offers

Test discounts where they reward commitment or a real moment, not as a standing price cut for new buyers (see the offers skill on why acquisition discounts backfire). Any countdown must reflect a real deadline.

  • Annual-plan pricing presentation (the commitment discount, shown per month vs. billed amount)

  • Time-bound offer tied to a real window (seasonal sale, trial end) vs. no offer

  • Loyalty discount based on free usage duration

  • Upgrade discount for existing paid users moving up a tier

  • Referral discount for social proof

  • Risk reversal (guarantee, extended trial) vs. discount


Copy & Messaging Experiments

Headlines
  • Benefit-focused ("Unlock unlimited projects") vs. feature-focused ("Get Pro features")

  • Question format ("Ready to do more?") vs. statement format

  • Urgency-based ("Don't lose your work") vs. value-based

  • Personalized headline with user's name or usage data

  • Social proof headline ("Join 10,000+ Pro users")

CTAs
  • "Start Free Trial" vs. "Upgrade Now" vs. "Continue with Pro"

  • First person ("Start My Trial") vs. second person ("Start Your Trial")

  • Value-specific ("Unlock Unlimited") vs. generic ("Upgrade")

  • Add urgency ("Upgrade Today") vs. no pressure

  • Include price in CTA vs. separate price display

Objection Handling
  • Add money-back guarantee messaging

  • Show "Cancel anytime" prominently

  • Include FAQ on paywall

  • Address specific objections based on feature gated

  • Add chat/support option on paywall


Trial & Conversion Experiments

Trial Structure
  • 7-day vs. 14-day vs. 30-day trial length

  • Credit card required vs. not required for trial

  • Full-access trial vs. limited feature trial

  • Trial extension offer for engaged users

  • Second trial offer for expired/churned users

Trial Expiration
  • Countdown timer visibility (always vs. near end)

  • Email reminders: frequency and timing

  • Grace period after expiration vs. immediate downgrade

  • "Last chance" offer with discount

  • Pause option vs. immediate cancellation

Upgrade Path
  • One-click upgrade from paywall vs. separate checkout

  • Pre-filled payment info for returning users

  • Multiple payment methods offered

  • Quarterly plan option alongside monthly/annual

  • Team invite flow for solo-to-team conversion


Personalization Experiments

Usage-Based
  • Personalize paywall copy based on features used

  • Highlight most-used premium features

  • Show usage stats ("You've created 50 projects")

  • Recommend plan based on behavior patterns

  • Dynamic feature emphasis based on user segment

Segment-Specific
  • Different paywall for power users vs. casual users

  • B2B vs. B2C messaging variations

  • Industry-specific value propositions

  • Role-based feature highlighting

  • Traffic source-based messaging


Frequency & UX Experiments

Frequency Capping
  • Test number of prompts per session

  • Cool-down period after dismiss (hours vs. days)

  • Escalating urgency over time vs. consistent messaging

  • Once per feature vs. consolidated prompts

  • Re-show rules after major engagement

Dismiss Behavior
  • "Maybe later" vs. "No thanks" vs. "Remind me tomorrow"

  • Ask reason for declining

  • Offer alternative (lower tier, annual discount)

  • Exit survey on dismiss

  • Friendly vs. neutral decline copy

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