Feature

Customer Center for iOS and Android apps: retention offers, cancel flows and Apple Retention Messaging

RevenueDot serves the configuration for the RevenueCat SDK's Customer Center, the subscription screen inside your app. You add a promotional offer to the cancel path or the refund path, so customers see it before they leave. RevenueDot also answers Apple's Retention Messaging API in real time and stores support tickets customers send from the screen.

Free up to $10,000 a month in tracked revenue. Works with the RevenueCat SDK you already ship.

The RevenueDot Retention Offers page on the Customer Center tab. A Cancellation Retention Discount section lists an offer named Half off for 3 months for the App Store, mapping two Scanner Pro products to offer ids, switched on. A Refunds Retention Discount section below has no offer yet.
A cancellation offer linked to two App Store products. The SDK shows it before the customer cancels.

Retention offers

A promotional offer on the cancel path or the refund path, mapped product by product to store offer ids.

Apple Retention Messaging

RevenueDot answers Apple's real-time call within its 700 ms limit, with a message, a switch plan or a promotional offer.

Support tickets

Customers write to you from the Customer Center and the ticket reaches your inbox and the dashboard.

Signed offers

On iOS the SDK asks RevenueDot to sign the promotional offer with the app's In-App Purchase key.

Steps

How to add a retention offer to the Customer Center

The Customer Center is the subscription screen the RevenueCat SDK shows in your app, CustomerCenterView on iOS and CustomerCenter on Android. Its configuration comes from your RevenueDot server.

  1. 01

    Create the store offer

    Create a promotional offer in App Store Connect, or a developer-determined offer in Google Play Console, on each subscription you want to discount.

  2. 02

    Add the offer in RevenueDot

    Open Lifecycle, then Retention, then the Customer Center tab. Select New offer under Cancellation Retention Discount or Refunds Retention Discount.

  3. 03

    Write what customers see

    Give the offer a name, a title and a subtitle, and pick the store.

  4. 04

    Link each product to its offer

    Map every product to its store offer id, then turn the offer on.

  5. 05

    Show the Customer Center in your app

    RevenueDot adds the offer to the cancel or refund path in the configuration the SDK reads. The SDK shows it before the customer finishes.

How do you present the Customer Center in your app?

Present the SDK's view as usual. The configuration it reads is GET /v1/customercenter/{app_user_id}, served by RevenueDot. Without changes, a built-in default is used, and your overrides are merged over it key by key.

SettingsView.swiftSwift
import RevenueCatUI

struct SettingsView: View {
    @State private var showCustomerCenter = false

    var body: some View {
        Button("Manage subscription") { showCustomerCenter = true }
            .sheet(isPresented: $showCustomerCenter) { CustomerCenterView() }
    }
}

How does Apple Retention Messaging work in RevenueDot?

Apple calls your server in real time when a customer is about to cancel, and shows the message you pick on its own Confirm Cancellation screen. Apple grants access to the Retention Messaging API on request, so ask for it first.

  • Add messages with a header of up to 66 characters and a body of up to 144. A message can suggest another plan or carry a promotional offer.
  • Set a default message for each product and locale. Apple shows it when the real-time call fails.
  • Add real-time rules: for a product, or any product, which message to answer with.
  • Select Sync to Apple (sandbox). For production, pass Apple's performance test first, then Sync to Apple (production).
  • RevenueDot checks Apple's signature and app ID on every call and refuses a request signed more than 5 minutes earlier. If a promotional offer cannot be signed, it answers with no message and Apple shows your default.

How do support tickets from the Customer Center work?

Under Lifecycle, then Support, turn on Let customers create tickets, enter your support email and choose which customers may write and which details the email includes. A customer can send 5 tickets an hour, one device 20, and the whole project 100, so a leaked SDK key cannot flood your inbox. The Support feature page covers Intercom and Zendesk.

What is not built yet?

  • A dashboard editor for the whole Customer Center layout. Retention offers and support settings have pages. The rest of the configuration is set through POST /v2/projects/{project_id}/customer_center_config.
  • Apple's Retention Messaging API needs Apple's approval, which RevenueDot cannot grant for you.
  • App Store Save Outcomes in Charts is always zero until Apple's Retention Messaging API is in use.

FAQ

Customer Center: questions people ask

What is the RevenueCat Customer Center and does it work with RevenueDot?

The Customer Center is a subscription management screen inside the RevenueCat SDK, with paths for cancelling, refunds and support. RevenueDot serves its configuration from your own server, so the unmodified SDK shows your retention offers and sends tickets to RevenueDot.

How do I show a discount when a customer tries to cancel?

Create a promotional offer in App Store Connect or Google Play Console, then add it under Lifecycle, Retention, Customer Center in RevenueDot as a Cancellation Retention Discount and map each product to its offer id. The SDK shows it before the customer finishes cancelling.

What is Apple's Retention Messaging API?

It lets you show a message, a cheaper plan or a promotional offer on Apple's own Confirm Cancellation screen. Apple calls your server in real time, and RevenueDot answers from your rules within 700 milliseconds. Apple grants access to the API on request.

Can I show a retention offer on the refund request path?

Yes. Add an offer under Refunds Retention Discount. The SDK offers it when the customer asks for a refund in the Customer Center, before the refund flow continues.

Does the Customer Center work on Android?

Yes. The SDK's Customer Center runs on iOS and Android, and RevenueDot serves the same configuration to both. A cancellation offer uses a developer-determined offer in Google Play Console.

Get started

Run subscriptions without the revenue share.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue, or move an existing RevenueCat app with one line of code.

Already have an account? Sign in · Prefer your own servers? Self-host free