# What's New in August 2026: Meta Ads Attribution, the KMP & Web SDKs, and Web Checkout Discount Codes

> Meta Ads attribution, an acquisition cohort report, the KMP and Web SDKs in beta, Android custom store products, and Stripe discount codes on web checkout.

Source: https://superwall.com/blog/whats-new-august-2026

---

September 2, 2026 

#  What's New in August 2026: Meta Ads Attribution, the KMP & Web SDKs, and Web Checkout Discount Codes 

Superwall becomes a Meta mobile measurement partner with attribution and an acquisition cohort report, the KMP and Web SDKs land in beta, Android ships custom store products and a Billing Library 9 upgrade, and web paywalls can now redeem Stripe discount codes.

![Michal Parizek](https://superwall.com/blog/authors/michal-parizek.png) 

 Michal Parizek 

TL;DR

 August put Superwall in the middle of the acquisition loop: a new Meta Ads integration makes Superwall a mobile measurement partner with attribution and spend charts, a new acquisition cohort report answers "what did this campaign cost, and what has it earned back" through the API or MCP, the KMP and Web SDKs shipped their first beta releases, Android added custom store products with a Billing Library 9 upgrade, and web paywalls can now redeem Stripe discount codes in place. 

## Meta Ads: Superwall as your mobile measurement partner

 Superwall is now a [mobile measurement partner (MMP)](https://superwall.com/docs/integrations/mmp) for Meta campaigns. Connect a Meta dataset, generate ad links from the dashboard, and Superwall attributes installs to the campaign, ad set, and ad that drove them, then sends conversion events back to Meta so it can optimize delivery. Matching is probabilistic and IDFA-free: it runs once per install, within 7 days, with no ATT prompt required. 

 A matched install sets `acquisition_*` user attributes (campaign, ad set, ad, placement, network, and more), which you can use as breakdowns in charts or as targeting in audience filters — for example, showing a different paywall to users who arrived through a specific ad. With the integration enabled, a new **Advertising** chart group appears with Ad Spend, ROAS, CPM, CPT, CPP, and Blended CPT. 

 This requires SuperwallKit 4.16.0+ and is iOS-only for now; it's rolling out gradually, so reach out to [support@superwall.com](mailto:support@superwall.com) if you don't see **Performance Marketing** under Integrations yet. 

[Meta Ads integration docs →](https://superwall.com/docs/integrations/meta-ads) 

## Acquisition cohort report: what a campaign cost, and what it's earned back

 The new [acquisition cohort report](https://superwall.com/docs/dashboard/guides/acquisition-cohort-report) pulls installs, trials, ad spend, CPI, and install-cohorted revenue per campaign, ad set, ad, or country, available through the [Superwall MCP](https://superwall.com/docs/dashboard/guides/superwall-mcp) or the API at `POST /v2/charts/acquisition-cohort-report`. 

 Ask your agent something like "show me installs and D30 revenue by campaign for the last 30 days" and get an answer keyed by any combination of `d1`, `d3`, `d4`, `d7`, `d14`, `d30`, and `d90`. Revenue is cohorted by install date, not purchase date, so a `d30` figure reflects what a campaign's users had earned back within 30 days of installing — however long ago that was. 

[Acquisition cohort report docs →](https://superwall.com/docs/dashboard/guides/acquisition-cohort-report) 

## Web checkout: discount codes, redeemed on the paywall

 Web paywalls can now let customers enter a Stripe promotion code and see the price update before checkout. Add a text input and a button with the new **Apply Discount** tap action, point it at the input, and Superwall validates the code against Stripe, re-prices the paywall in place, and carries the discount through to the Stripe checkout session. 

 New `hasDiscount`, `discountCode`, and `discountedPrice` variables let the paywall react — a strikethrough of the original price next to the discounted one is the common pattern. Building on the [Web SDK](https://superwall.com/docs/web) instead? Call `activePaywall.redeemDiscount()` directly. 

[Discount codes docs →](https://superwall.com/docs/web-checkout/web-checkout-discount-codes) 

## Two new SDKs land in beta: Kotlin Multiplatform and Web

 The [KMP SDK](https://superwall.com/docs/kmp) brings paywalls, placements, and entitlements to Kotlin Multiplatform, wrapping the native Android and iOS SDKs behind one API that lives entirely in `commonMain` — the same `configure` signature on both platforms, no `expect`/`actual` of your own, no `Context` parameter on Android. It supports `minSdk 26` on Android and iOS 14+, and shipped its first two releases this month (0.1.0, then 0.1.1). 

 The [Web SDK](https://superwall.com/docs/web) brings the same campaigns, audience rules, and experiments to the browser as ESM-only packages: `@superwall/paywalls-js` for the headless core, a `/browser` entry for the presenter, `@superwall/paywalls-react` for React 19 hooks, and `@superwall/server` / `@superwall/verify` for gating real resources server-side, since subscription state read in the browser can always be edited from DevTools. 

Both SDKs are in beta — expect API changes between releases.

[KMP SDK docs →](https://superwall.com/docs/kmp) | [Web SDK docs →](https://superwall.com/docs/web) 

## Android: custom store products and a Billing Library 9 upgrade

 Android SDK 2.8.0 extends custom store products — products configured on a custom store in the dashboard, backed by Stripe or your own payment backend — so their price, period, and trial data template into the paywall like any other product, with purchases routed entirely through your `PurchaseController`, bypassing Google Play Billing. 

 The same release upgrades Google Play Billing Library from 8.0.0 to 9.1.0 (Google requires it by August 31, 2026) and raises the SDK's `minSdk` to 23\. This is a breaking change for apps still calling removed Billing Library APIs (`SkuDetails`, `querySkuDetailsAsync`, `queryPurchaseHistoryAsync`) directly, or using another subscription SDK that hasn't updated for Billing 9 — test purchase, restore, and subscription-status flows before shipping the upgrade. If you're not ready, you can pin Billing to 8.3.0; see the [changelog](https://superwall.com/docs/android/changelog) for the exact `resolutionStrategy.force` snippet. 

 Follow-up releases 2.8.1 and 2.8.2 fixed localized paywalls briefly flashing the default language on first paint, added a `presentation_id` to paywall analytics events, and meaningfully cut memory and CPU during paywall preloading. 

[Android changelog →](https://superwall.com/docs/android/changelog) 

## Also shipped in August

* **Expo native PaywallView.** Expo SDK 1.3.0 adds a native `PaywallView` component for inline, overlay, and modal layouts, with declarative loading, skipped, error, and dismissed fallbacks, plus an Android SDK bump to 2.7.24\.
* **Dynamic Type in paywalls.** iOS SDK 4.16.2 adds the user's system-wide text size as three device attributes — `fontScale`, `fontSize`, and `preferredContentSizeCategory` — for use in paywalls and audience filters, joining the Android device attributes that shipped in July. It also links subscriptions to the user server-side after a successful purchase or restore, and fixes a crash when an unevaluable audience-filter expression used to abort the app.
* **Xcode 26.0 build fix.** iOS SDK 4.16.3 fixes a build error when compiling under Xcode 26.0\.
* **"Using your own backend" guide.** A new cross-platform guide for apps that validate receipts or serve entitlements from their own server, covering both the "forward transactions, let Superwall handle purchasing" path and the full `PurchaseController` path.
* **Apply Discount, not Redeem Discount.** The dashboard's discount action was renamed to Apply Discount to avoid confusion with the separate Redeem Purchase tap action.
* **Blended CPI and CPT charts.** New chart docs for Blended CPI (total spend ÷ all new installs, paid and organic) and Blended CPT, both part of the Advertising chart group unlocked by Meta Ads.

 That's August. 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 →](https://superwall.com/sign-up?utm%5Fsource=blog&utm%5Fmedium=content&utm%5Fcampaign=whats-new-august-2026&utm%5Fcontent=create-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 →](https://superwall.com/demo?utm%5Fsource=blog&utm%5Fmedium=content&utm%5Fcampaign=whats-new-august-2026&utm%5Fcontent=book-demo) and we will walk you through Meta Ads attribution, the KMP and Web SDKs, and web checkout discount codes, mapped to your app. A good fit if you are on Enterprise, scaling growth, or weighing a migration. 

##  FAQ 

What does the Meta Ads integration do?

It makes Superwall a mobile measurement partner (MMP) for Meta campaigns: Superwall generates the ad links, attributes installs to the campaign/ad set/ad that drove them, and sends conversion events back to Meta. It's iOS-only for now and requires SuperwallKit 4.16.0+.

What is the acquisition cohort report?

A report that pulls installs, trials, ad spend, CPI, and install-cohorted revenue per campaign, ad set, ad, or country, available through the Superwall MCP or the API. Revenue is cohorted by install date, so a d30 figure reflects what a campaign's users earned back within 30 days of installing.

How do discount codes work on Superwall's web checkout?

Add an Input element and a button with the new Apply Discount tap action on your web paywall. Superwall validates the code against your existing Stripe promotion codes, re-prices the paywall, and carries the discount through to the Stripe checkout session.

Are the KMP and Web SDKs ready for production?

Both are in beta. The KMP SDK wraps the native Android and iOS SDKs behind one Kotlin Multiplatform API; the Web SDK brings the same campaigns and experiments to the browser as ESM-only packages, with React 19 bindings included.

Do I need to do anything for the Android Billing Library 9 upgrade?

If your app calls removed Billing Library APIs directly (SkuDetails, querySkuDetailsAsync, queryPurchaseHistoryAsync) or uses another subscription SDK that doesn't yet support Billing 9, update SDK 2.8.0 with care and test purchase/restore flows first — or pin Billing to 8.3.0 in the interim. Google requires Billing 9 by August 31, 2026.

##  Related reading 

| August 12, 2026 | [ What's New in July 2026: Tangent joins Superwall, Superwall AI, a new CLI, and Managed Payments ](https://superwall.com/blog/whats-new-july-2026) | Michal Parizek  |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------ | --------------- |
| July 13, 2026   | [ Superwall acquires Tangent and raises $7.5M ](https://superwall.com/blog/superwall-acquires-tangent-and-raises-7.5m)                              | Jake Mor        |
| July 3, 2026    | [ What's New in June 2026: AI Chat Builder, the Editor MCP, and full-funnel attribution ](https://superwall.com/blog/whats-new-june-2026)           | Volha Samoilava |

##  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

###  Thanks — opening your calendar 

 If a new tab didn't open, [click here to pick a time](#). 

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](https://superwall.com/sign-up) 

No credit card required
