Retention offers
A promotional offer on the cancel path or the refund path, mapped product by product to store offer ids.
Feature
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.
A promotional offer on the cancel path or the refund path, mapped product by product to store offer ids.
RevenueDot answers Apple's real-time call within its 700 ms limit, with a message, a switch plan or a promotional offer.
Customers write to you from the Customer Center and the ticket reaches your inbox and the dashboard.
On iOS the SDK asks RevenueDot to sign the promotional offer with the app's In-App Purchase key.
Steps
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.
Create a promotional offer in App Store Connect, or a developer-determined offer in Google Play Console, on each subscription you want to discount.
Open Lifecycle, then Retention, then the Customer Center tab. Select New offer under Cancellation Retention Discount or Refunds Retention Discount.
Give the offer a name, a title and a subtitle, and pick the store.
Map every product to its store offer id, then turn the offer on.
RevenueDot adds the offer to the cancel or refund path in the configuration the SDK reads. The SDK shows it before the customer finishes.
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.
import RevenueCatUI
struct SettingsView: View {
@State private var showCustomerCenter = false
var body: some View {
Button("Manage subscription") { showCustomerCenter = true }
.sheet(isPresented: $showCustomerCenter) { CustomerCenterView() }
}
} 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.
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.
POST /v2/projects/{project_id}/customer_center_config.FAQ
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.
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.
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.
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.
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
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