Free
$0
forever
Get started freeUnlimited sandbox testing
Apple Retention Messaging
When a subscriber taps cancel, Apple calls one URL and waits ~700ms for an answer. RetainKit is that URL — and the place your marketer writes the rule, in a sentence, with no deploy and no SDK.
Free forever tier · no Apple key needed to explore · Apple approval needed for production
The whole configuration surface: one sentence, one preview.
How it works
01
Subscriber taps cancel
Inside Apple's subscription settings — nothing in your app.
02
Apple POSTs your URL
The realtime retention callback, registered for you at setup.
03 · RetainKit
We pick the rule and sign
Your published flow decides, the offer signature is generated at the edge.
04
Offer shows in ~80ms
Well inside Apple's response window, from the nearest edge.
Runtime · the endpoint, the last calls, and the exact response Apple got.
Outcomes
Every offer served gets polled against Apple's Subscription Status API until it settles, so the number you report is what actually happened to the subscription.
Per flow, per offer, per A/B arm — with 30-day trend.
Significance testing with a p-value and a winner call.
Polling runs itself every five minutes; data accrues while you sleep.
Why this instead of building it
We host the callback and register it with Apple from your .p8. Server-to-server, so no app release and no SDK. Point it at your own backend later if you'd rather.
Rules read as sentences, priority is drag order, and one Publish ships it. The iOS sheet previews live as you type, so nobody has to imagine it.
Two-arm or multi-variant tests with real significance stats, and an estimate of how many more events you need before the result means anything.
In production
The callback path is kept small, isolated, and independent from live App Store Connect reads.
Runtime
Cloudflare Workers, with DDoS protection, WAF, and rate limiting at the edge.
Published config
Runtime requests evaluate a controlled published config, not a live dashboard draft.
Environment isolation
Sandbox and production use separate runtime configurations and storage.
Sensitive data
App Store Connect keys are encrypted; transaction identifiers are hashed in runtime logs.
One prerequisite
Retention Messaging is new, and Apple asks developers to request access before using it in production. You can build and test your flows in sandbox today while that's pending — we'll walk you through the request.
Pricing
Free
$0
forever
Get started freeUnlimited sandbox testing
Launch
MOST TEAMS$49/mo
14-day trial
Start 14-day trialTrial starts once Apple access is approved
Growth
$149/mo
targeting by subscriber state
Start GrowthMonths subscribed, lifetime spend, renewal date
Implementation notes
Build your first flow in sandbox today, publish it the day Apple approves your access.
Free forever tier · no credit card · no Apple key to explore