Pineflow · Paywall

Cal AI paywall with a trial timeline
Real paywall: Cal AI, via ScreensDesign ↗

Build

Paywall

Decide where you ask for money, what the paywall says and what it costs, then wire it to RevenueCat.

The paywall is the screen that earns your money, so it gets its own chapter before onboarding. Free app? Skip to Onboarding.

1-2 days

A paywall is the screen that asks people to pay, usually to unlock a Pro version of your app. A soft paywall can be closed, a hard one can't. Where it sits, what it says and what it costs decide most of what your app earns.

VideoWe've tested 100s of paywalls. Here's what actually converts
2

Best practices

What goes on it

  • A headline, three bullets and one button. It works in almost every category (Superwall, 32:42 ↗).
  • A picture and bullets, not a comparison table: +111% in one test (Superwall, 25:30 ↗).
  • Simple plans and "No commitment, cancel anytime" under the button: +10% (Superwall, 6:09 ↗).
  • A big button, at least 56 to 65 pt (Superwall, 27:33 ↗).
  • Real numbers only. No "join thousands" before you have them.
  • A trial timeline that says exactly when you remind and when you charge. It beat every other test (Superwall, 44:44 ↗).
  • Plans sorted cheapest to priciest, or the other way, never mixed (Superwall, 11:12 ↗).

Trial and price

  • Remind them before the trial ends: +48% revenue (Superwall, 45:50 ↗).
  • Make the first day count: 80 to 90% of trials start then (Subversive, 38:44 ↗).
  • Charge from day one if you'll ever charge. Free first, paid later is a harder sell.
  • Annual picked, monthly visible, priced near 2 or 3 similar apps.
  • Make cancelling easy. It builds trust (Starter Story, 7:09 ↗).

App Review

3

Plan it

No users yet? Answer two questions and you have your paywall. A soft paywall can be closed, a hard one can't. Both come after the first win.

  • Does every user cost you money to run, like AI?
  • Does your app need a few days to prove itself?
    • yes7-day trialClearly more people came into the app than with 3 days, which had more cancels in the US.Superwall, 52:53 ↗
    • no, it's clear in a minuteNo trialShow the price up front. The people who pay really want it.

Then pick a purchase tool. It handles buying, trials and restores for you.

  • What do you want from it?
    • the easiest startRevenueCatWhat we use. Test purchases before you have an Apple account.react-native-purchases ↗
    • paywall tests built inAdaptyPurchases with paywalls and A/B tests in one.React Native SDK ↗
    • change paywalls without an updateSuperwallRemote paywalls and tests, on top of RevenueCat or alone.expo-superwall ↗
    • no extra serviceexpo-iapTalk to the stores directly. More work, nothing in between.expo-iap ↗
4

Build it

First, swap Expo Go for a development build. Expo Go only holds the packages Expo put in it. Purchases need RevenueCat's own phone code, so from here you run your own version of Expo Go, built once by EAS. You still start it with npx expo start, and code changes still show up at once. Rebuild only when you add another package with phone code.

Terminal
npx expo install expo-dev-client
eas device:create
eas build --profile development --platform all

On an iPhone this needs the Apple Developer Program ($99 a year), since Apple only lets signed builds onto a phone. Join it now, as the first step of Ship shows: approval takes a day or two, and you need it to launch anyway. Android works free with just your Expo account. eas device:create registers your iPhone once, so it may install the build. When the build is done, open its link on your phone, install it, then run npx expo start and scan the code as before.

Build the paywall and its purchases in one go. Look at real paywalls on ScreensDesign ↗ first. You don't need Apple yet: RevenueCat's Test Store ↗ key gives real-looking test purchases in development. Never ship that key.

Prompt
Add RevenueCat following RevenueCat's Expo guide, with the Test Store API key from .env in development only: an entitlement called pro and one offering with an annual and a monthly package. Then build a paywall screen in our theme that reads that offering: a headline about [what the user just hit], three short bullets of what Pro gives, annual picked and monthly below it, a trial timeline if there's a trial, one big Continue button, "No commitment, cancel anytime" under it, a close button that works on the first tap, and Restore purchases at the bottom.

Our favorite tools