What's New in September 2026: the Superwall Framework, iOS 4.17.0's Dev Server, and a Growing Meta Ads MMP

The new Superwall Framework (private beta) lets you build paywalls as React code in your own repo, iOS SDK 4.17.0 ships the native dev server that previews it, Meta Ads attribution matured with an MMP hub and influencer links, and campaign results now break out Trial Billing Issues on their own.

Michal Parizek
Michal Parizek

The Superwall Framework: paywalls as React code

Superwall Framework is a new way to build paywalls, onboarding funnels, and web checkout flows: as React mini-apps, in your own repo, reviewed and versioned like the rest of your app. It is a private beta, gated behind Superwall for Agents and the CLI's next channel — reach out to [email protected] for access.

A paywall is a superwall/ directory with a config.ts declaring its name and products, an app/ folder of pages, and ordinary React components and CSS around them. Four hooks connect it to Superwall: useProducts() for live store prices, usePurchase() to make the sale, useActions() to close or restore, and useHaptics() for the tap. Everything after the build is unchanged — paywalls are still delivered by the native SDKs, shown through placements and campaigns, and experimented on from the dashboard.

The CLI has git semantics on purpose: superwall push builds and seals an immutable version without touching production; superwall promote points production at it; superwall publish does both in one step. superwall dev opens a local studio at localhost:6100 with device frames, light/dark and locale switching, and outcomes you pick for every purchase, restore, and permission prompt.

You don't have to start from a blank page: superwall migrate <paywall-id> rebuilds a dashboard paywall as code with a coding agent, and superwall migrate --screen <path> does the same for a native SwiftUI, UIKit, Jetpack Compose, React Native, or Flutter screen, reading its strings, assets, and product identifiers into a starting config and a migration brief.

Superwall Framework docs → | Quickstart →

iOS SDK 4.17.0: a dev server, backend-granted entitlements, and a long list of fixes

SuperwallKit 4.17.0 adds SuperwallOptions.devServer, the native side of the framework's local studio: with superwall dev running, paywalls render from your live, local paywall code while configuration, placements, audience evaluation, and assignment stay real. Use .default on a simulator to find the dev server on localhost automatically, or .url(...) with the device URL superwall dev prints for a physical device.

The same release adds grantedEntitlements, so you can grant entitlements from your own backend and have the SDK merge them with device and web entitlements, and adds userAttributes to the RedemptionInfo from didRedeemLink, so you can read the answers someone gave on your web paywall funnel after they redeem in your app.

Past that, it's a dense fix release: duplicate device-attribute and subscription-status events are gone (subscriptionStatusDidChange now only fires on a real logical change), subscribers with an unexpired subscription no longer briefly read as inactive on a cold launch with no App Store purchases to report, cold launches on a weak network are faster, and audiences no longer match users they shouldn't under a Purchase Controller.

iOS changelog →

Meta Ads grows up: an MMP hub, influencer links, and clearer setup

Performance marketing now has its own landing page, Superwall as your MMP, covering how attribution and conversion reporting work across ad networks. Meta Ads is live today; TikTok and Google Ads are coming soon, with cards already in the dashboard to register interest.

Meta Ads itself picked up influencer and affiliate links: give a creator a link on your own domain that redirects to an ad link, one per creator, so their traffic still attributes correctly. The rest of the month was spent bringing the docs up to the native Meta dashboard and documenting exactly which match signals Superwall sends to Meta, clarifying dataset setup and custom event confirmation, and listing the minimum wrapper SDK versions (Expo, Flutter, KMP, React Native) each need for attribution.

Meta Ads docs → | MMP overview →

Trial Billing Issues: a clearer bucket in campaign results

Campaign experiment results now separate Trial Billing Issues from Trial Expires: a trial lands here when the store's most recent event for it is a failed charge that hasn't yet resolved into a conversion or an expiration. Apple and Google usually retry and resolve these; Stripe does not send an expiration after a failed charge, so a Stripe trial stays here until it does.

A new Trial Billing Issue Rate (billing issues ÷ trial starts) sits next to Trial Conv. Rate in every metric group, with the same confidence intervals as other rates. Projected metrics now apply the trial conversion rate to Trials Pending only — trials with a billing issue are excluded, since a failed charge is unlikely to convert until the store resolves it.

Understanding experiment results →

Also shipped in September

  • Android 2.8.3 and 2.8.4. Web purchase redemption now exposes the full checkout product and tracks freeTrial_start once per code; multi-page paywalls no longer drop late page views; a paywall whose webview process crashes recovers and reopens correctly; and a JSON null in placement parameters or user attributes no longer reaches audience filters as the text "null".
  • Expo 1.4.0 and 1.5.0. Bridges getCustomerInfo() and a customerInfoDidChange event from the native SDKs, wires up the long-missing togglePaywallSpinner, adds Android-only queryInAppPurchases(), exposes setLocaleIdentifier() to override the native locale at runtime, and catches up to iOS 4.17.0 and Android 2.8.4 underneath.
  • Flutter 2.5.0. Adds Swift Package Manager support for iOS alongside the existing CocoaPods support, removing the "plugin does not support Swift Package Manager" warning under Flutter 3.44+.
  • Google Play revenue tracking, in the new dashboard. Setup now lives at app.superwall.com instead of the legacy dashboard, with the same service-account and real-time developer notification flow underneath.
  • Self-serve project transfers. Organization owners can now transfer a project, and every app in it, to another Superwall organization directly from Settings → Projects, no support ticket required.
  • Retention messaging reporting. Docs for Apple's Retention Messaging integration now cover save-rate reporting in more depth — see last week's first benchmarks from 30 apps for what the data actually shows.

That's September. If something here unlocks a use case you have been sitting on, or raises a question, tell us. We say test everything, and we would rather hear the hard question now than after you ship.

Ready to try it?

Create your Superwall account → and build your first paywall today. It is free to get started, and everything above works from day one.

Want to see it live first? Book a demo → and we will walk you through the Framework, Meta Ads attribution, and campaign reporting, mapped to your app. A good fit if you are on Enterprise, scaling growth, or weighing a migration.

FAQ

What is the Superwall Framework?
A new way to build paywalls, onboarding funnels, and web checkout flows as React code in your own repo, with a CLI (create, dev, push, promote, publish) and a local studio for previewing. It's in private beta — contact [email protected] for access. Paywalls built this way still ship through the same SDKs, placements, campaigns, and experiments as paywalls built in the visual editor.
What does the devServer option do in iOS SDK 4.17.0?
It connects the app to a local superwall dev server (the Framework's studio) so paywalls render from your live, local paywall code while configuration, placements, audience evaluation, and assignment stay real. Use .default on a simulator, or .url(...) with the device URL superwall dev prints for a physical device.
What are Trial Billing Issues in campaign results?
A new bucket, separate from Trial Expires, for trials whose most recent store event is a failed charge that hasn't yet resolved. A new Trial Billing Issue Rate metric sits next to Trial Conv. Rate, and projected metrics now exclude these trials since a failed charge is unlikely to convert until the store resolves it.
What's new with Superwall's Meta Ads integration?
A new MMP hub page explains attribution across ad networks (TikTok and Google Ads are coming soon). Meta Ads itself added influencer and affiliate links — a link on your own domain that redirects to an ad link, per creator — plus clearer dataset setup, documented match signals, and minimum wrapper SDK versions for attribution.
Can I transfer a Superwall project to another organization myself?
Yes. Organization owners can transfer a project, including every app in it, to another Superwall organization directly from Settings → Projects, without contacting support. Projects using an external localization provider still require a manual transfer.

Get the Superwall newsletter

Paywall strategy and monetization tactics, straight to your inbox.

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