PluginBench
Skill
Pass
Audit score 90

paywalls

coreyhaines31/marketingskills

Design and optimize in-app paywalls, upgrade screens, and feature gates to convert free users to paid at the right moment.

What is paywalls?

This skill helps you create effective in-app upgrade moments—paywalls, feature gates, trial expiration screens, and upsell modals—that convert free users to paid. Use it when users hit usage limits, try locked features, or reach trial end, focusing on moments after they've experienced real value.

  • Design feature-lock paywalls that explain paid features and provide quick upgrade paths
  • Create usage-limit screens that show what upgrading unlocks without abruptly blocking users
  • Build trial expiration flows with early warnings and clear value summaries
  • Optimize paywall timing and frequency to avoid annoyance while maximizing conversion
  • Structure paywall screens with headlines, value demos, feature comparisons, pricing, and escape hatches
  • A/B test trigger timing, copy, pricing presentation, and design to improve conversion rates

How to install paywalls

npx skills add https://github.com/coreyhaines31/marketingskills --skill paywalls
Prerequisites
  • Understanding of your product's free vs. paid feature split
  • Current free-to-paid conversion rate or baseline metrics
  • Definition of your 'aha moment'—when users experience core value
  • Clarity on pricing model (per-seat, usage-based, flat-rate, etc.)
Claude Code
Cursor
Windsurf
Cline

How to use paywalls

  1. 1.Identify your upgrade context: freemium-to-paid, trial-to-paid, or tier upgrade
  2. 2.Map your paywall trigger points: feature gates, usage limits, trial expiration, or time-based prompts
  3. 3.Design paywall screens using the provided templates (headline, value demo, feature comparison, pricing, CTA, escape hatch)
  4. 4.Set timing rules: show after value moment, not during onboarding or mid-flow; limit frequency and add cool-down after dismissal
  5. 5.Plan A/B tests on trigger timing, copy, pricing presentation, and design
  6. 6.Track metrics: impression rate, click-through, completion rate, revenue per user, and post-upgrade churn

Use cases

Good for
  • User clicks a paid-only feature and sees a clear explanation of what it does and how to unlock it
  • User hits a usage limit (e.g., 3 free projects) and is offered an upgrade with a path to continue free
  • Trial ends in 3 days; user sees what they'll lose and what they've accomplished, with easy upgrade or dismiss options
  • After 7 days of free use, a gentle reminder highlights unused paid features with an easy-to-dismiss prompt
  • Mobile app user tries an advanced feature and sees a preview of its value before being asked to upgrade
Who it's for
  • Product managers building freemium or trial-based business models
  • Growth and conversion teams optimizing free-to-paid conversion funnels
  • Designers and engineers building in-app upgrade flows
  • SaaS founders deciding when and how to ask users to pay

paywalls FAQ

When should I show a paywall?

After the user has experienced real value (aha moment), not before. Avoid onboarding, mid-flow, and repeated prompts after dismissal. Use cool-downs measured in days, not hours.

What's the difference between this skill and the pricing skill?

This skill focuses on in-product upgrade moments where users have already experienced value. The pricing skill handles pricing strategy and decisions. The cro skill covers public pricing pages.

How do I avoid annoying users with paywalls?

Respect the no by making it easy to dismiss, don't hide close buttons, avoid guilt-trip copy, limit frequency per session, and add cool-downs after dismissal. Maintain trust for future conversion.

What should I include on a paywall screen?

Headline (focus on benefit), value demonstration (preview or before/after), feature comparison, pricing (annual vs. monthly), social proof, a specific CTA, and a clear escape hatch ('Not now' or 'Continue free').

How do I know if my paywall is working?

Track paywall impression rate, click-through to upgrade, completion rate, revenue per user, and churn post-upgrade. A/B test variations on timing, copy, pricing, and design to improve these metrics.

Full instructions (SKILL.md)

Source of truth, from coreyhaines31/marketingskills.


name: paywalls 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." 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. metadata: version: 2.0.0

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


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

  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?

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