App Store guide
Apple Retention Messaging API, in plain words
Apple Retention Messaging lets you show your own message, an image and an optional offer on the iOS screen where a subscriber is about to cancel. Your server must answer Apple's request within 700 ms or Apple shows its default screen. It works on iOS 15.1 and later, developers must apply and be approved, and messages are labelled "From the developer".
What is Apple's Retention Messaging API?
Until now, the iOS cancel screen belonged to Apple. A subscriber could open Settings, tap cancel and leave without your app ever knowing why. Retention Messaging gives you one chance to speak at that moment.
At WWDC on 11 June 2026, Apple announced that developers can show a message, imagery and an optional offer when a subscriber chooses to cancel, set up either in App Store Connect or through a Retention Messaging API. MacRumors reported it as available "this fall" (MacRumors, 11 Jun 2026). Check App Store Connect to see whether it is live for your account.
The technical facts
| Item | What applies | Source |
|---|---|---|
| What you can show | A message, imagery, and an optional offer | MacRumors |
| How you set it | App Store Connect, or the Retention Messaging API | MacRumors |
| Response time | Your server must respond within 700 ms, or Apple shows the default | Superwall, 8 May 2026 |
| Platforms | iOS 15.1+, iPadOS 15.1+, visionOS 1+, macOS 14+ | Superwall |
| Access | You must apply and be approved | Superwall |
| Label | Messages appear as "From the developer" | Superwall |
Checked 17 Oct 2026.
Two details are easy to miss. The label "From the developer" tells the user the words come from you, not Apple, so write like a person, not like a system notice. And approval is a separate step from building the endpoint, so apply early.
The 700 ms rule is the part to plan around. Apple calls your server while the person is looking at the screen. If your server is slow, cold or down, Apple simply shows its own screen and you lose the moment. That means the decision about what to show has to be made in advance and served from something fast, not worked out live by a slow database query.
What can you show? The three building blocks
| Block | Good use | Avoid |
|---|---|---|
| Message | One sentence that names something the person actually used, and what they lose by leaving | Guilt, or a list of every feature |
| Imagery | A real screen from your app, ideally the one they used most | Stock photos or a big logo |
| Optional offer | A discount or switch to a cheaper plan, for people you would genuinely keep | The same discount for everyone, which trains people to cancel for a deal |
| Nothing (default) | When you have nothing useful to say | Showing a weak message just because you can |
The "good use" and "avoid" columns are our advice, not Apple rules.
How it fits with win-back after the cancel
Retention Messaging and win-back are two halves of the same job:
- At the cancel screen, Retention Messaging tries to stop the cancel. You get one screen, under 700 ms, with no idea yet why they are leaving.
- After the cancel, the person still has access until the end of the period. RevenueCat reports this as a CANCELLATION event. This is when a personal message can ask what went wrong.
- After access ends, an Apple win-back offer can bring them back at a lower price, if they meet your eligibility rules.
Some people will cancel anyway, whatever you show them, and that is fine. What matters is that the cancel is not the end of the conversation. The data on who comes back later is on our churn statistics page: monthly subscribers reactivate at about 20% within a year, annual subscribers at 5% (RevenueCat SOSA 2026 part 2).
Tools that support it today
Superwall has published support for Apple Retention Messaging alongside its paywalls (Superwall blog). If you already use Superwall, start there.
Winback does not answer Retention Messaging calls today. It works after the cancel: it reads the cancellation from RevenueCat or Stripe, writes one personal message per person, and includes your offer only within the limits you set. We may add Retention Messaging later; we will not claim it until it works.
Getting ready, a short checklist
- Apply for access through Apple and wait for approval.
- Decide who gets an offer at cancel and who gets a plain message. Write it down as rules.
- Pre-compute the answer for each subscriber so your endpoint only looks it up.
- Host the endpoint somewhere that stays warm and answers well under 700 ms.
- Log every call and what you showed, so you can compare who cancelled anyway.
- Plan the follow-up for people who still cancel. See RevenueCat win-back.
FAQ
What happens if my server is slower than 700 ms?
Apple shows its default cancel screen instead of your message. Nothing breaks for the user, but you lose the chance to speak. Serve a pre-computed answer from a fast endpoint.
Which iOS versions show Retention Messaging?
Superwall lists iOS 15.1 and later, iPadOS 15.1 and later, visionOS 1 and later, and macOS 14 and later. Check Apple's documentation for any change.
Do I need Apple's approval?
Yes. Developers must apply and be approved before using Retention Messaging, according to Superwall's write-up from 8 May 2026.
Does Winback support Retention Messaging?
Not today. Winback works after the cancel, using the cancellation event from RevenueCat or Stripe. If you need a cancel-screen message now, Superwall supports it.
Who is behind Winback?
AGUNA Wellness Ltd (RC 9590421) in Abuja, Nigeria. We run Winback on our own App Store app, AGUNA, first. Winback is new and has no customer results yet.
See who you could win back this month
Upload a RevenueCat or Stripe export to the planner. It sorts lost subscribers into cancelled, billing failed and trial expired, writes one message per person with a unique return code, and gives you a CSV. Files stay in your browser. Want us to set it up with you instead? Early access is open, and you pay nothing until someone comes back.