Back to the RevenueCat homepage

Every user is different. Your paywall should be too.

Personalized Paywalls

Pass data from your app into paywall copy. Show or hide components based on who is looking. One paywall, infinite states, no app update required.

Why personalised paywalls?

  • Higher conversion

    Your paywall is the last thing a user sees before they pay. A message that speaks to them specifically converts better than one written for nobody in particular.

  • One template, every user

    Stop cloning paywalls for every segment and maintaining them all separately. One template adapts to every user — change it once, and every variant updates automatically.

  • No app update required

    Configure personalisation logic from the RevenueCat dashboard. Changes go live immediately, across all users, on all platforms — without a build or a deploy.

  • Use data you already have

    You already know your users goals, usage patterns, and subscription history. Your paywall just has not been able to use any of it. Until now.

RevenueCat makes paywall personalisation easy

  • 1

    Drop dynamic content into paywall copy

    Pass any data from your app, a username, a goal, a feature name, a price, into your paywall as a variable. The paywall renders with that value substituted in. Think of it like email personalisation, but for your paywall.

    Learn about custom variables
  • 2

    Show or hide components based on rules

    Define rules in the paywall editor: if a user is eligible for a free trial, show the trial CTA. If they are a power user, surface the annual plan. If they are a churned subscriber, show the win-back offer. One paywall, multiple states, zero duplication.

    Learn about Rules
  • 3

    Ship changes without a build

    Everything is server-side. Update your personalisation logic from the RevenueCat dashboard and it goes live immediately, without an engineering ticket, an app update, or a waiting period.

5 playbooks

Personalisation you can ship today.

  • First-name personalisation

    Pass the user name as a Custom Variable. One line of code, immediate impact. Your paywall greets each user by name.

  • Goal-based copy

    Use the goal a user entered during onboarding to make the paywall feel like it was written for them. Goal-specific copy converts better than generic upgrade prompts.

  • Feature-gate messaging

    Show the exact feature a user just hit a gate on. Specific copy about what they were just trying to do converts better than a generic Go Premium prompt.

  • Win-back offers

    Show a special discount block only to users who previously subscribed. Everyone else sees the standard paywall. No separate paywall required.

  • Offer eligibility

    Show a free trial CTA only to users who are actually eligible. Hide it from users who have already used theirs. No more showing a trial offer that leads nowhere.

Ready to grow?

Our entire suite of features comes standard and it's free to get started.

Personalised Paywalls | RevenueCat