---
title: "How to set up your first Apple retention message in App Store Connect"
description: "Apple Retention Messaging is now available to everyone in App Store Connect. Here’s how to set up your first message and make the moment before cancellation count."
language: "en"
publishedAt: "2026-11-05T17:18:13.522Z"
updatedAt: "2026-11-05T17:18:13.522Z"
authors:
  - name: "Margarita Loktionova"
    url: "https://www.revenuecat.com/blog/author/margarita-loktionova"
  - name: "Luigi Forte"
    url: "https://www.revenuecat.com/blog/author/luigi-forte"
category: "Growth"
categoryUrl: "https://www.revenuecat.com/blog/growth"
canonical: "https://www.revenuecat.com/blog/growth/apple-retention-messaging"
---

# How to set up your first Apple retention message in App Store Connect

Apple Retention Messaging is now available to everyone in App Store Connect. Here’s how to set up your first message and make the moment before cancellation count.

## Table of contents

- [How does Apple Retention Messaging work in App Store Connect?](#how-does-apple-retention-messaging-work-in-app-store-connect)
- [App Store Connect vs the Retention Messaging API](#app-store-connect-vs-the-retention-messaging-api)
- [Step 1: Start with one good reason to stay](#step-1-start-with-one-good-reason-to-stay)
- [Step 2: Decide whether to add an offer](#step-2-decide-whether-to-add-an-offer)
- [Step 3: Write your message](#step-3-write-your-message)
- [Step 4: Add an image (optional)](#step-4-add-an-image-optional)
- [Step 5: Set up your message in App Store Connect](#step-5-set-up-your-message-in-app-store-connect)
- [Step 6: Measure whether it works](#step-6-measure-whether-it-works)
- [Go further with RevenueCat’s real-time Retention Messaging](#go-further-with-revenuecats-real-time-retention-messaging)

Apple Retention Messaging is now available to every developer in App Store Connect. You can show subscribers a message and an optional offer right before they cancel, without writing any code. RevenueCat’s real-time Retention Messaging adds targeting by subscriber group, plan switches, auto-translation, and experiments.

Apple Retention Messaging is now available to every developer in App Store Connect, with no code or server integration required.

It shows subscribers a short message from your app right before they confirm their cancellation.

When someone taps ‘Cancel Subscription’, they’re one step away from leaving. This is your chance to give them one good reason to stay.

Here’s how to choose what to say, decide whether to add an offer, set up your first message in App Store Connect, and measure the results. We’ll also cover when it’s worth using [RevenueCat’s real-time Retention Messaging](https://www.revenuecat.com/feature/retention-messaging) instead.

## How does Apple Retention Messaging work in App Store Connect?

Retention Messaging appears when a subscriber starts canceling through Apple’s subscription settings. Before confirming, they see a message from your app reminding them of its value. If you set it up in App Store Connect, that’s the message you’ve assigned to their subscription.

A retention message can show text only, text with an image, or text with an offer:

![Apple’s cancellation screen showing three retention message formats: text only, text with an image, and text with an offer](https://cdn.sanity.io/images/c3qnx9b0/production/934a23eb00f97de64034c56f89f85561c9b25fd2-1534x814.png)

The setup happens on your app’s Subscriptions page in App Store Connect. Write the message, add a translation for each language, and assign it to the subscriptions it should cover.

Each subscription can have only one message, so every subscriber who cancels that plan sees the same text. Any offer you attach goes only to subscribers who meet your eligibility rules, while the rest see the same message without the offer.

## App Store Connect vs the Retention Messaging API

There are two main ways to set up retention messages: in App Store Connect, or through Apple’s [Retention Messaging API](https://www.revenuecat.com/blog/engineering/apple-retention-messaging-api). 

App Store Connect is the quickest way to start. It needs no code or access request, but each subscription gets only one message. Using the Retention Messaging API removes that limit. Apple checks with your server every time a subscriber starts to cancel, so you can pick a different message and offer for each subscriber and run tests.

RevenueCat [handles the server side for you](https://www.revenuecat.com/feature/retention-messaging), so you can set up messages, targeting rules, and experiments in the dashboard.

Here’s how the two options compare:

|  | App Store Connect | Retention Messaging API (with RevenueCat) |
| --- | --- | --- |
| Show messages with text and images | ✓ | ✓ |
| Offer a discount | ✓ | ✓ |
| Set offer eligibility (paid duration, wait between offers, countries) | – | ✓ |
| Target messages by subscriber segment | – | ✓ |
| Show different messages for subscribers who get the offer and those who don’t | – | ✓ |
| Offer a switch to another plan (like annual to monthly) | – | ✓ |
| Auto-translate messages | – | ✓ |
| A/B test messages | – | ✓ |
| Get started without requesting access from Apple | ✓ | – |

## Step 1: Start with one good reason to stay

Before writing your message, ask yourself: why do subscribers choose your app, and what makes them leave?

You probably have more clues than you think. App Store reviews, support conversations, and [Customer Center](https://www.revenuecat.com/docs/tools/customer-center/customer-center-configuration) cancellation surveys show what subscribers value and where they get stuck. You can also use [RevenueCat Charts](https://www.revenuecat.com/docs/dashboard-and-metrics/charts) to check when subscribers cancel (e.g., during a free trial or at their first renewal).

In App Store Connect, everyone who cancels a subscription sees the same message text. You can only limit who gets the offer attached to it. So pick a reason to stay that fits most subscribers on that plan, without misleading the rest.

For example, Character.AI highlights the one thing subscribers lose if they cancel: daily premium chats. It also lists what comes back — full ads, slow mode, and basic memory.

![Character.AI retention message in Apple’s cancellation flow, listing the premium features subscribers lose if they cancel](https://cdn.sanity.io/images/c3qnx9b0/production/e2ee84aab88dc82e420b50c13ac19ebe5e3a9359-1448x1086.png)

With the Retention Messaging API, you can show different messages to different groups, like trial users, long-time subscribers, or subscribers who have already redeemed an offer.

RevenueCat handles the API for you, so you can set up these rules in the dashboard without building your own server.

## Step 2: Decide whether to add an offer

Next, decide whether to include an offer in your message. Discounts can help when price is the reason someone leaves. That said, it’s not always the case.

![Cancellation screen with an offer, example](https://cdn.sanity.io/images/c3qnx9b0/production/d1dc245fb70ab73a6f99771255585991b05d3656-1448x1086.png)

In our [data from Google Play cancellation surveys](https://www.revenuecat.com/blog/growth/subscription-app-churn-reasons-how-to-fix), ‘not enough usage’ was the top reason subscribers canceled (37%), just ahead of cost (35%). As [Daphne Tideman puts it](https://www.revenuecat.com/blog/growth/not-enough-usage-churn): “If someone isn’t using the app, why would they care what it costs?”

Our [analysis of 22 million Apple retention messages](https://www.revenuecat.com/blog/growth/apple-retention-messaging-benchmarks) across 309 apps also found that subscribers accepted only about 1.1% of the discount offers and 0.6% of the plan switches they were shown.

![Chart of offer acceptance rates for Apple retention messages: about 1.1% for discount offers and 0.6% for plan switches](https://cdn.sanity.io/images/c3qnx9b0/production/ea2b75afb2b8ffd67e7786ee83f447688f4cf1af-3296x1736.png)

The revenue impact is another factor to consider.

In a recent experience by the audio stories app Dipsea, annual subscribers who tried to cancel saw either a message with no offer or the same message with 50% off.

The discount had a slightly higher save rate (22.1% vs 18.8%) but brought in less than half the revenue per subscriber so far ($1.24 vs $3.16).

![Bar charts comparing Dipsea’s no-offer and 50% off messages for annual subscribers: save rate of 18.8% vs 22.1%, and revenue per subscriber of $3.16 vs $1.24](https://cdn.sanity.io/images/c3qnx9b0/production/dda476a7db048fe31cae0022eb97080d1ee804c8-2048x1152.png)

Before deciding whether to offer a discount, try to answer the following:

- **Is price a common complaint?** Check reviews, support tickets, and cancellation surveys.
- **Who should get it?** In App Store Connect, you can set a minimum paid subscription duration to exclude trial users and brand-new subscribers, and choose which countries the offer is available in.
- **How often should the same subscriber get an offer?** Set a wait time between offers, so nobody gets a discount every time they try to cancel.
- **Is it working? **Use [RevenueCat Experiments](https://www.revenuecat.com/docs/tools/experiments-v1/experimenting-with-retention-messaging) to see what performs best for your audience. For example, you can show a message with no offer to one group and a message with a discount to another, then compare save rate and revenue. It requires Apple’s approval for real-time messages.

> **Tip:**
> Don’t mention the discount or price in your header or body (e.g., “Stay for 50% off”). Apple shows the offer and its price separately and rejects messages that mention them.

## Step 3: Write your message

The retention message subscribers see in Apple’s cancellation flow has a header and a short body. Use them to remind subscribers what their subscription includes, such as specific features, content, or perks.

If you’re approved for real-time messages, RevenueCat also lets you show different messages to different groups. Think of creating personalized messages for trial users and long-time subscribers, highlighting what matters most to each segment.

Three angles for a hypothetical meditation app:

- **Highlight what they’d lose**: ‘Keep your bedtime routine. If you cancel, you’ll move to the free plan and lose sleep stories and most of the session library.’
- **Address why they’re canceling**: ‘Short on time? Premium includes five-minute sessions for your busiest days, so you can keep your practice going.’
- **Tease what’s coming**: ‘A new sleep series drops every Monday. Stay Premium to hear each one as it’s released.’

![Example retention message for a meditation app with a sleep series image, reading ‘A new sleep series drops every Monday. Stay Premium to hear each one as it’s released.’](https://cdn.sanity.io/images/c3qnx9b0/production/bd7951f90ed595e8992b217cde096c118ae390c5-1448x1086.png)

Whichever angle you choose, the strongest messages pair a functional point with an emotional one.

The functional part names what subscribers would give up: sleep stories, five-minute sessions, offline downloads. The emotional part says why it matters: a calmer bedtime, a few quiet minutes in a busy day.

## Step 4: Add an image (optional)

You can also add an image of the premium content or features subscribers would lose, like sleep story artwork or a guided session screen for our meditation app.

This helps the message stand out on the cancellation screen and shows subscribers what they’d give up at a glance.

![Retention message on Apple’s cancellation screen with an image above the header and body text](https://cdn.sanity.io/images/c3qnx9b0/production/bd7951f90ed595e8992b217cde096c118ae390c5-1448x1086.png)

It’s optional, and it only appears when there’s no offer, or the subscriber isn’t eligible for it. When they are, Apple shows the offer in its place.

A few tips for getting it right:

- **Match the message:** Add a relevant visual that fits your header and body
- **Use original screens or content:** Subscribers will recognize screenshots or artwork from your app more easily than generic stock photos
- **Keep it clean:** Avoid long text or a cluttered layout
- **Use the right dimensions:** Apple accepts 3840 × 2160 or 5244 × 2950 pixels
## Step 5: Set up your message in App Store Connect

On your app’s Subscriptions page in [App Store Connect](https://appstoreconnect.apple.com/), select ‘Get Started’ on the Retention Messaging banner, then write the header and body. Everyone on the subscriptions you assign sees this text.

To add more languages, use the language menu next to Message Text. There’s no copy or auto-translate option, so you enter each one by hand.

In the same step, you can add an image from your asset library or upload a new one at 3840 × 2160 or 5244 × 2950 pixels.

![Set up screen + the image field in App Store Connect’s retention message setup, with options to choose from the asset library or upload a new image](https://cdn.sanity.io/images/c3qnx9b0/production/4eb81f4750d93896267e8f43958abfa8afaeb724-2631x1442.jpg)

To attach a retention offer, create it within the same flow.

First, choose how subscribers pay: a discounted price each billing period (pay as you go), one discounted payment for the whole offer (pay up front), or nothing for a set time (free).

Then set how long the offer lasts and its price. You set the price once, and Apple converts it for all 175 countries or regions. You can still adjust it for specific countries.

![Retention offer settings in App Store Connect, showing offer type, duration, and price](https://cdn.sanity.io/images/c3qnx9b0/production/e814e00e0c4890c04cdf7246402c4efc285f0337-1298x1000.png)

From here, choose the countries or regions where the offer is available.

![Country or Region Availability settings for a retention offer in App Store Connect](https://cdn.sanity.io/images/c3qnx9b0/production/8e4dd634bb27370d2fc19d09ca4dd242b2c9dfde-1334x654.png)

Next, set eligibility so the discount applies only to certain subscribers and excludes others, such as free trial users and subscribers who recently redeemed an offer.

There are two settings:

- **Minimum paid subscription duration** sets how long someone must have paid before they qualify
- **Wait between offers **sets how long after an offer ends before the same subscriber can redeem it again
Then, assign the message to your subscriptions.

You can use one message for all of them, or create separate ones (up to 10 per app) if you want different copy for each plan, like weekly, monthly, and annual. Each subscription can only have one message.

![Subscriptions & Offers section in App Store Connect, where you assign the retention message to a subscription, with a preview of the cancellation screen](https://cdn.sanity.io/images/c3qnx9b0/production/221f275f3999fe240a5ae765818515bf89a23eaf-2606x1331.jpg)

Finally, check the preview and submit the message for Apple’s review, and test the cancellation flow in sandbox.

Make sure each subscription shows the right message, the copy and image display properly in every language, and the offer terms and eligibility show up as intended.

For Apple’s own instructions, see [Configure retention messages in App Store Connect](https://developer.apple.com/help/app-store-connect/manage-subscriptions/configure-retention-messages/).

## Step 6: Measure whether it works

Once your message is live, start tracking how subscribers respond on the cancellation screen and how it impacts revenue over the following weeks.

Apple’s reporting shows what subscribers chose on the cancellation screen. With the real-time integration, RevenueCat’s retention messaging charts and Experiments also track whether saved subscribers keep paying.

Focus on these key metrics:

- **Save rate:** The share of subscribers who didn’t cancel within 24 hours or accepted the offer
- **Offer acceptance:** The share of subscribers who accepted the offer
- **Active and set to renew:** The share still subscribed with auto-renew on, which shows whether saves last
- **Churn:** The share who canceled after all
- **Realized LTV per customer:** The revenue each subscriber has actually brought in so far
The bottom line is: a higher save rate doesn’t always mean a better message.

That’s what happened in the Dipsea experiment. The discount had a slightly higher save rate, but fewer of those subscribers stayed set to renew, and each brought in less revenue than with no offer.

## Go further with RevenueCat’s real-time Retention Messaging

A retention message works best when it’s relevant to the subscriber seeing it. That means highlighting the right reason to stay, tailoring the message to each group of subscribers, and offering a discount only when it can truly change someone’s mind.

[RevenueCat’s Retention Messaging](https://www.revenuecat.com/feature/retention-messaging) connects to Apple’s cancellation flow in real time, so you can:

- **Target messages and offers:** Choose which message, plan, or offer each subscriber sees in Apple’s cancellation flow, based on trial status, purchase stage, and offer history
- **Manage messages across languages**: Auto-translate your copy, edit all locales in one screen, and copy existing messages to make setting up more products and audiences easier
- **Test and measure:** Compare messages and offers with RevenueCat Experiments, then see what happened after each cancellation, from saves to renewals and revenue
- **Skip the infrastructure work:** RevenueCat manages the real-time connection with Apple
To get started, you’ll need Apple’s approval for real-time messages. If you’ve already set up a message in App Store Connect, you can build on that with RevenueCat. The two work together, so you can add targeting and experiments when you’re ready. Our [setup guide](https://www.revenuecat.com/docs/platform-resources/apple-platform-resources/apple-retention-messaging-api) walks through each step.

---

## Related posts

- [Early Apple Retention Messaging benchmarks from 22M messages](https://www.revenuecat.com/blog/growth/apple-retention-messaging-benchmarks)
- [Understanding Apple’s Retention Messaging API (and how RevenueCat can help you with it)](https://www.revenuecat.com/blog/engineering/apple-retention-messaging-api)
