Apple released retention messages for App Store subscriptions on November 4, as per its latest update for developers. Subscribers who start a cancellation will now see a message from the app’s developer, and it can include a discount or a free period if they qualify.
Developers can set up retention messages in App Store Connect, and the Retention Messaging API, which is available by request, lets them choose the message each subscriber sees.
Subscribers See Text, an Image or an Offer on the Cancel Screen
The message appears after a subscriber taps Cancel Subscription in their App Store subscriptions. It sits in a section titled From the developer on the Confirm Cancellation screen, with Keep Subscription and Cancel Subscription at the bottom, so a subscriber can still finish cancelling from the same screen.
Every message has header and body text, and an image and offers are optional. Eligible subscribers see the offer instead of the image, and everyone else sees the image if the developer added one. Developers set the offer as free, pay up front or pay as you go.
Through the Retention Messaging API, developers can also suggest a different plan to a subscriber who is about to cancel. Retention messages show on iOS 15.1 or later, iPadOS 15.1 or later, visionOS 1 or later and macOS 14 or later.
Developers Get 10 Retention Messages per App and Strict Text Rules
Each app can have up to 10 retention messages, and each subscription can have only one assigned at a time. A subscription billing plan can carry up to 10 retention offers, and a single message can use all 10. Images must be 3840 by 2160 pixels or 5244 by 2950 pixels.
Header and body text cannot mention offers, discounts or prices, such as a dollar amount or 50% off, because every subscriber sees the text, including those who do not qualify for the offer, and App Review rejects messages that do. Developers can say what a subscriber loses by cancelling, such as access to downloaded content, if the statement is factual. Apple also tells them to avoid claims that coerce subscribers or promise outcomes that cannot be verified.
Editing an approved message creates a new draft version, and the approved version keeps showing until App Review approves the changes. A previously published version cannot be restored.
The Retention Messaging API Is Available by Request
Developers who want to pick a message in real time need access from Apple first. The App Store server calls the developer’s server when an active subscriber views a subscription details page with a Cancel button, and the call includes the original transaction ID and the subscriber’s locale. The developer responds with one of its preconfigured messages.
Every product needs a default message in each locale, which the system uses if the real-time call fails, and a product with no default message in a locale shows no retention message there. A developer’s server also has to pass a performance test before it can go live in production.