Sync subscription inventory
Import apps, subscription groups, products, and promotional offers directly from App Store Connect. Detect missing offers, invalid configurations, and inconsistent metadata before deployment.
Apple Retention Messaging operations
Sync subscriptions from App Store Connect, manage promotional offers, build retention flows, run A/B tests, and respond to Apple retention requests in realtime - from a single system.
rules:
- name: yearly_winback
priority: 10
conditions:
productId:
in:
- premium.yearly
storefront:
in:
- USA
- GBR
response:
offer: SAVE50
title: Stay with Premium
{
"productId": "premium.yearly",
"storefront": "USA",
"environment": "production",
"selectedRule": "yearly_winback",
"offer": "SAVE50"
}
Problem
Retention Messaging requires coordinating App Store Connect promotional offers, subscription groups and SKUs, retention message payloads, realtime Apple requests, runtime routing logic, experimentation, and rollout safety.
Most teams end up with scripts, environment variables, spreadsheets, and manual App Store Connect workflows. RetainKit turns that into a deployable system.
What RetainKit does
Import apps, subscription groups, products, and promotional offers directly from App Store Connect. Detect missing offers, invalid configurations, and inconsistent metadata before deployment.
Define rules based on product ID, storefront, environment, subscription group, or transaction state. Attach promotional offers and localized messaging to deterministic runtime rules.
Deploy globally distributed retention endpoints on Cloudflare Workers. Published configs are compiled into immutable runtime snapshots for low-latency evaluation.
Test multiple offers, messages, and retention strategies safely. Compare retention flows by storefront, product, or rollout group without redeploying backend code.
Detect missing promotional offers, unreachable rules, invalid priorities, localization gaps, and broken flow configurations before they hit production.
Inspect retention request routing, latency, selected rules, and fallback behavior from a single dashboard.
Runtime architecture
Apple retention requests are latency-sensitive. RetainKit separates configuration management from runtime evaluation to keep request handling deterministic and fast.
Runtime requests never depend on App Store Connect APIs. Published retention flows are compiled into immutable runtime configs distributed globally through Cloudflare KV.
Experimentation
Retention behavior can be updated independently from your application backend. Deploy multiple retention flows and test promotional offer strategies, storefront-specific messaging, pricing experiments, cancellation winback flows, and localized retention messages. Roll back instantly if needed.
rules:
- name: yearly_winback
conditions:
productId:
in:
- premium.yearly
response:
offer: SAVE50
title: Stay with Premium
Operational workflow
Pull apps, subscription groups, products, and promotional offers from App Store Connect.
Check offer coverage, localization, priorities, fallbacks, and unreachable rules.
Compile retention flows into versioned snapshots and distribute them to the runtime.
Test request payloads, inspect selected rules, and roll back published configs.
Trace runtime decisions, latency, selected offers, and fallback behavior.
Technical details
Screenshots / UI
This build does not render synthetic product screenshots. Add real captures for subscription inventory, retention rule editing, runtime config diffs, request simulation, and runtime request logs when the product UI is ready.
Who this is for
Replace fragile scripts and manual App Store Connect workflows.
Deploy retention experiments safely across multiple SKUs and storefronts.
Test promotional offers and winback strategies without backend deployments.
Manage retention operations across multiple apps from a single system.
Pricing
$0
Usage based
Custom
FAQ
No. You can self-host runtime evaluation or use RetainKit-hosted endpoints.
No. RetainKit operationalizes retention workflows built on top of App Store Connect APIs.
Yes. Runtime configs can be exported and deployed independently.
Yes. Retention flows can be versioned, tested, and rolled back independently.
Yes. Runtime configs are distributed globally through Cloudflare Workers and KV.
RetainKit
RetainKit turns Apple Retention Messaging into a deployable operational system, not a collection of scripts.