Monetization

Audience Targeting

Decide exactly which users see which paywall — by user attributes, behavior, device, and subscription state — and change it without shipping a build.

Not every user should see the same paywall. A power user three weeks in is a different prospect than someone who just finished onboarding, and a lapsed subscriber needs a different offer than a free user who has never paid. The problem is that most teams encode those distinctions in app code — which means every new segment, every "show this only to users who did X" rule, becomes another release, another review queue, another two weeks. Superwall's audience targeting moves that logic onto the server. You define who sees what in the dashboard, and it takes effect on live users immediately, no build required.

Target on what you actually know about a user

A Superwall audience is a set of filters that decides whether a user qualifies to see a paywall. You build those filters from the things you genuinely know about a user at the moment a placement fires:

  • User attributes you set from the SDK with setUserAttributes() — plan, signup source, onboarding answers, feature flags, anything you want to segment on.

  • Behavior over time via device properties like device.daysSince_X, where X is any event you register — so "hasn't opened the app in 3 days" or "completed onboarding twice" becomes a targetable condition.

  • Subscription state — target unsubscribed users, active trialists, or expired/lapsed subscribers so a win-back offer never lands in front of someone who already pays.

  • Device and app context — platform, appVersion, and device tier so you can tailor by hardware capability or roll a paywall out by version.

  • Placement parameters passed in when you register a placement, so the same screen can branch on context from the call site.

Filters combine with AND/OR logic inside an audience, so "trial expired AND opened the app in the last week" is one rule, not a code change. Everything lives in the dashboard rules editor.

Explore dashboard rules

How a user gets matched

Superwall evaluates audiences top to bottom and stops at the first one a user qualifies for — first match wins. Order your audiences from most specific to most general, and put a catch-all default at the bottom so everyone resolves to something. Once a user is matched, the assignment is sticky: they keep seeing the same paywall on future triggers even if you later change the audience's percentages, which keeps experiments clean and the user experience consistent.

Turn segments into experiments

Targeting and testing are the same workflow here. Once a user matches an audience, you split them across multiple paywalls by percentage — show paywall A to 70% and paywall B to 30% — to run a real A/B test inside that exact segment. Because changing a percentage only affects new users, you can scale a winner up gradually without disturbing anyone already assigned. The payoff is segment-aware experimentation: you stop testing one paywall against your whole user base and start testing the right offer against the audience it's meant for.

This is where targeting recovers revenue that a single global paywall leaves on the table. Lapsed trialists can hit a save offer, high-intent onboarders can see your strongest annual pitch, and price-sensitive segments can get a different ladder — each as its own audience, each independently testable, none of it gated behind an app release.

Where it fits

  • Win-back and recovery — route expired or churned users to a discounted or reactivation offer the moment they re-engage.

  • Onboarding handoff — branch the post-onboarding paywall on the survey answers you captured as user attributes.

  • Staged rollouts — gate a new paywall to a specific appVersion or to a user.seed slice, then widen it as it proves out.

  • Geo and device tailoring — show different pricing or layouts by device tier or attributes you attach per region.

Get started

Set the user attributes you want to target on with setUserAttributes, then build your segments in the dashboard with audiences and rules. New to Superwall? Start with the docs or create an account and ship your first targeted campaign without touching the binary.

Build your first audience

More features

App-to-Web Checkout Send U.S. iOS users from your paywall to a Stripe checkout in Safari, then link the purchase back to the app automatically — no IAP, no auth. Monetization
Campaigns Decide which paywall every user sees, and A/B test new ones, from the dashboard — no app release required. Monetization
Deep Links Fire any paywall from any link — and change where it points from the dashboard, with no app release. Monetization

Book a demo

Tell us a little about your app and we'll match you with the right person.

  • A personalized walkthrough of the paywall builder
  • Guidance on your monetization and pricing strategy
  • Custom implementation recommendations for your stack
  • A look at proven paywall templates
  • Revenue-optimization best practices

Get started

Build, test, and optimize your paywalls

Join 10,000+ apps using Superwall to grow subscription revenue without shipping an app update.

Start for free

No credit card required