Monetization
Deep Links
Fire any paywall from any link — and change where it points from the dashboard, with no app release.
You want to send a tap straight to the right paywall — the summer promo, the win-back offer, the screen behind a push notification — and you want to change where that link goes next week without filing a ticket. The problem is that the moment you hardcode URL-to-paywall mappings in your app, every new campaign becomes an engineering task and a fresh app release. Deep Links move that routing out of your binary and onto the dashboard, so a marketer can point a link at a different paywall while the app already in the store keeps working.
Wire it up once, route it forever
The app-side requirement is a single call. When your app receives a deep link, you hand the URL to Superwall:
Superwall.handleDeepLink(url)
That's the entire integration. From there, the SDK fires the standard deepLink_open placement with the URL's components attached as parameters, and the routing logic lives in your campaign on the dashboard. Add the deepLink_open placement to a campaign, write audience filters against URL components like params.path or a query parameter such as offer, and attach a paywall to each rule. When a user opens myapp://promo?offer=summer, the SDK fires the placement, the rule matches, and the paywall shows.
One link, branched by what's in the URL
Because the whole URL flows into your audience filters, a single link format can fan out into many destinations. The same deepLink_open campaign can route by path, by query parameter, or by anything else you encode in the link — so your growth team builds the branching as campaign rules, not as nested conditionals in your app:
Send a Black Friday email to one offer paywall and a standard welcome email to another — both from links you mint without shipping code.
Route by params.offer, params.path, or any query parameter, then change those mappings whenever the campaign changes.
Preview a specific paywall configuration from a link before it goes live, using in-app paywall previews.
Superwall Deep Links: links you don't have to host
If you'd rather not stand up your own link infrastructure, Superwall hosts links for you at https://<subdomain>.superwall.app/app-link/... that open your app to a configured paywall — or run custom in-app behavior through the Superwall delegate. Anything after /app-link/, including query parameters, becomes available to your audience filters, so the same routing model applies whether the link is yours or ours.
See Superwall Deep LinksThe handler is built for the realities of app launch. The SDK caches links that arrive before configuration finishes and replays them once it's ready, so a deep link that opens a cold app still lands on the right screen. When a link is one Superwall recognizes, the handler returns true and takes over presentation; when it isn't, it returns false so you keep routing inside your own app. Your navigation stack and Superwall's stay cleanly separated.
Where teams use it
Marketing campaigns — send users from an email, ad, or push straight to the offer that matches the campaign they came from.
Win-back and promos — point lapsed-user links at a save offer, then swap the offer from the dashboard when the promotion ends.
Paywall previews — open a build to a specific paywall configuration to review it before release.
Custom routing — mix Superwall presentation with your own navigation, handing non-Superwall URLs back to your router.
Get started
Add handleDeepLink where your app receives URLs, then build the routing as a campaign. Start with the deep link handling guide, see hosted links in the Superwall Deep Links guide, and create a free account to start pointing links at paywalls you can change any time.
Read the deep link guide