What I Got Wrong Migrating a Shopify Subscription App
A merchant asked if switching their Shopify subscription app would save money. It did - and cost them subscribers. Here's what I missed.

Renata runs a hot-sauce club. About 600 people pay her around $28 a month for three bottles and a recipe card, and for two years that number only went up. Then it went down. Not from cancellations she could watch happen in her dashboard, but from a migration I told her to do. She had asked me a reasonable question, I gave her a reasonable answer, and it still cost her customers.
What happened
Renata was on Recharge. Her plan was the Standard tier: $99 a month base, plus 1.25% and 19 cents on every transaction. With 600 subscribers billing once a month, her real Recharge bill landed closer to $290 than $99. She had noticed. The question she brought to our chat was simple - would moving to a cheaper Shopify subscription app save her actual money?
I ran the numbers with her. Seal Subscriptions and Appstle both sat well below Recharge for a store her size, call it a $200-a-month difference, every month. That is a real figure for a business doing about $17,000 in monthly recurring revenue. I told her the move made sense. She started the migration the following week.
It took about two and a half weeks. Recharge does not hand your subscriptions to another app. You export your subscriber records across two or three separate CSV files, reconcile them by hand, and feed them into the receiving app's migration wizard. The wizard does what it can. The part it cannot do is move the payment tokens, because the token for each recurring charge is bound to the contract the original app created.
So a chunk of Renata's customers got an email asking them to re-enter their card. Most did. Not all. When the dust settled she had lost about 11% of her active subscribers, roughly 65 people. At $28 a month, that is around $1,800 in recurring revenue, gone, every month from then on. The $200 we were saving on app fees suddenly looked very small.
Why it happened
The mistake was not the math. The math was right. The mistake was that I answered the question she asked instead of the question that mattered.
She asked which app was cheaper. The question underneath it was: what does it cost to leave the app you are already on? And the honest answer is that the cost of leaving a Shopify subscription app is not a number you can read off a pricing page. It is the subscribers who do not re-authorize their card during the migration window. Industry migration guides put that loss at 5 to 15% of an active base, and nothing about Renata's store made her an exception.
Here is the part I think is genuinely under-discussed. When you install a Shopify subscription app, you are not just picking a monthly fee. You are deciding where your customers' payment tokens will live, and you are setting the size of the bill you will pay the day you ever want to move. A cheap app does not remove that bill. It defers it. Renata's $99 plan and the $200-cheaper alternative carried the same lock-in - the lock-in is built into how recurring contracts work on Shopify, not a premium feature Recharge invented.
If I had framed it that way in our chat, Renata might still have moved. The fee gap is real. But she would have moved knowing the break-even was not month one. At $1,800 of lost monthly revenue against $200 saved, the switch does not pay for itself for nine months, and the lost subscribers are not coming back, so really it never fully does.
What I did next
The lost subscribers were lost. What I could still work on was the bleeding that had not stopped yet.
First, the recovery flow. Every Shopify subscription app has one: it retries a failed charge and emails the customer to fix their card. On Renata's new app it was not enabled by default, and nobody had turned it on. That matters more than it sounds. Something like 20 to 40% of subscription churn is involuntary - a card expired, a bank declined a recurring charge, a token went stale - and a good share of those failures are recoverable if the app actually retries. We switched the flow on the same afternoon. Her involuntary churn dropped inside two billing cycles.
Second, I had her pull every failed charge and read the decline reasons. A handful came back as PURCHASE_TYPE_NOT_SUPPORTED_BY_CARD. That one is not the app's fault and not Renata's. It means the customer's card issuer is blocking merchant-initiated recurring charges, which happens with some prepaid and debit cards. Those customers needed a nudge to add a different card. The app could not fix it, but Renata could ask.
Third, we wrote a plain re-authorization email for the people who had dropped during the migration and never came back. Not a discount, not a guilt trip, just a one-click link to restart their subscription. It won back about a dozen of the 65. Not nothing. If you are staring at a migration that went sideways and you are not sure which lever to pull first, this is the kind of thing a help1 expert chat is good for: a second read on the wreckage before you start moving things again.
What I'd catch earlier next time
I still help merchants move off Shopify subscription apps. The fee gap is sometimes too big to ignore, and some of the cheaper apps genuinely are fine for a straightforward store. What changed is the conversation I have before anyone exports a CSV.
I check the real bill, not the headline price. A $99 plan with per-transaction fees on 600 subscribers is a $290 plan. Compare like for like.
I check where the payment tokens live. Tokens in Shopify Payments tend to migrate more cleanly than tokens in a legacy Stripe or Braintree vault. If they are in a third-party vault, the drop-off risk goes up, and the merchant should hear that out loud, not discover it.
I do the break-even math on lost revenue, not on saved fees. Take the expected subscriber loss, 5 to 15%, times the average subscription value, and weigh that monthly number against the fee you are saving. Often the fee saving still wins. Sometimes it very much does not. Renata's did not.
I stage the migration. Move new subscribers first, watch them bill cleanly for two cycles, then move the rest. A bad CSV mapping caught on 30 subscribers is a Tuesday. Caught on 600, it is a quarter.
I check the discount logic before go-live, not after. If the store runs creator or affiliate codes, Shopify's one-code-per-order limit means an affiliate code and an automatic subscription discount cannot both sit on the same order, and different apps handle that conflict differently. Better to know on day zero.
None of this is exotic. It is the kind of thing a store health check is built to surface, which is why our free diagnostic scan flags subscription-app stores for exactly these checks. The tools were always there. I just had not made myself run them before giving Renata an answer.
Renata kept her hot-sauce club running on the cheaper app, and that re-authorization email clawed a few of the lapsed subscribers back. Most stayed gone. She saved her $200 a month, and she paid for it with subscribers she will not get back. That is the real price of moving a Shopify subscription app, and it never shows up on the pricing page you compare before you start.
Still stuck? Talk to an expert.
Our vetted Shopify experts can fix this issue for you in a live session. $39 per session. Your first 15 minutes are free.