Monetization
Campaigns
Decide which paywall every user sees, and A/B test new ones, from the dashboard — no app release required.
You want to test a new paywall. With most setups, that means a code change, a build, a review queue, and a wait for users to update before you learn anything. Campaigns remove all of it. A campaign is the rule engine that sits between an action in your app and the paywall a user actually sees — and you change those rules from the dashboard, not from a release. Ship the SDK once, then test anything, fast, for as long as your app lives.
What a campaign actually is
A campaign is a set of rules that decides, in real time, which paywall to show when something happens in your app. It has three moving parts, and you control all three remotely:
-
Placements — the moments you want to monetize. A placement is any action or event you register from the SDK (tapping a locked feature, finishing onboarding, hitting a usage limit). You can add, pause, or delete placements from the dashboard, so you can monetize a new moment without touching code.
-
Audiences — the "who." An audience is a filter that decides whether a given user qualifies when a placement fires. Build simple or layered rules and target precisely.
-
Paywalls — the "what." Each audience points at one or more paywalls, and an audience running two or more paywalls is an experiment.
Target the exact user, in the dashboard
Audiences are where the targeting lives, and the filter set is deep enough to express almost any segment without shipping logic in your app. You can filter on device properties like platform and app version, user attributes you set yourself, placement parameters passed at trigger time, subscription and trial state, and event counts over windows like day, week, or since install. Combine them with AND/OR groups to get as specific as you need.
Explore audience targetingSuperwall evaluates audiences top to bottom and the first match wins, so ordering is your control surface: drag a more specific audience above a broad one and it takes priority. That means a new-user welcome offer, a power-user upsell, and a default paywall can all live in one campaign, each catching the right people in the right order.
A/B test paywalls without a build
Turning an audience into an experiment takes one move: add two or more paywalls and set how often each one shows, with the percentages totaling 100%. Superwall assigns variants and keeps them sticky — once a user lands in a variant they keep seeing the same paywall, so your results stay clean across sessions.
-
Test design, copy, offers, and pricing head-to-head by building paywall variants and splitting traffic between them.
-
Run a holdout by setting the percentages to total under 100%. The remaining users see no paywall, giving you a control group to measure whether the paywall actually drives conversions.
-
Iterate live. Retire a losing variant by setting it to 0% to keep its stats, or delete it. Reset assignments when you want to redistribute traffic.
How it works end to end
You register a placement from the SDK at the moment you want to monetize. When it fires, Superwall walks the campaign's audiences top to bottom, finds the first one the user matches, and presents the paywall that audience assigns — picking a variant if an experiment is running. Because paywalls are preloaded and cached on device, presentation is instant. And because the rules live in the dashboard, you can change targeting, swap paywalls, start a test, or pause a placement at any time, and it takes effect without an app store update.
What you can run with campaigns
-
Paywall experiments — pit a new design, headline, or layout against your current best and let the data decide.
-
Price and offer tests — try annual-vs-monthly framing, trial lengths, or intro offers across variants.
-
Segment-specific paywalls — show different paywalls to new users, lapsed users, or high-intent users, all in one campaign.
-
Holdout measurement — prove a paywall's lift against a no-paywall control before you commit.
-
New monetization moments — add a placement to a feature you've never gated and start testing the same day.
Get started
Create a campaign, add a placement, and register it from the SDK — then build your audiences and paywalls from the dashboard. The campaigns docs walk through structure, audiences, and starting your first experiment, and you can sign up for Superwall to ship the SDK and run your first test.
Read the campaigns docs