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 user…
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 iblai-marketing-page-cro) — this focuses on in-product upgrade moments where the user has already experienced value.
For pricing decisions, see iblai-marketing-pricing-strategy.
Stronger alternatives
This repository is archived — consider an actively maintained alternative.
Product model — what's free? What's behind the 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
Value before ask. The user should have experienced real value first. Upgrade should feel like a natural next step. Timing: after the aha moment, not before.
Show, don't just tell. Demonstrate the value of paid features. Preview what they're missing. Make the upgrade feel tangible.
Friction-free path. Easy to upgrade when ready. Don't make them hunt for pricing.
Respect the no. Don't trap or pressure. Make it easy to continue free. Keep trust for future conversion.
Trigger Points
Feature Gates
When the 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 the user hits a limit:
Clear indication of limit reached
Show what upgrading provides
Don't block abruptly
Trial Expiration
When the 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]