Retention Messaging API: el mensaje antes de cancelar
Por Mehdi Azizi
Publicado el , 10 min
La Retention Messaging API de Apple muestra tu mensaje cuando un suscriptor toca Cancel Subscription. Formatos, requisitos, acceso y configuración.
La Retention Messaging API es un servicio de Apple, de servidor a servidor, que le muestra tu mensaje a un suscriptor en el momento en que toca Cancel Subscription. El mensaje aparece en una página de confirmación, antes de que se valide la cancelación. Puede recordar el valor de tu suscripción, proponer otro plan o una oferta promocional, pero el botón para cancelar siempre sigue ahí. La API está en versión preliminar desde julio de 2025, con solicitud de acceso, y Apple anunció una versión más sencilla en App Store Connect para el otoño de 2026.
Esta guía explica qué muestra la API, desde cuándo existe, quién puede usarla, sus requisitos y su configuración. Todo viene de la documentación de Apple y de la sesión de la WWDC26 dedicada a ella, revisadas el 3 de noviembre de 2026.
Vendo suscripciones en mis apps de iOS: Solys, un bloqueador de redes sociales, TradaZen, un simulador de trading, Nolera, una app para probarse ropa con IA, y Vigie. Pedí acceso a la API para las cuatro el 25 de octubre de 2026 y preparé sus mensajes en todos sus idiomas. El 28 de octubre, la aprobación de Apple todavía no había llegado: esta guía describe entonces la regla y mi preparación, todavía no resultados.
Qué hace la Retention Messaging API
Según la documentación de Apple, la API te deja elegir el mensaje que el sistema muestra cuando un cliente consulta la página de detalle de una suscripción y quizás está a punto de cancelar. Preparas tus mensajes por adelantado, para cada producto y cada idioma.
El recorrido siempre es el mismo:
- El suscriptor abre su suscripción, por ejemplo en Apple Account, Subscriptions, o desde el App Store.
- Toca Cancel Subscription.
- El sistema muestra una página de confirmación (Confirm Cancellation), con tu mensaje.
- Puede cancelar de todos modos, conservar su suscripción o aceptar lo que propone tu mensaje.
El mensaje se ve en iOS 15.1 e iPadOS 15.1 o posterior, en visionOS 1 y en macOS 14 o posterior.
Desde cuándo y para quién
| Fecha | Qué cambia, según Apple |
|---|---|
| 16 jul. 2025 | Versión 1.0: primera versión preliminar de la API |
| 9 dic. 2025 | Prueba de rendimiento del servidor para el tiempo real |
| 31 mar. 2026 | Viñetas en los mensajes, configuración de la dirección en tiempo real por la API |
| 27 abr. 2026 | Soporte de suscripciones mensuales con compromiso de 12 meses |
| Junio 2026 | WWDC26: anuncio de un módulo en App Store Connect |
Las fechas vienen del registro de versiones de la API, salvo la última, tomada de la sesión de la WWDC26. La API sigue siendo una versión preliminar: la documentación remite a un formulario de solicitud de acceso, que pide iniciar sesión en tu cuenta de desarrollador.
En la WWDC26, la sesión Explore Retention Messaging in App Store Connect presenta un módulo configurable sin código, en App Store Connect. Apple dice que está «abierto a todos». La versión en tiempo real, en cambio, sigue siendo bajo solicitud. La página de novedades del App Store anuncia el módulo para «este otoño». Al 3 de noviembre de 2026, la ayuda de App Store Connect todavía no le dedica ninguna página, y el módulo no aparecía en mi cuenta el 28 de octubre.
La API es para las apps que venden una suscripción con renovación automática. No está reservada a los grandes editores: RevenueCat señala en su estudio de 22 millones de mensajes que las apps pequeñas también pueden pedir acceso.
Los 4 tipos de mensajes
| Tipo | Qué ve el suscriptor | Mensaje predeterminado | Tiempo real |
|---|---|---|---|
| Texto | Un título, un texto, hasta cinco viñetas | Sí | Sí |
| Texto con imagen | Lo mismo, con una imagen | Sí | Sí |
| Cambio de plan | Un texto y otra suscripción del mismo grupo | No | Sí |
| Oferta promocional | Un texto y una oferta para continuar a precio reducido | No | Sí |
Según la página sobre la preparación de los mensajes, un mensaje predeterminado solo puede ser un texto, con o sin imagen. Con la API, proponer una oferta u otro plan exige responder en tiempo real. El módulo anunciado en App Store Connect, en cambio, permitirá un mensaje con una oferta, sin servidor.
La oferta promocional es la que creas en App Store Connect. Según la ayuda sobre las ofertas promocionales, está dirigida a suscriptores actuales y antiguos. En un mensaje de retención, la firma tu servidor, según la página sobre la preparación de los mensajes. El cambio de plan propone una suscripción del mismo grupo. Si estás empezando con estas ofertas, lee primero mi guía sobre los códigos de oferta y las ofertas promocionales.
Qué puedes mostrar: los límites exactos
| Elemento | Límite de Apple |
|---|---|
| Título | 66 caracteres como máximo |
| Texto | 144 caracteres como máximo |
| Viñetas | 5 como máximo |
| Imagen a ancho completo | PNG sin transparencia, 3840 px de ancho, de 160 a 2160 de alto |
| Imagen de viñeta | 1024 × 1024 px |
| Imágenes por app | 2000 como máximo |
Las longitudes vienen de la descripción del cuerpo de la solicitud de envío de un mensaje, y los formatos de la página sobre el envío de una imagen. Apple también pide imágenes que funcionen igual de bien en modo claro que en modo oscuro.
Apple revisa cada mensaje y cada imagen. Su estado pasa de PENDING a APPROVED, y el sistema solo muestra lo aprobado. En sandbox, la aprobación es automática. La documentación establece una regla de contenido clara: no enviar nada engañoso ni inexacto.
Los requisitos que debes cumplir
- Un mensaje predeterminado para cada producto, en cada idioma. Sin él, no se muestra nada en ese idioma. También es el plan de respaldo si tu servidor no responde.
- Mensajes e imágenes aprobados antes de cualquier publicación.
- Para el tiempo real, un servidor rápido. La página sobre la configuración de la dirección en tiempo real exige un certificado SSL válido, TLS 1.2 y una respuesta en menos de 700 ms en producción. Si tarda más, la solicitud falla y se muestra el mensaje predeterminado.
- Una prueba de rendimiento aprobada en sandbox, antes de declarar tu dirección de producción.
- Una verificación de la app. Cada solicitud de Apple contiene el identificador de la app,
appAppleId. Si no coincide con el tuyo, Apple pide no responder.
La solicitud en tiempo real te da el identificador de la transacción original, el producto y el idioma del dispositivo. Te toca a ti elegir el mensaje, según tus reglas.
Configurar la Retention Messaging: tres vías
| Vía | Para quién | Qué se necesita |
|---|---|---|
| Módulo App Store Connect | Todos, una vez que salga | Nada de código; texto, imagen u oferta |
| API, con tu servidor | Quienes tienen un backend | Acceso de Apple, dirección HTTPS, prueba de rendimiento |
| API, con RevenueCat | Las apps que ya usan RevenueCat | Acceso de Apple, ajustes en el panel |
Cuando conviven varias configuraciones, Apple explica en la sesión de la WWDC26 el orden que sigue: primero la respuesta en tiempo real. Si falta o está mal formada, la configuración de App Store Connect. Si no existe, el mensaje predeterminado configurado por la API.
Con tu propio servidor
- Pide acceso con el formulario de Apple.
- Envía tus imágenes y luego tus mensajes, con un título y un texto para cada uno.
- Espera a que los aprueben y luego declara un mensaje predeterminado para cada suscripción y cada idioma.
- Para el tiempo real, crea la dirección
Get Retention Messageen tu servidor y declárala en sandbox. - Ejecuta la prueba de rendimiento, en sandbox, con una transacción de prueba.
- Cuando la prueba salga bien, declara tu dirección de producción.
Con RevenueCat
Es la vía que elegí: no hay servidor que escribir, y mis apps ya pasan por RevenueCat, como explico en RevenueCat y la suscripción in-app en iOS. Según la documentación de RevenueCat:
- En el formulario de Apple, la dirección que debes dar es la que RevenueCat muestra en los ajustes de tu app del App Store.
- Después de la aprobación, abre Lifecycle, luego Retention, y conecta la dirección de sandbox.
- Ejecuta la prueba de rendimiento con una suscripción de sandbox o de TestFlight activa. Puede durar hasta una hora.
- Crea primero un mensaje predeterminado, idioma por idioma.
- Después agrega mensajes en tiempo real, con reglas. Una de ellas, «Is in free trial», apunta a las personas en prueba gratuita.
- Pasa a producción: los ajustes de sandbox no se transfieren, hay que volver a crear los mensajes.
Escribir un mensaje que retenga sin engañar
El texto es fijo y Apple lo revisa antes de mostrarlo. Por lo tanto, no puede hablar de la persona que lo lee ni del día en que lo lee. Este es el mensaje predeterminado que preparé para TradaZen, en francés (aquí traducido):
Título:
¿Querías aprender a hacer trading y te vas a ciegas?
Texto:
Sin práctica, tu dinero real paga cada error. Aquí no cuestan nada. Tu racha, tu liga y tus lecciones se detienen.
Las reglas que me puse para mis cuatro apps:
- El título le recuerda a la persona su objetivo, en forma de pregunta. No la avergüenza.
- El texto dice exactamente qué se detiene. Escribo que el acceso «se bloquea» cuando los datos se conservan, nunca que «se eliminarán».
- Ninguna palabra de tiempo como «mañana» u «hoy»: el mismo texto se muestra en cualquier momento del período.
- Ninguna promesa de ganancias, ninguna urgencia falsa. Un primer título que prometía cambiar de vida gracias al trading se descartó antes del envío. La guideline 5.6 prohíbe cualquier práctica manipuladora, y el paywall de TradaZen ya fue rechazado por ese motivo, como cuento en la guideline 5.6 y el paywall.
- Cada idioma tiene su propio texto, con el vocabulario de la app traducida, y contado carácter por carácter.
Para TradaZen, también tengo previsto un mensaje en tiempo real para las personas en prueba de la suscripción anual. Les propondrá un plan anual más barato del mismo grupo, porque mis cifras muestran que estas personas usan la app tanto como las que pagan: lo que rechazan es el precio. Esta configuración espera la aprobación de Apple.
Qué puedes esperar
No cuentes con un milagro. Apple llama tasa de rescate a la proporción de suscriptores que conservan su suscripción una vez que llegan a la página de confirmación. En la sesión de la WWDC26, Apple anuncia que las suscripciones que adoptaron la Retention Messaging ganan en promedio 1,4 puntos de esa tasa. Los mensajes con una oferta promocional logran la mayor ganancia observada, 5,5 puntos, y los resultados varían de un desarrollador a otro. Por su parte, el estudio de RevenueCat indica que los suscriptores solo aceptan alrededor del 1,1 % de las ofertas promocionales y el 0,6 % de los cambios de plan.
Así que el mensaje no reemplaza el trabajo previo. Una prueba gratuita que se cancela al minuto se decide en el paywall y en las primeras sesiones: las causas y las palancas están en mi guía sobre la prueba gratuita cancelada, y la creación de la prueba en la oferta introductoria.
Preparar tu suscripción antes del mensaje
El iOS & Android Kit parte del código base de mis apps: el onboarding, el paywall y las suscripciones ya están programados, y el recorrido en cuatro etapas te lleva hasta el App Store, a tu ritmo. Toda la cadena, desde los productos en App Store Connect hasta el paywall, está descrita en la página suscripción in-app en iOS.
Si estás preparando tu primer lanzamiento, haz tu diagnóstico gratuito: te dice qué está frenando de verdad tu proyecto y te envía mi checklist antirrechazo de Apple.
Preguntas frecuentes
¿Qué es la Retention Messaging API de Apple?
Es un servicio de servidor a servidor que elige el mensaje que se le muestra a un suscriptor cuando toca Cancel Subscription. El mensaje aparece en una página de confirmación, antes de la cancelación. Puede recordar el valor de la suscripción, proponer otro plan o una oferta promocional.
¿La Retention Messaging está disponible para todos los desarrolladores?
La API es una versión preliminar, con solicitud de acceso a Apple. En la WWDC26, Apple anunció un módulo en App Store Connect, abierto a todos, previsto para el otoño de 2026. Al 3 de noviembre de 2026, la ayuda de App Store Connect todavía no lo describe.
¿En qué versiones de iOS se muestra el mensaje?
En iOS 15.1 e iPadOS 15.1 o posterior, en visionOS 1 y en macOS 14 o posterior. En un dispositivo más antiguo, la cancelación se hace sin mensaje.
¿El mensaje impide que el suscriptor cancele?
No. La página de confirmación conserva un botón para cancelar. El suscriptor también puede conservar su suscripción o aceptar la oferta o el plan propuesto.
¿Se puede ofrecer un descuento en el momento de la cancelación?
Sí. Con la API, es un mensaje de oferta promocional, solo en tiempo real: la oferta se crea en App Store Connect y la firma tu servidor. El módulo anunciado en App Store Connect también permite un mensaje con una oferta. El cambio de plan, por su parte, propone otra suscripción del mismo grupo.
¿Cuántos caracteres tiene un mensaje de retención?
El título tiene 66 caracteres como máximo y el texto 144. Puedes agregar hasta cinco viñetas y una imagen PNG sin transparencia. Cada idioma necesita su propio mensaje predeterminado.
¿Se necesita un servidor para usar la Retention Messaging?
Para los mensajes predeterminados no tienes que alojar ninguna dirección: basta con llamar a la API para enviarlos y declararlos. Con RevenueCat, es él quien cumple el papel del servidor. El tiempo real exige una dirección HTTPS que responda en menos de 700 ms. El módulo anunciado en App Store Connect se configura sin código.

