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.
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.
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_startonce per code; multi-page paywalls no longer drop late page views; a paywall whose webview process crashes recovers and reopens correctly; and a JSONnullin 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 acustomerInfoDidChangeevent from the native SDKs, wires up the long-missingtogglePaywallSpinner, adds Android-onlyqueryInAppPurchases(), exposessetLocaleIdentifier()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.