Benchmarks

WhatsApp for Subscription Brands: Cut Churn, Save Payments

Nils SpölgenAugust 13, 20267 min readLast reviewed: August 2026
Keaz cover: WhatsApp retention flows for subscription brands — skip, swap, pause, failed-payment recovery and cancel-save

In short

The three WhatsApp flows that move subscription churn: skip/swap/pause at 17.2%, failed-payment recovery at 14.8%, cancel-save at 12.5%. How to set them up.

If you sell subscriptions, the WhatsApp flow that earns most is not a welcome message. It is the renewal notice that offers to skip, swap or pause — plus the two flows either side of it: the failed-payment notice and the cancel-save offer. Across Keaz customers in the subscription vertical those three convert at 17.2%, 14.8% and 12.5%, and the vertical as a whole carries the highest revenue uplift band we publish.

TL;DR

  • +15–22% revenue over 90 days against an email-only baseline — the highest uplift band of the ten verticals we publish figures for.
  • 17.2% conversion on skip/swap/pause, 14.8% on failed-payment recovery, 12.5% on cancel-save.
  • Roughly a third of ecommerce subscription churn is involuntary — 1.38 of 4.25 percentage points in Recurly network data, July 2026 — which means it is a messaging problem, not a product problem.

Why does WhatsApp work as a retention channel for subscriptions?

Subscription brands are the strongest vertical in our own data. The subscription profile on our Industries page reads 96% open rate, 45% click-through, 12–18% click-to-purchase conversion and 82% repurchase within 90 days — the highest repurchase figure of any vertical listed there.

The reason is structural rather than clever copy. A subscription already has a rhythm: every renewal is a scheduled moment where a customer either continues or quietly stops. Email lands in an inbox that is already full, and the decisions you need from a subscriber are small ones — skip this month, swap the flavour, pause until March. Small decisions belong in the channel where people answer in minutes.

Those figures are bands rather than single numbers on purpose; how the Forecast is calculated sets out where they come from. And WhatsApp complements email here rather than replacing it: keep receipts, invoices and long-form content in the inbox, and put the time-sensitive decisions on WhatsApp.

Which three flows actually move churn?

Three flows cover the moments where subscription revenue is actually won or lost. The conversion figures are click-to-purchase rates from Keaz customers in this vertical.

  1. Renewal notice with skip, swap or pause — 17.2%. Sent a few days before the next shipment: the plan, the ship date, and three one-tap options. It reads as a service message, not a campaign, and it catches the dissatisfaction that would otherwise turn into a cancellation.
  2. Failed-payment notice — 14.8%. A card expired or a bank declined a renewal. The subscriber did not choose to leave and often does not know it happened, so a short message with a link to update the card recovers revenue that no retention offer needs to buy back.
  3. Cancel-save — 12.5%. Triggered when someone starts to cancel. One alternative, offered once: a one-month pause, a smaller box, a longer interval. The goal is to keep the relationship, not to win the argument.

All three are retention flows, which is why they convert well above acquisition messaging: the recipient is already a customer with a live plan. For the acquisition side of the same channel, the food and beverage playbook covers the reorder rhythm, and RFM segmentation for Shopify stores is how you decide which subscribers deserve a save offer at all.

How does a failed payment reach WhatsApp?

Keaz has no native "subscription renewal" or "failed payment" trigger, and it is worth being precise about that before you plan a flow around one. A flow starts from one of five triggers: Contact Purchase and Abandoned Checkout, both Shopify events; Smart Activation, which is Keaz-internal; Chat-in, when the customer writes first; and Webhook, for events that happen outside Keaz.

Subscription renewals, failed payments and cancellations are not Shopify order events — they live in whatever tool owns the billing schedule. So they arrive through the Webhook trigger, which is documented for exactly this case: a payment confirmed, or a payment that failed, sent to Keaz as an HTTP request. Because the payload carries your own fields, the message can name the plan and the amount instead of announcing that there was a problem.

  1. Create a flow under Flows and open the Starting point block.
  2. Select Webhook as the trigger event.
  3. Configure the outgoing webhook in your subscription or billing tool. This step differs per system, because every tool describes its outgoing webhooks differently.
  4. Write the message using the fields the payload sends, and add a quick reply or link that resolves the event in one tap.
  5. Save, then activate the flow and watch the first live sends before adding delay steps.

Three things have to be in place, all covered in the flows overview: the sending system has to know which contact the event belongs to, the contact has to exist in Keaz and be matchable to the payload, and the contact has to hold a valid opt-in. A webhook proves that an event happened. It does not establish that you may message someone about it.

What makes a cancel-save offer work?

The instinct is a discount. The better first offer is usually a pause. In Recurly's 2026 State of Subscriptions report, 38% of consumers said they would rather pause than cancel; brands that added a pause option saw pause usage rise sharply, and three in four of those subscribers returned within months.

A pause protects the price you sell at. A discount teaches subscribers that threatening to cancel is worth money, and the margin never fully comes back. Keep the discount as a second offer, if at all, and never in the same message.

Then measure it. Revenue is attributed per flow through a discount code that you create in Keaz and that Keaz creates in your shop, so orders redeeming that code are credited to that flow. Each flow needs its own code — reuse one across the renewal notice and the cancel-save and you can no longer tell which of the two saved the subscriber.

Common mistakes

  • Treating the webhook as permission. A failed payment is a real event and still not a licence to message. The opt-in has to exist independently, and it has to be documented.
  • Counting a skip or a pause as a loss. A skipped month keeps the plan alive. Measured against a cancellation it is the good outcome, so the renewal flow should be judged on retained plans, not on shipments.
  • Leading the save with money. Discount-first cancel-save flows convert, then erode price integrity across the whole base.
  • Sending the renewal notice on the renewal day. If the charge has already gone through, skip and swap are no longer available and the message creates a support ticket instead of a decision.
  • Writing the failed-payment message like a dunning letter. The subscriber is not a debtor; a card expired. Neutral wording and one link to update the card outperform urgency.
  • Sharing one discount code across flows. Attribution collapses, and the flow you would have cut looks identical to the one you should scale.

Frequently asked questions

Do I need a subscription app on Shopify for this?

Something has to own the billing schedule and decide when a renewal is due or a payment has failed. Keaz does not replace that system; it reacts to it. As long as your subscription or billing tool can send an HTTP request when an event occurs, the flow can run.

Is there a native failed-payment trigger in Keaz?

No. There are five triggers, and the Webhook trigger is the supported path for subscription and payment events. The message templates for each vertical are in the template library.

Will offering a pause cost me revenue?

It defers revenue rather than losing it, which is the trade you want against a cancellation. The published evidence points the same way: most subscribers who pause come back, and a paused plan can be restarted without a new acquisition cost.

How long should a failed-payment sequence be?

A flow can be a single message or several with delay blocks in between, and there is no fixed limit on steps. For failed payments, start with one message and one reminder; if the card is not updated after two attempts, the problem is usually not the message.

How much of subscription churn can messaging realistically fix?

The involuntary part, mostly. In Recurly's churn benchmarks (network data, July 2026) ecommerce runs a median 4.25% churn, of which 1.38 points are involuntary — roughly a third, and the part that responds to a well-timed message rather than to a product change.

For a subscription brand, WhatsApp is a retention channel first. Build the three flows in order of return — renewal notice with skip, swap and pause; failed-payment recovery; cancel-save — wire the subscription events in through the Webhook trigger, and give each flow its own discount code so you can tell what worked. That sequence is what produces the +15–22% band over 90 days rather than the channel itself.

To see what those flows would be worth on your own order data, run the Keaz Forecast.

This article is a summary of how we approach consent in messaging flows rather than legal advice — have your own counsel review your opt-in setup.

Frequently asked questions

Why does WhatsApp work as a retention channel for subscriptions?
Subscription brands are the strongest vertical in our own data. The subscription profile on our Industries page reads 96% open rate, 45% click-through, 12–18% click-to-purchase conversion and 82% repurchase within 90 days — the highest repurchase figure of any vertical listed there. The reason is structural rather than clever copy. A subscription already has a rhythm: every renewal is a scheduled moment where a customer either continues or quietly stops. Email lands in an inbox that is already full, and the decisions you need from a subscriber are small ones — skip this month, swap the flavour, pause until March. Small decisions belong in the channel where people answer in minutes. Those figures are bands rather than single numbers on purpose; how the Forecast is calculated sets out where they come from. And WhatsApp complements email here rather than replacing it: keep receipts, invoices and long-form content in the inbox, and put the time-sensitive decisions on WhatsApp.
Which three flows actually move churn?
Three flows cover the moments where subscription revenue is actually won or lost. The conversion figures are click-to-purchase rates from Keaz customers in this vertical. Renewal notice with skip, swap or pause — 17.2%. Sent a few days before the next shipment: the plan, the ship date, and three one-tap options. It reads as a service message, not a campaign, and it catches the dissatisfaction that would otherwise turn into a cancellation. Failed-payment notice — 14.8%. A card expired or a bank declined a renewal. The subscriber did not choose to leave and often does not know it happened, so a short message with a link to update the card recovers revenue that no retention offer needs to buy back. Cancel-save — 12.5%. Triggered when someone starts to cancel. One alternative, offered once: a one-month pause, a smaller box, a longer interval. The goal is to keep the relationship, not to win the argument. All three are retention flows, which is why they convert well above acquisition messaging: the recipient is already a customer with a live plan. For the acquisition side of the same channel, the food and beverage playbook covers the reorder rhythm, and RFM segmentation for Shopify stores is how you decide which subscribers deserve a save offer at all.
How does a failed payment reach WhatsApp?
Keaz has no native "subscription renewal" or "failed payment" trigger, and it is worth being precise about that before you plan a flow around one. A flow starts from one of five triggers: Contact Purchase and Abandoned Checkout, both Shopify events; Smart Activation, which is Keaz-internal; Chat-in, when the customer writes first; and Webhook, for events that happen outside Keaz. Subscription renewals, failed payments and cancellations are not Shopify order events — they live in whatever tool owns the billing schedule. So they arrive through the Webhook trigger, which is documented for exactly this case: a payment confirmed, or a payment that failed, sent to Keaz as an HTTP request. Because the payload carries your own fields, the message can name the plan and the amount instead of announcing that there was a problem. Create a flow under Flows and open the Starting point block. Select Webhook as the trigger event. Configure the outgoing webhook in your subscription or billing tool. This step differs per system, because every tool describes its outgoing webhooks differently. Write the message using the fields the payload sends, and add a quick reply or link that resolves the event in one tap. Save, then activate the flow and watch the first live sends before adding delay steps. Three things have to be in place, all covered in the flows overview: the sending system has to know which contact the event belongs to, the contact has to exist in Keaz and be matchable to the payload, and the contact has to hold a valid opt-in. A webhook proves that an event happened. It does not establish that you may message someone about it.
What makes a cancel-save offer work?
The instinct is a discount. The better first offer is usually a pause. In Recurly's 2026 State of Subscriptions report, 38% of consumers said they would rather pause than cancel; brands that added a pause option saw pause usage rise sharply, and three in four of those subscribers returned within months. A pause protects the price you sell at. A discount teaches subscribers that threatening to cancel is worth money, and the margin never fully comes back. Keep the discount as a second offer, if at all, and never in the same message. Then measure it. Revenue is attributed per flow through a discount code that you create in Keaz and that Keaz creates in your shop, so orders redeeming that code are credited to that flow. Each flow needs its own code — reuse one across the renewal notice and the cancel-save and you can no longer tell which of the two saved the subscriber.
Nils Spölgen

Nils Spölgen

Founder at Keaz. Serial founder in chat marketing — built a local agency into Keaz, the WhatsApp marketing platform for Shopify. Bootstrapped the MVP, raised funding, and scaled to 200+ merchants in DACH. Writes about flows, opt-in & GDPR, Klaviyo, and realistic revenue benchmarks — prefers conservative math over impressive claims. View profile

Get the WhatsApp growth playbook

Tactics, benchmarks, and templates — straight to your inbox. No spam.

Back to blog