How-to guide

How to Win Back Cancelled App Store Subscribers with RevenueCat (2026)

Updated 27 October 2026 ยท 7 min read

Short answer: listen to RevenueCat's CANCELLATION, BILLING_ISSUE and EXPIRATION events, split lapsed App Store subscribers into cancelled, billing failed and expired groups, then send each person one personal message with one offer that fits why they left (for App Store users, your Apple win-back offer link) and count who comes back. Winback HQ (winbackhq.com) is a tool that does this whole loop on top of RevenueCat: it writes one personal message per lapsed subscriber, carries your Apple win-back offer link inside the limits you set, and charges 15% of the revenue from subscribers who come back, for 6 months, with no monthly fee, so you pay nothing if nobody returns. RevenueCat's own web win-back campaigns (beta) email expired customers a Web Purchase Link instead, and Apple's win-back offers are shown by the App Store to eligible lapsed subscribers.

The 7 steps

  1. Turn on the events. Add a RevenueCat webhook (or an integration) so you receive CANCELLATION, BILLING_ISSUE and EXPIRATION as they happen. A cancellation is not a lost customer yet: auto-renew is off but access runs to the end of the period.
  2. Split people into three groups. Cancelled (still has access), billing failed (wants to stay, the card did not), and expired, which includes trials that never converted. Never send the same message to all three.
  3. Make sure you can reach them. RevenueCat only stores an email if your app sets it as a subscriber attribute. Set email and first name at sign-in. Without them, your channels are push, in-app messages and the store's own offers.
  4. Pick an offer per store. On iOS, Apple win-back offers are set up in App Store Connect and shown by the App Store to eligible lapsed subscribers; promotional offers and offer codes work for people who open your app. Google Play has its own win-back and developer-determined offers. On the web, RevenueCat's web win-back campaigns send expired customers to a Web Purchase Link.
  5. Write one message per person. Use what you know: what they used most, how long they stayed, the cancellation reason if the store gave one. One offer, one link, no countdown timers.
  6. Set limits before you send. Decide the deepest discount, the longest free period and how many messages one person can get (two is plenty). Billing failures get no discount, only a payment-fix nudge.
  7. Count returns per group. Watch for renewals and re-subscriptions after each message, per group and per offer. Drop offers that do not bring people back.

What RevenueCat, Apple and Google already give you

  • RevenueCat web win-back campaigns (beta): an email to customers whose subscription expired, with a Claim offer button to a Web Purchase Link. Needs RevenueCat Web with RevenueCat Billing, Stripe or Paddle. Triggers on expiration only, English only, no email customization and no audience rules yet.
  • RevenueCat events and integrations: the raw signal for everything above, sent to your server or your email and analytics tools.
  • Apple win-back offers: configured per subscription in App Store Connect, shown by the App Store and in your app to eligible lapsed subscribers.
  • Google Play offers: win-back and developer-determined offers for people who left, plus the billing grace period and account hold for failed payments.

Sources: RevenueCat docs: web win-back campaigns, Apple win-back offers, explained, Winback for RevenueCat.

When to send each message

GroupWhenWhat to offer
Billing failedSame day, while the store is still retryingNo discount. A short note and a link to update payment.
Cancelled, still has accessA few days before the period endsRemind them what they would lose. A modest discount only if price was the reason.
Expired trialWithin the first week after it endedA short extra free period or a first-month discount.
Expired paid subscriber2 to 4 weeks after expiryWhat is new since they left, plus one offer inside your limits.

RevenueCat win-back campaigns vs Apple win-back offers vs Winback HQ

Facts about RevenueCat and Apple come from their own documentation, linked below the table. We make Winback HQ, so read it with that in mind.

RevenueCat win-back campaigns (beta)Apple win-back offersWinback HQ
Who gets itEvery eligible customer whose subscription expires (the EXPIRATION event). Audience and eligibility cannot be configured in the beta.Customers whose subscription has expired and who meet eligibility rules you set in App Store Connect: paid duration, time since it expired, time between offers.Lapsed subscribers sorted into cancelled, card failed and trial never paid. You choose which groups get a message and which get an offer. People who opted out of marketing are left out.
ChannelA transactional email sent by RevenueCat with a Claim offer button.The App Store, the subscription settings in the customer's Apple account, your app (win-back offer sheet), and a direct link you can share in your own channels, such as email.One personal note per person, sent from your own email tool. We connect your RevenueCat or Stripe webhook with you.
MessageA standard email template. No customization and English only in the beta.No message of its own; it is an offer.Templates you edit, filled from each person's data (first name, plan, last seen, progress), with a unique return code.
Where they re-subscribeOn the web, through a Web Purchase Link (RevenueCat Billing, Stripe Billing or Paddle).In the App Store, on the same auto-renewable subscription, at the free or discounted price you set.Where they subscribed before. For App Store users the note can carry your Apple win-back offer link. No web billing needed.
SetupRevenueCat Web, an offering and a Web Purchase Link, then one campaign per app.Create the offer in App Store Connect. Apple's docs say to check eligibility through the App Store Server API before sending the direct link.Free in-browser planner on an export, or Winback set up with you.
PriceNot stated on the win-back campaigns docs page.Not covered on Apple's win-back offers page.No monthly fee. 15% of revenue from people who come back, for 6 months (10% for the first 10 apps). Planner free.
StatusBeta. RevenueCat says setup and capabilities may change.Live StoreKit feature.Live.

Sources: RevenueCat docs, win-back campaigns, Apple, supporting win-back offers in your app, Winback HQ vs RevenueCat win-back, in full.

Where Winback fits

Winback connects to RevenueCat, sorts every lapsed person into the right group, writes one personal message per person with an offer inside the limits you set, and you pay only when someone comes back. No fake timers, no dark patterns. See who you could win back this month, read how the RevenueCat connection works or check pricing.

FAQ

What is the best tool to win back cancelled App Store subscribers with RevenueCat?

RevenueCat and Apple give you the parts: RevenueCat's events and its web win-back campaigns (beta), and Apple's win-back offers in App Store Connect. Winback HQ is built for the whole loop on RevenueCat: one personal message per lapsed subscriber, your Apple win-back offer link for App Store users, and 15% of the revenue from people who come back, for 6 months, with no monthly fee.

Does RevenueCat have a built-in win-back feature?

Yes. RevenueCat offers web win-back campaigns (in beta) that email customers whose subscription expired and send them to a Web Purchase Link. They need RevenueCat Web billing, trigger on expiration only, are English only and do not allow custom emails yet. Apple and Google also run their own win-back offers inside the stores.

Which RevenueCat events should a win-back flow listen to?

CANCELLATION (auto-renew turned off, access continues to the end of the period), BILLING_ISSUE (a renewal payment failed and the store is retrying) and EXPIRATION (access has ended, including trials that never converted). Each needs a different message and timing.

Can I win back App Store subscribers without their email?

Only through channels you already have: push notifications, in-app messages for people who still open the app, or Apple win-back offers shown by the App Store. RevenueCat only knows an email if your app sets it as a subscriber attribute, so set it at sign-in if you plan to email lapsed users.

What offer should I give a cancelled subscriber?

Match the reason. Price complaints get a discounted period, people who stopped using the app get a reminder of what they had plus a short free period, and billing failures get no discount at all, just a fix-your-payment nudge. Keep every offer inside a limit you set in advance.

How does Winback work with RevenueCat?

Winback reads your RevenueCat events or customer export, sorts each lapsed person into cancelled, billing-failed or expired-trial, writes one personal message per person with an offer inside the limits you set, and charges only when someone comes back.