Settings

Revenue Tracking

Connect App Store Connect, Google Play or RevenueCat to Superwall to track subscription revenue. Set up API keys, server notifications and Small Business rates.

Revenue tracking connects the sources that send your app's subscription events to Superwall. It's required to show revenue metrics in the Superwall dashboard.

To open it, click Integrations in the sidebar. Under Revenue tracking, click App Store Connect for an iOS app or Google Play for an Android app.

The Revenue tracking page for an iOS app. The Required card shows both keys missing, the Set up with Apple button, and server notifications waiting on the API key

Status

Until Superwall receives your app's first subscription event, the page is titled Choose a revenue provider. Once the first event arrives, sandbox events included, it's titled Revenue tracking and shows an Enabled badge.

If your app isn't in a project, the page shows This app isn't in a project instead. Its revenue tracking settings are still in the legacy dashboard, or you can add the app to a project from the Project section of its General settings.

Methods

There are different methods for revenue tracking depending on your platform:

If you're using RevenueCat for purchase handling: RevenueCat Revenue Tracking

As soon as you've completed the steps for any of them, you should see integrated events begin to show up in Superwall's metrics.

You can connect more than one source. An app can receive Apple's notifications and RevenueCat's events at the same time, and Superwall stores both. What you choose once is the revenue provider: the source your revenue metrics count.

Choosing a revenue provider

The revenue provider decides which source every revenue figure in the dashboard counts:

  • The store (App Store Connect or Google Play): the events the store sends straight to Superwall.
  • RevenueCat: the events RevenueCat sends with a RevenueCat webhook.

Events from the other source keep arriving and being stored. They stop being counted, and you can switch back. Until a provider is chosen, events from every source are counted, so choose one when more than one source is sending.

Choosing a provider is separate from receiving events. Setting Apple's server notification URL does not change it, and changing it does not touch the URL.

You choose the provider in the Revenue provider card. It shows None selected until you pick one.

A change to the provider applies to every date, not only from now on, so Superwall asks you to confirm it first:

  • Switching from one provider to the other always asks, in a Switch to …? dialog.
  • Choosing for the first time asks, in a Choose …? dialog, only when the source you didn't choose has been sending events. With no provider chosen, the dashboard counts every source, so picking one drops the other's revenue from your figures.

The dialog says how many events each source sent Superwall in the last 30 days. If the source you're choosing sent none and the other source did, it warns that revenue will read as zero until the source you chose starts sending events.

The Switch to RevenueCat dialog, saying how many events App Store Connect and RevenueCat each sent in the last 30 days

From the Superwall CLI:

superwall apps get <app>                                      # what is counted, and what each source sent
superwall apps update <app> --revenue-provider open_revenue   # count the store's own events
superwall apps update <app> --revenue-provider revenue_cat    # count RevenueCat's events

iOS: App Store Connect

For an iOS app, the Required card at the top of the page lists what Superwall needs from Apple, whichever revenue provider you choose:

  • App Store Connect API key: Superwall uses it to read your app and its products, and to check where Apple sends your server notifications.
  • In-App Purchase key: Superwall uses it to track purchases and process refunds.
  • Server notifications: Apple's notifications about your app's subscriptions, reaching Superwall. Webhooks and integrations run on them.

The card's header shows Set up with Apple while a key is missing, 1 step left when only server notifications are left, and Connected when everything is in place.

To save keys or change the server notification URL, you need an Owner, Admin, or User (Legacy) role in Superwall. Editors, Readers, and Analysts can't save changes here, and Superwall can't read the server notification URL for them. If your project access is Restricted, you also need the Admin project role for the app's project. See Access Controls.

App Store Connect API key and In-App Purchase key

Click Set up with Apple on the Required card to create both keys in App Store Connect, save them to Superwall, and set your app's server notification URL in one step. You need an Apple Account that is an Admin or the Account Holder on the app's Apple team. You can also import keys from another app in your organization, or enter a key's file, Key ID and Issuer ID by hand.

For each way to add, replace or remove the keys, see App Store Connect API Key and In-App Purchase Key.

Server notifications

Apple sends an app's App Store Server Notifications to one URL per environment. The Server notifications section, under the key rows, says where Apple sends them and whether they're reaching Superwall. Send them straight from Apple with Configure URL for me, or forward them through RevenueCat or your own server.

For the status badges and each route's steps, see App Store Server Notifications.

Apple Small Business Program

If you are part of Apple's Small Business Program, your proceeds cut is 15% instead of the standard 30%. To ensure Superwall reports revenue correctly, add the date you were accepted into the program. Optionally, add the date you were removed if applicable.

If you added your Apple Small Business Program status later on, Superwall will accurately reflect revenue for any new data. It does not backfill existing revenue metrics.

Android: Google Play

You can now forward subscription events directly from Google Play to Superwall. For implementation details, please refer to our guide on Revenue Tracking for Google Play.

RevenueCat

If RevenueCat handles your purchases, add a webhook in RevenueCat that sends its subscription events to your app's Superwall URL. Choose RevenueCat in the Revenue provider card to see the URL and the steps. See RevenueCat Revenue Tracking.

The webhook sends RevenueCat's own events, not Apple's notifications. Some Superwall features, such as webhooks and integrations, need Apple's own notifications. If RevenueCat's URL is in App Store Connect, have RevenueCat forward them to Superwall. See Forward Apple's Notifications from RevenueCat.

How is this guide?

On this page