Appstro
Say something before they cancel

Retention message composer

Write the one message Apple shows after someone taps Cancel Subscription, checked against Apple's limits.
Availability: the Retention Messaging API is pre-release, and access is by request. Apple says App Store Connect gets a UI for it this fall. Messages show on iOS 15.1, iPadOS 15.1, visionOS 1, macOS 14 and later. Every rule on this page comes from Apple’s documentation, read 2026-09-23.

Not sent to Apple.

Header and body, optionally with bullet points. Can be a default message.

0 / 66
0 / 144

Bullet pointsEach needs its own 1024×1024 image and alt text.

  • error: Header is required.Apple
  • error: Body is required.Apple

Check an image

Apple

PNG only, no transparency. Full size is exactly 3840 wide and 160–2160 tall; bullet images are 1024×1024. Checked in this tab — nothing is uploaded.

A default for every product, in every language

Apple

Apple: the system doesn’t show a retention message for a product in any locale that lacks a default. There is no fallback to English. Only text messages, with or without an image, can be defaults.

One per line.

Locales — Apple’s API short codes, case-sensitive

Export

The JSON holds exactly what the API takes: an Upload Image slot for every image (with the identifier the message refers to), an Upload Message body for every message, and a Configure Default Message call for every covered pair. Upload images first; nothing shows until Apple approves both the message and its images.

Nothing here can tell you how many cancellations a message saves — Apple publishes no figure, and only your own subscription data can show it. Apple’s one content rule is plain: don’t upload anything misleading or inaccurate. If a promotional-offer message is your plan, the offer itself is set up in App Store Connect; the offer codes planner covers the related limits.

Sources, read 2026-09-23

About this tool

What can you show a subscriber who is about to cancel?

Apple’s Retention Messaging puts one message on the Confirm Cancellation sheet — after someone taps Cancel Subscription and before they confirm. It can be text, text with an image, a suggested plan to switch to, or a promotional offer.

This composer writes those messages against every limit Apple documents, checks and fixes your images, and makes sure every subscription has a default message in every language you support — because where one is missing, Apple shows nothing.

How it works
  1. 1Each message is checked against Apple’s Upload Message caps: header 66, body 144, alt text 150, bullet text 66. Apple states the cap for a UTF-8-encoded value without saying characters or bytes, so both are counted and the stricter reading is flagged.
  2. 2Images are read in your browser for format, size and transparent pixels, and can be re-saved as an RGB PNG at Apple’s exact width with no alpha channel at all.
  3. 3The coverage grid lists every product and locale, using Apple’s case-sensitive API locale codes — which differ from listing codes for 17 languages, de-DE rather than de.
  4. 4Export produces Apple’s request bodies for Upload Image, Upload Message and Configure Default Message.
What it cannot tell you
  • Apple’s Retention Messaging API is pre-release and access is by request. Apple says an App Store Connect interface arrives this fall.
  • Only text messages, with or without an image, can be defaults. Switch-plan and promotional-offer messages are chosen by your server in real time.
  • Apple reviews every message and image before it can show. Passing these checks is not approval.
  • No figure here says how many cancellations a message saves. Apple publishes none, and only your own subscription data can show it.
Questions

What is App Store Retention Messaging?

A message Apple shows on the Confirm Cancellation sheet when someone cancels an auto-renewable subscription. You upload the text and images in advance, set a default for each product and locale, and can optionally pick a message in real time from your own server.

How long can a retention message be?

Apple caps the header at 66 and the body at 144, alt text at 150 and each bullet at 66. It describes each as a UTF-8-encoded value with a maximum length, without saying whether that counts characters or bytes, so plan non-Latin copy against bytes to be safe.

What size is a retention message image?

A PNG with no transparency. A full-size image is exactly 3840 pixels wide and 160 to 2160 tall; a bullet-point image is 1024 by 1024.

Which devices show retention messages?

Apple lists iOS 15.1 or later, iPadOS 15.1 or later, visionOS 1 or later and macOS 14 or later.