To reduce subscription churn, catch subscribers before they cancel: send a WhatsApp reminder a few days before each renewal with clear options to skip, swap or pause, and follow up quickly when a payment fails. The two cancellation reasons merchants tell me about most often, "I've got too much product" and "my card changed", can both be fixed in a two-line chat.
Why do subscribers churn?
Subscription churn is the share of subscribers who stop in a given period. It comes in two kinds, and they need different fixes.
Voluntary churn: the customer decides to cancel. Too much product stacked up, they're travelling, they want to try a different flavour, money's tight this month, or they simply forgot they'd subscribed and got a surprise charge.
Involuntary churn: the subscription ends because a payment failed. Expired card, new card after fraud, insufficient funds on the renewal day. The customer often didn't want to leave at all.
WhatsApp helps with both, because it's fast, it's read, and the customer can reply.
For a one-off retention send, start with the eligible repeat buyers you can actually identify in Shopify, or upload an opted-in spreadsheet to WhatFlow Team Inbox. Personalize an approved template and test the product link before scheduling. If someone replies with a question, pick up that conversation in the same inbox instead of sending another automatic reminder. See the broadcast setup and checks.
What Shopify gives you to work with
Shopify subscriptions run through an app: either Shopify's own free Shopify Subscriptions app or a third-party subscription app from the Shopify App Store, according to Shopify's subscriptions documentation. With Shopify Subscriptions, merchants can skip and pause subscriptions, and customers can manage some of this from their customer account.
On the automation side, Shopify Flow includes subscription triggers such as:
Subscription billing attempt failure
Subscription billing attempt success
Subscription contract created and Subscription contract updated
WhatFlow adds WhatsApp actions to Shopify Flow, so any of those triggers can send an approved WhatsApp template. I'll be clear about the boundary: WhatFlow doesn't integrate directly with specific subscription apps. It works through Shopify Flow, so what you can automate depends on the events your subscription setup sends to Flow. Check your app's Flow triggers before you plan anything. Our guide to explains how to check.
Send a pre-renewal reminder with skip, swap and pause
Most voluntary churn is a customer who'd have stayed if they'd been asked "do you need this one?" a few days before the charge.
Hi Nadia, your next Morning Ritual box ships on Thursday, Nov 12 and we'll charge $34 on Tuesday. Need a change?
[Ship as usual] [Skip this month] [Swap flavour]
Why it works:
It names the date and the amount, so there's no surprise charge.
"Skip" is one tap, which beats cancelling just to avoid one box.
"Swap" handles the "I'm bored of this" reason.
How to time it. Shopify Flow's trigger list doesn't include a generic "renewal in three days" event, so check what your subscription app exposes. Some apps add an upcoming-order or upcoming-billing trigger to Flow. If yours does, connect it to WhatFlow's send-template action. If it doesn't, your app's own reminder notifications may be the better source for this message, and WhatsApp can handle the replies.
What happens when they tap. The tap comes back to your WhatsApp inbox, and WhatFlow's incoming-message trigger in Flow can route it: tag the customer, notify the person who handles subscriptions, or post it to a team channel. The skip or swap itself happens in your subscription app or the customer's account, so either your team makes the change or you reply with a link to the customer's account page. Routing incoming WhatsApp messages with Shopify Flow shows the pattern, and designing quick reply buttons helps you choose button wording.
Failed payment nudges that actually get cards updated
Involuntary churn is the most frustrating kind, because the customer didn't choose it. A WhatsApp message usually gets read faster than an email that lands next to the bank's own fraud alerts.
Set it up with Shopify Flow:
Trigger: Subscription billing attempt failure.
Action: WhatFlow's send-template action, with an approved template like the one below.
Optional: tag the customer so your team can see who's in a failed-payment state.
Hi Nadia, we couldn't process the payment for your Morning Ritual subscription. It's usually an expired or replaced card. You can update it securely here: morningritual.co/account
Your next box is on hold until then. Questions? Reply here.
Three rules:
Never ask for card details in chat. Always link to the secure account or update page. Scammers impersonate stores on WhatsApp with exactly this kind of message, so make yours easy to trust: same sender, your store name, your domain. Our guide to protecting customers from WhatsApp scams that impersonate your store covers how to tell customers what you'll never ask for.
Know your retry schedule. Your subscription app decides how often it retries a failed payment and what happens after the last attempt. Line your messages up with it: one after the first failure, one before the final retry.
Stop when it's fixed. If you have a billing attempt success trigger, use it to remove the failed-payment tag so nobody gets chased after they've paid.
Offer a pause before a cancel
When someone says "cancel", ask one question, once:
Totally fine, I can cancel that for you now. Before I do: would a pause help instead? We can hold your subscription for one, two or three months and pick up where you left off. If not, just say "cancel" and it's done.
That's it. If they say cancel, cancel it and confirm. Don't send a second save attempt, and don't make them email somewhere else to finish.
A pause works because many cancellations are about timing, not the product. Someone moving house or travelling for a month doesn't hate your coffee.
Swaps keep subscriptions interesting
"I'm bored of it" is a common reason to leave anything on repeat. If your products have variety (flavours, scents, colours, sizes), make swaps easy and mention them before boredom sets in.
Hi Nadia, you've had Hazelnut for four months running. This month we've got a small batch of Cardamom, if you'd like to swap just this box. Reply SWAP and we'll change it.
The same thinking applies to one-off consumables; our guide to replenishment reminders covers the non-subscription version.
Measure churn simply
You don't need a dashboard. Once a month:
Monthly churn rate = subscriptions cancelled during the month ÷ active subscriptions at the start of the month.
Track voluntary and involuntary separately, and note which messages you changed. If skips go up and cancellations go down, the pre-renewal reminder is doing its job. Say you start the month with 400 subscribers and 24 cancel: that's 6%. If next month 30 skip and 16 cancel, you've kept people who would have left.
A subscription message calendar
Put together, a lean WhatsApp plan for subscribers looks like this:
When
Message
Trigger
Subscription starts
Welcome: what arrives when, how to skip or pause
Subscription contract created
A few days before each renewal
Reminder with skip, swap and keep options
Your subscription app's upcoming-order trigger, if it has one
Payment fails
Secure link to update the card
Subscription billing attempt failure
Before the final retry
Second, shorter nudge
Your retry schedule
Payment succeeds after a failure
Short thank-you, tag removed
Subscription billing attempt success
Cancellation request
One pause offer, then cancel
Customer message in the chat
Every business-initiated message in that table needs a Meta-approved template and the customer's opt-in. Keep the renewal reminder strictly about the order (date, amount, options) so it stays clearly transactional.
Free plan available
Run WhatsApp for your Shopify store with WhatFlow
Templates, COD confirmation, Shopify Flow automations and a shared team inbox with no seat fees. Every feature is included on every plan, including Free.
Thank them, confirm the cancellation, and leave the door open:
Cancelled, no further charges. Thanks for being a subscriber, Nadia. If you ever want to come back, message here and we'll set it up in a minute.
A few months later, a single, useful win-back message is fair game if they've opted in. Building a customer win-back campaign covers how to make it about a reason to return rather than a discount.
Frequently asked questions
What is the difference between voluntary and involuntary churn?
Voluntary churn is when a subscriber chooses to cancel. Involuntary churn is when a subscription ends because a payment failed, often from an expired or replaced card, without the customer deciding to leave.
Can Shopify Flow detect a failed subscription payment?
Yes. Shopify Flow has a Subscription billing attempt failure trigger, which starts a workflow when a subscription billing attempt fails. You can connect it to a WhatsApp template action such as WhatFlow's.
Is it safe to ask subscribers for card details on WhatsApp?
No. Never ask for card numbers in chat. Send a link to the customer's account or your subscription app's update page so they enter payment details on a secure page.
Should I make it hard to cancel a subscription?
No. Offer a skip or pause before cancelling, but make cancelling itself simple. Subscribers who feel trapped complain and dispute charges, and they rarely come back.