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 rulesHow 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
appVersionor to auser.seedslice, 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