# Paywalls — Marketing Skill for AI Agents

An in-app paywall converts when it appears after the user has experienced real value, frames the upgrade around a benefit they now want, and leaves an easy way to say no. Trigger it at natural moments — hitting a usage limit, clicking a paid-only feature, or a trial ending — never during onboarding or mid-flow. A strong paywall screen has a benefit-led headline ("Unlock [feature] to [outcome]"), a preview of what they're missing, a simple free-vs-paid comparison, social proof, one clear CTA, and a visible "Not now" escape hatch. Cap frequency to once per session with a multi-day cool-down after dismissal, and avoid dark patterns like hidden close buttons or guilt-trip copy — they cost you the trust you need for a later conversion.

> Maintained by Corey Haines · v2.0.0 · Updated 2026-05-13

Install: `npx skills add coreyhaines31/marketingskills`
Source: https://github.com/coreyhaines31/marketingskills/tree/main/skills/paywalls

## When to use it

- "paywall,"
- "upgrade screen,"
- "upgrade modal,"
- "upsell,"
- "feature gate,"
- "convert free to paid,"
- "freemium conversion,"
- "trial expiration screen,"

## What's inside

**The playbook covers:** Initial Assessment, Core Principles, Paywall Trigger Points, Paywall Screen Components, Specific Paywall Types, Timing and Frequency, Upgrade Flow Optimization, A/B Testing, Anti-Patterns to Avoid, Task-Specific Questions

### Reference library

- [Paywall Experiment Ideas](https://github.com/coreyhaines31/marketingskills/blob/main/skills/paywalls/references/experiments.md) — Comprehensive list of A/B tests and experiments for paywall optimization.

## Example

**Prompt:** Help me design the upgrade paywall for our project management tool. Free users can have 3 projects, and we want to show an upgrade screen when they try to create a 4th project.

**Usage-limit paywall (4th project attempt)**

You've used all 3 free projects 🎉
▓▓▓▓▓▓▓▓▓▓ 3 of 3

Upgrade to Pro for unlimited projects — plus
advanced analytics and priority support.

   Free: 3 projects   →   Pro: Unlimited

"We stopped juggling and just built." — 12,000+ teams on Pro

[ Upgrade to Pro — $29/mo ]
[ Delete a project ]   ·   Maybe later

## FAQ

### When should I show an upgrade paywall?

After a value moment, before frustration — right when someone has felt the product work. The proven triggers are feature gates (clicking a paid-only feature), usage limits (hitting a threshold), and trial expiration. Don't show paywalls during onboarding, mid-task, or repeatedly after someone dismisses one.

### How do I improve a low trial-expiration conversion rate?

Replace the generic "your trial expired" screen with a personalized one: summarize what they built and accomplished during the trial (endowment effect), use loss framing to show exactly what they'd lose, highlight the specific features they actually used, offer clear plan options, and add social proof from similar users who upgraded. A weak, one-size-fits-all screen with no urgency is usually why conversion is low.

### What paywall anti-patterns should I avoid?

Dark patterns (hidden or tiny close buttons, confusing opt-out language, guilt-trip "No, I don't want to save money" copy) and conversion killers (asking before value is delivered, blocking critical flows, and prompting too frequently). Always give a clear escape hatch and respect the no — good paywalls feel helpful, not tricky.

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

---
Canonical: https://marketing-skills.com/skills/paywalls