Paywall design

The discipline of architecting and continuously experimenting on the screen(s) where a consumer-app user is asked to subscribe. The wiki’s empirical sources converge on a striking finding: there is no universal best paywall — and yet a small number of moves do lift conversion almost everywhere they’re deployed.

The “no perfect paywall” thesis

The single hardest-earned lesson from Jonathan Parra’s 4,500+ designs at Superwall (I Made 4,000 App Paywalls and Learned This (video)):

Same app category. Same paywall design. Performance flounders in one app and crushes in another.

The space is locally smooth, globally rough. Within one app the optimization landscape behaves: you can iterate, you can read signal, conversion rates trend. Across apps, the same design has wildly different fates. This means the unit of useful knowledge in paywall design is not a template but a component system + an empirical prior about which moves usually help.

What does port well

Despite the “no perfect paywall” finding, a handful of patterns repeatedly clear the bar across categories:

The bullet-list single-page baseline

The most reliably-portable paywall — per Parra, the one he ships first for every new customer:

  • Heading + short USP subtitle
  • Short bulleted feature list (no comparison table)
  • Optional social-proof row
  • Subtitle: “no commitment, cancel anytime”
  • One large CTA (65pt button height, generic Continue copy, right-chevron arrow)
  • Annual selected by default

It’s the null hypothesis for every subsequent experiment. New variants compete against it.

The “no commitment, cancel anytime” subtitle

A consistent small bump on almost every paywall it’s added to. Cheap, low-risk, additive. The rare move with no known counter-pattern.

Generic Continue beats descriptive CTAs

Repeatedly in Parra’s tests: a generic Continue button beats variants like Put AI into action or Start using [app]. The user isn’t reading; descriptive CTAs add cognitive load without converting it to confidence. See Cognitive load.

Native-design-language paywalls

When the broader app uses Apple’s default Swift UI design system, Swift-UI-styled paywalls outperform custom variants. Parra has reproduced this twice. The mechanism is the Familiarity principle at the paywall surface: a custom paywall reads as foreign in an otherwise native UI, breaking the trust the rest of the app has built.

The corollary: custom-design paywalls win in apps whose broader UX is already custom (Mojo, Hinge, Calm). The right paywall doesn’t break the design language.

Hide the picker, surface the trial

Multi-product selectors (weekly / monthly / annual) create decision fatigue — see Cognitive load. The cleaner move:

  • Default to annual (LTV-maximizing)
  • Hide the rest behind a view all plans drawer
  • Move the trial framing onto the CTA itself: Start my 3-day free trial

If you do show multiple products, order them by length cadence (longest-to-shortest or shortest-to-longest, never jumbled).

The cascade pattern (Clear-30-inspired)

A multi-screen architecture for apps that have already done a lot of testing:

Main paywall
  Annual selected, simple bullets, Continue
  ↓ user closes ↓
Drawer paywall
  "Not ready to commit for a year? We have plans for everyone"
  Annual STILL selected; Monthly added below
  ↓ user closes ↓
One-time offer
  "We want you to try [app] for free" (or 25–33% off)
  Per-week reframe: $39/year → 76¢/week
  Discounted yearly: $39 → $29.99

Three reinforcing principles:

  1. Default-and-defend — annual stays selected through every cascade; only the framing around it changes
  2. Per-week reframe — the same price re-encoded as a smaller-number rate; see Framing effect
  3. Discount discipline — keep in-flow discounts at 25–33%; reserve 50%+ for Black Friday / Cyber Monday so users don’t habituate to open paywall → close → cheap deal

Parra calls the pattern “gray hat” — it’s structurally honest (the user gets three legitimate off-ramps) but unapologetically optimized for LTV at each step.

Design tests vs price tests

A practitioner-strong claim from Parra: design tests yield more conversion lift, more easily, than price tests. Founders default to the opposite. Two reasons design tests win the first round:

  • The lever is larger (a +111% comparison-table-vs-stripped-image case beats any reasonable price tweak)
  • Cohort overhead is lower — Superwall’s price testing requires user-seed audience management that compounds with each new experiment

Price testing belongs later, after design tests have plateaued.

What founders typically test wrong

Per Parra’s repeated observation:

Common founder moveWhat actually moves the needle
A/B test $9.99 vs $14.99 firstShip a bullet-list baseline; iterate on layout, copy, image/video
Show all three plans upfront for “transparency”Default to annual; hide the rest behind view all plans
Write descriptive CTA copyUse generic Continue
Slap Limited time 70% off as a small-font badgeEither put scarcity in a heading on a one-time-offer page, or remove it
Build comparison tables to “help users decide”Strip the table; use bullets or a single image

The unifying pattern: paywalls reward subtraction.

How big is the lift?

App stageTypical lift from paywall iteration
Large app (~$100k MRR) that hasn’t A/B tested paywallsCompounding wins on first round; “immediate value”
Newer app ($10–50k MRR)8% → 15–20% conversion after a few iterations
Mature app already deep in testingSmaller marginal lifts; gray-hat cascade and Swift-UI variants still find +10–30% pockets

The largest gains live in apps where the team has invested heavily in product and barely at all in paywall craft.

Where this connects

  • Cognitive load — the recurring engine under “less beats more”; decision fatigue from multi-product pickers
  • Familiarity principle — Swift-UI-native paywalls outperform custom variants on Swift-UI-feeling apps
  • Framing effect — the per-week reframe; we want you to try copy; tier-color contrast as a visual frame
  • Anchoring bias — annual selected by default; high-tier-first contrast; longest-to-shortest plan order
  • Loss aversion — the close-drawer cascade as a stack of escalating off-ramps; the one-time-offer drawer
  • Scarcity principleLimited time in small font does nothing; scarcity needs a heading on a one-time-offer page
  • Decoy effectinverse application: hiding the third product beats showing it
  • Social proof — accolades placement on multi-page paywalls
  • Progressive disclosure — the Blinkist day-by-day timeline paywall as the canonical paywall application
  • Gift vs receipt — the we want you to try [app] framing as gift-coded copy

Sources