---
title: Paywall design learnings from 4,000+ Superwall paywalls
slug: paywall-design-learnings-at-scale
summary: Jonathan Parra's lessons from designing 4,000+ paywalls — there is no universal winning paywall, start from a single-page bullet-list baseline, simplify the plan selector (+10%), cut comparison tables (simpler variant +111%), try native SwiftUI styling, hero-journey paywalls for transformation apps, and test design/packaging before price.
domain: mobile-apps
tags: [monetization, paywall, design, ab-testing, superwall]
related: [paywall-price-display-and-plan-count, paywall-cta-copy, paywall-visuals-and-social-proof, long-paywall-sell-the-outcome, three-screen-pre-paywall-sequence, paywall-placements-and-transaction-abandonment]
sources: [yt:lkwX_kc0NS8, yt:24QMRDXck70]
updated: 2026-10-24
---

# Paywall design learnings at scale

## TL;DR
- **No golden paywall.** The same design can win in one app and flop in another *in the same category* — build a component system and test.
- **Baseline to start from:** one page — headline (USP) + bullet list + social accolades + "no commitment, cancel anytime" + big "Continue" button. Bullet-list paywalls are among the few that perform well everywhere.
- **Simplify the plan selector:** short plan names ("Annual plan"), consistent plan order, badge only "70% off" — one such cleanup won **+10%**.
- **Kill comparison tables:** a free-vs-premium table + 3 plans lost to "We want you to try [app] for 50% off" + a big product image + Continue — **+111%** conversion.
- **Don't dismiss native look:** a plain SwiftUI-style paywall beat custom-designed ones "by a long shot" in two apps.
- **Test design and price packaging first; price tests later** — they're the biggest levers and price tests are a pain to manage cohort-wise.

## Details
**Who.** Jonathan Parra was lead designer at Superwall from pre-revenue (paywalls built in Webflow, then Svelte, then the editor) and has designed ~4,000–4,500 paywalls; he credits most A/B learnings to Superwall's Jake and Nick Godwin.[^1][^2]

**No universal paywall.** His most surprising lesson: he expected to find a set of golden paywalls, but performance varied wildly between apps in the same category. Superwall ended up with reusable components to drop into each paywall.[^3] Vahe Bagdasarian sees the same failure weekly: founders copy a friend's winning paywall and it fails for them.[^4]

**Baseline paywall.** Heading with USP and subtitle, bullet list of benefits, social accolades, the "no commitment" line and a Continue button; pricing can be on a second page in multi-page variants. Then add variants: product image/video, more social proof screens, "Try 7 days free" with a chevron. For new apps this single screen should be the starting baseline.[^5][^6]

**Plan-selector cleanup (+10%).** Control: weekly/annual/monthly in mixed order named "AI Assistant Weekly…", a tiny "limited time 70% off" badge, CTA "Put AI into action". Winner: "Annual / Monthly / Weekly plan", annual on top and highlighted, compare price to the cheapest plan, "70% off" centred, "No commitment, cancel anytime", CTA "Continue". Users don't read — use visuals over copy. Urgency ("limited time") belongs in a heading on a dedicated one-time-offer paywall, not as small badge text.[^7][^8][^9] Keep plan order ascending or descending by length, never mixed; consider hiding extra plans behind "View all plans" to cut decision fatigue.[^10][^11]

**Tables lose (+111%).** A free-vs-premium comparison table with 3/6/12-month options ("$49.99, not $99.99, monthly price billed quarterly…") overwhelmed users; the simple variant (borrowed from Cal AI) more than doubled conversion and ARPU. Parra: whenever he uses a table it underperforms bullets, video or a visual.[^12][^13] CTA buttons should be big — he uses ~65pt height (sometimes 56pt) with large text.[^14]

**Native styling.** For an app whose whole UI is stock SwiftUI (transcribed as "Playometer++"; SF Pro, list rows), a SwiftUI-looking paywall outperformed every custom-designed variant; he's seen it twice — possibly because it matches the rest of the app. Superwall has a template for this.[^15][^16]

**Archetype paywalls.** For transformation apps (multi-day/week journeys), a Clear30-inspired paywall that shows the user's step-by-step journey ("hero's journey") works across categories.[^17] Blinkist's trial-timeline paywall still performs after years of copying — no visible half-life.[^18] Apps with a "closed loop" (clear before/after) convert best.[^19] Video paywalls built with Rotato (phone mockup of a screen recording) + social proof + bullets also win broadly; one Mojo-inspired version won its test.[^20][^21]

**Design before price.** Design tests and price-packaging tests give more mileage than anything else; Parra avoids early price tests because each price cohort must be tracked separately (user seeds/audiences in Superwall) for every later experiment.[^23][^24]

**Where gains are biggest.** Large apps (~$100k+/month) that never tested see immediate lifts; newer $10–50k/month apps can go from ~8% conversion (his cross-app average) to 15–20% after a few iterations.[^22]

## Disagreements / caveats
- Parra and Vahe are Superwall-adjacent (designer, agency on Superwall); the podcast is Superwall-sponsored — numbers are self-reported wins.
- "Continue" vs descriptive CTAs: Parra's Superwall data agrees with Steve P. Young's ([[paywall-cta-copy]]), but a "Start my 3-day trial" CTA also won in his tests when paired with clearer packaging.

## See also
- [[paywall-price-display-and-plan-count]]
- [[paywall-cta-copy]]
- [[paywall-visuals-and-social-proof]]
- [[people/jonathan-parra]]

[^1]: yt:lkwX_kc0NS8 @ 03:45 — Jonathan Parra
[^2]: yt:lkwX_kc0NS8 @ 06:35 — Jonathan Parra
[^3]: yt:lkwX_kc0NS8 @ 31:06 — Jonathan Parra
[^4]: yt:24QMRDXck70 @ 02:58 — Vahe Bagdasarian
[^5]: yt:lkwX_kc0NS8 @ 32:43 — Jonathan Parra
[^6]: yt:lkwX_kc0NS8 @ 35:36 — Jonathan Parra
[^7]: yt:lkwX_kc0NS8 @ 05:45 — Joseph Choi
[^8]: yt:lkwX_kc0NS8 @ 06:35 — Jonathan Parra
[^9]: yt:lkwX_kc0NS8 @ 09:11 — Jonathan Parra
[^10]: yt:lkwX_kc0NS8 @ 10:08 — Jonathan Parra
[^11]: yt:lkwX_kc0NS8 @ 13:12 — Jonathan Parra
[^12]: yt:lkwX_kc0NS8 @ 24:13 — Joseph Choi
[^13]: yt:lkwX_kc0NS8 @ 25:40 — Jonathan Parra
[^14]: yt:lkwX_kc0NS8 @ 28:10 — Jonathan Parra
[^15]: yt:lkwX_kc0NS8 @ 46:02 — Jonathan Parra
[^16]: yt:lkwX_kc0NS8 @ 47:15 — Jonathan Parra
[^17]: yt:lkwX_kc0NS8 @ 14:32 — Jonathan Parra
[^18]: yt:lkwX_kc0NS8 @ 39:41 — Jonathan Parra
[^19]: yt:lkwX_kc0NS8 @ 40:34 — Jonathan Parra
[^20]: yt:lkwX_kc0NS8 @ 44:01 — Jonathan Parra
[^21]: yt:lkwX_kc0NS8 @ 45:11 — Jonathan Parra
[^22]: yt:lkwX_kc0NS8 @ 53:30 — Jonathan Parra
[^23]: yt:lkwX_kc0NS8 @ 35:36 — Jonathan Parra
[^24]: yt:lkwX_kc0NS8 @ 36:51 — Jonathan Parra
