
7 paywall tests to run before you change price
Seven experiments to run on placement, framing, and packages before changing price. Paywall UI via integration; Rheo for journey to paywall.
Raising or lowering price is the most irreversible-looking lever in a subscription business. Store listings, customer expectations, and refund risk all attach to the number on the receipt. Strong teams still change price, but they treat it as the last experiment, not the first.
Before you touch price, run paywall A/B tests on placement, framing, and package presentation. Most lift comes from who reaches the paywall, what they believed one screen earlier, and how tiers are ordered, not from a 10% price move that angers existing subscribers.
This listicle covers seven high-signal paywall test ideas. Paywall UI runs in your external integration (RevenueCat Paywalls, Superwall, Adapty, or similar). Rheo controls the journey to that step and branches on outcomes. Rheo does not manage paywall UI or store pricing directly.
How to run these tests without an app update
| Layer | What you change remotely | Tool |
|---|---|---|
| Screens before paywall | Copy, order, branches | Rheo |
| Paywall template and packages | Layout, default tier, badges | RevenueCat or paywall vendor |
| When paywall appears | Node position in flow graph | Rheo |
| After dismiss / purchase | Second chance, activation | Rheo |
Document one primary metric per experiment (usually trial starts per install or revenue per install). Run 14 days minimum. Do not change price mid-test.
Test 1: Paywall placement (early vs after activation)
Hypothesis: Users who experience one "aha" moment before the ask convert at higher trial-to-paid, even if trial starts dip slightly.
What to change: Move the RevenueCat paywall node later in the Rheo flow. Keep the same offering id.
| Variant | Path |
|---|---|
| Control | Paywall after screen 2 |
| Treatment | Paywall after activation event or interactive demo |
Primary metric: Trial starts per install, trial-to-paid at D30.
Watch out: Late paywalls reduce arrivals. Read conditional conversion at the paywall step, not only aggregate trial rate.
Test 2: Annual-first vs monthly-first presentation
Hypothesis: Defaulting to annual increases LTV without hurting trial volume when anchoring is clear.
What to change: In RevenueCat paywall template, highlight annual package first versus monthly. Keep legal copy and store disclosures aligned.
| Variant | Presentation |
|---|---|
| Control | Monthly first |
| Treatment | Annual first with per-month anchor |
Primary metric: ARPU at D30, annual mix %.
Guardrail: Refund rate on annual plans (aggressive annual push can spike buyer's remorse).
Test 3: Trial-forward headline vs feature list
Hypothesis: Leading with "Start 7 days free" beats feature bullets for cold traffic.
What to change: Paywall template headline and subcopy in your integration. Optionally mirror priming copy on the Rheo screen immediately before the paywall node.
| Variant | Headline style |
|---|---|
| Control | Feature bullets |
| Treatment | Trial-forward CTA |
Primary metric: Trial start rate among paywall viewers.
Compliance: Trial length and post-trial price must match App Store and Play billing strings.
Test 4: Social proof on the paywall
Hypothesis: Ratings, testimonials, or user counts increase trust at the purchase moment.
What to change: Add or remove social proof block in paywall template. Keep claims truthful and verifiable.
| Variant | Social proof |
|---|---|
| Control | None |
| Treatment | Star rating + short quote |
Primary metric: Purchase / trial start rate at paywall.
Segment tip: Often helps paid install cohorts more than organic.
Test 5: Package count (two tiers vs three)
Hypothesis: Fewer choices reduce paralysis; more choices capture willingness-to-pay spread.
What to change: Offering configuration in RevenueCat (remove middle tier or add pro tier). Paywall template shows available packages.
| Variant | Packages shown |
|---|---|
| Control | Monthly + annual |
| Treatment | Monthly + annual + pro |
Primary metric: Revenue per paywall view.
Watch out: Three tiers need enough traffic per arm. Low-volume apps should test bold two-tier changes only.
Test 6: Soft vs hard gate before paywall
Hypothesis: Letting users skip once increases completion and second-chance conversion.
What to change: Rheo flow structure: add "Continue with limited access" path before or after paywall dismissed edge. Paywall UI unchanged.
| Variant | Gate |
|---|---|
| Control | Must interact with paywall to proceed |
| Treatment | Skip path to limited mode |
Primary metric: D7 retention and cumulative trial starts (not only immediate convert).
Guardrail: Revenue per install at D30. Soft gates can inflate MAU while hurting monetization.
Test 7: Second-chance paywall after dismiss
Hypothesis: Users who dismiss once convert on a lighter follow-up screen in the same session.
What to change: Rheo branch from dismissed to an intermediate value screen, then second paywall presentation (same offering or different placement id in RevenueCat).
| Variant | After dismiss |
|---|---|
| Control | Enter app with limited features |
| Treatment | One education screen, then second paywall trigger |
Primary metric: Trial starts per install (incremental over single presentation).
Watch out: Aggressive double-ask can hurt brand. Cap at one retry on Day 0.
Prioritization matrix
When traffic is limited, run tests in this order:
| Priority | Test | Why first |
|---|---|---|
| 1 | Placement (Test 1) | Moves arrival and intent |
| 2 | Trial-forward copy (Test 3) | Low implementation cost |
| 3 | Annual-first (Test 2) | LTV without price change |
| 4 | Social proof (Test 4) | Fast creative iteration |
| 5 | Soft vs hard gate (Test 6) | Structural, needs retention read |
| 6 | Second-chance (Test 7) | Risk of annoyance |
| 7 | Package count (Test 5) | Needs most traffic |
Sample size reminders
Directional installs per variant for 50/50 split (95% confidence, 80% power, approximate):
| Baseline trial rate | Detect 20% relative lift |
|---|---|
| 5% | ~8,000 per variant |
| 10% | ~4,000 per variant |
| 20% | ~2,000 per variant |
Under 1,000 installs per week? Run one test at a time for four weeks and accept wider confidence intervals.
Pre-price-change gate
Do not change store price until:
| Gate | Met? |
|---|---|
| Placement and handoff tests exhausted or baseline stable | |
| Annual/monthly mix understood | |
| Trial-to-paid trend flat or declining with current UI | |
| Finance sign-off on grandfathering existing subscribers | |
| App Store price tier change planned in release notes |
Price changes often require a binary update for store configuration even when paywall templates update remotely. Treat price as a coordinated release, not a dashboard toggle.
Coordinating Rheo and RevenueCat experiments
| Scenario | Recommendation |
|---|---|
| Testing onboarding only | Rheo experiment, fixed paywall offering |
| Testing paywall template only | RevenueCat Experiments, fixed Rheo path |
| Testing both | Serialize, or factorial with high traffic |
| Testing post-dismiss path | Rheo only |
Double exposure on the same users confounds results. One owner per layer per sprint.
Summary
Seven paywall A/B test ideas before you change price: placement, tier ordering, trial-forward copy, social proof, package count, soft gate, and second-chance presentation. Paywall UI and packages live in RevenueCat or your paywall integration. Journey, timing, and branches live in Rheo.
Exhaust framing and placement while holding price constant. Measure trial starts and D30 revenue, not just paywall clicks. Then, if metrics still miss plan, consider price with eyes open.