Quick answer
You can migrate Shopify subscriptions without forcing customers to re-enter payment details, as long as the payment processor stays the same. Shopify imports existing pay-as-you-go contracts and vaulted payment tokens from gateways like Stripe and Braintree, so active subscribers keep billing on schedule. The risk is a processor change, which can drop stored tokens and require customers to re-add a card. Pause billing during the move to avoid double-charging, and migrate settings first, subscribers second.
Most brands lose subscribers during a subscription migration for one reason: they treat it like a data export instead of a billing operation. The customers don't churn because the new app is worse. They churn because a renewal charge fails, a card has to be re-entered, or a plan silently breaks, and the subscriber takes that as their cue to leave.
Here's how the pieces actually move, and where subscribers get lost.
What actually moves in a subscription migration
Three things travel, and they don't travel together. The selling plans (the offer: frequency, discount, billing rules), the subscription contracts (each customer's active agreement), and the payment methods (the vaulted token that lets you charge a card again without the customer present). A migration that copies the first two and drops the third looks complete and still breaks on the next billing date.
Shopify built import tools specifically so you don't have to move raw credit card numbers. It can import pay-as-you-go contracts and create payment methods for imported customers by referencing tokens held at gateways like Stripe, Braintree, and Authorize.net. In that setup the old gateway can stay connected to bill existing contracts while new and updated contracts charge through Shopify Payments.
Same processor vs different processor
This is the fork that decides whether customers notice the migration at all.
| Scenario | What happens to the card on file | Customer action needed |
|---|---|---|
| Same processor, new app (e.g. Recharge to Skio, both on Stripe) | Tokens usually port; billing continues | Usually none |
| App with its own vault to Shopify-native, same processor | Tokens referenced by Shopify; billing continues | Usually none |
| Processor change (e.g. old gateway to Shopify Payments outright) | Stored tokens often can't transfer | Re-enter payment method |
The takeaway is blunt. If the underlying payment processor stays the same, a well-run migration is mostly invisible to subscribers. If the processor changes, you are asking every active subscriber to take an action, and every action is a chance to cancel. Plan the processor decision before the app decision.
The order of operations that protects subscribers
Shopify's own migration model runs in two stages, and the order matters. First you migrate settings: recreate the selling plans and selling plan groups, set up delivery profiles and any discount codes, and update the theme code so subscription options render. Then you migrate the subscribers: connect the old gateway as a secondary payment source, create payment methods for imported customers, import the contracts, and start billing attempts.
The one instruction that saves the most subscribers is to pause billing in your current app while the move runs. Migrations run in the background, and if the old system and the new system both attempt a renewal in the same window, customers get charged twice. A double charge on a subscription is a support ticket and a cancellation in the same message.
If your team would rather not run the move at all, some subscription platforms handle it for you. Stay AI, for example, migrates brands from another subscription app end to end, including the contract and token transfer, so you don't have to know the billing mechanics yourself. That can be the right call when the subscriber base is large or the current setup is messy, though it still pays to confirm the processor question above before you start.
Where the churn actually comes from
To be clear, the new app is rarely the reason people leave during a migration. The failure points are narrow and predictable: a failed renewal because a token didn't carry over, a forced card re-entry that a busy customer never completes, a plan that maps to the wrong frequency so the next box shows up wrong, or a notification gap where subscribers hear nothing and assume something's broken.
Every one of those is preventable with a test migration on a small cohort before the full cutover. Move a handful of live contracts, run a real billing attempt, confirm the charge, the order, and the email all fire correctly, then scale. What would you rather debug, ten test contracts or ten thousand live ones?
Written by Andrew Zam, co-founder of Liquid Lemon, a Shopify / Shopify Plus design + development studio. For how subscriptions fit together on Shopify, see our guide to Shopify subscription storefronts. Platform behavior changes, so confirm current Shopify capabilities before you migrate.



