Move from Shopify copies your store from Shopify to PlatformDTC: products, collections, customers, order history, discount codes, URL redirects and pages, plus your subscriptions if you use Recharge. You see what will move before anything is copied, and you get a report of every record afterwards. Open Settings → Move from Shopify in the dashboard, or go straight to platformdtc.com/setting/migrate. It’s also linked from Subscriptions → Import.
Moving is read-only on the Shopify and Recharge side. PlatformDTC only reads your data — nothing is ever changed, deleted or charged in Shopify or Recharge.

Before you start

  • Your Shopify store’s .myshopify.com address, for example your-store.myshopify.com.
  • Shopify API credentials with the scopes below. See Connect your Shopify store.
  • A Recharge API token, only if you move subscriptions. See Add Recharge (optional).
  • A plan for your customers’ saved cards, only if you move subscriptions. Some payment providers take days to hand cards over, so start early. See Move saved cards.
  • Keep taking orders in Shopify while you move. You can run the move again later to pick up anything new — nothing is copied twice.

Connect your Shopify store

PlatformDTC reads your store through Shopify’s Admin API, so it needs credentials from an app installed on your Shopify store. There are two ways to get them.
Starting January 1, 2026, Shopify no longer lets you create new custom apps in the Shopify admin (Shopify changelog). New apps are created in Shopify’s Dev Dashboard.
1

Create the app

In the Dev Dashboard, open Apps and click Create app. Give it a name such as PlatformDTC move.
2

Set its scopes

Open the Versions page, enter the scopes below, and click Release.
3

Install it on your store

Install the app on the store you are moving.
4

Copy the credentials

Copy the Client ID and Client secret. You enter both in PlatformDTC.
Each time the move runs, PlatformDTC exchanges the Client ID and secret for a Shopify access token that lasts 24 hours. This only works when the app and the store belong to the same Shopify organization — create the app from the organization that owns the store.

Scopes

Give the app these read scopes. A missing scope doesn’t stop the move — the preview tells you what can’t be read and why. Then, on the Move from Shopify page, enter your .myshopify.com address and either the Client ID and Client secret, or the access token.
Treat the Client secret and access token like a password. Paste them only into PlatformDTC’s Move from Shopify page, never into email or chat.
Your credentials are sent to PlatformDTC in the request body, stored encrypted, and never shown again. They are deleted when you click Disconnect.

Add Recharge (optional)

To move subscriptions, add a Recharge API token. In Recharge, go to Apps & integrations → API tokens, create a token with these scopes, and paste it on the Move from Shopify page:
  • read_store
  • read_customers
  • read_subscriptions
  • read_payment_methods
The token is read-only: PlatformDTC never changes, pauses or cancels anything in Recharge.

Preview, then move

1

Check the preview

After you connect, the preview shows how many records of each type will move, and anything that can’t be read — for example a missing scope — with the reason. Recharge doesn’t give totals in advance, so subscriptions are counted as the move runs.
2

Start the move

The move runs in the background. You can close the page and come back — it picks up where it left off.
3

Read the report

For each type, the report shows Imported, Already here, Skipped, Failed and Warnings, with the reason for every record that wasn’t imported cleanly. Retry failed re-reads just the failed records.
Running the move again never creates duplicates: records that already moved are recognized and counted as Already here. Run it again later — for example on the day you switch your domain — to pick up new products, customers and orders.

What moves

Good to know

  • Products — only the first 100 variants of a product move; the report warns you when a product has more.
  • Collections — smart collection rules aren’t copied. A collection moves with the products in it at the time of the move.
  • Customers — a customer who already exists here with the same email is linked, not overwritten. A phone number already used by another customer here isn’t copied, and the report warns you.
  • Orders — imported orders are history only. They never trigger fulfilment, emails, review requests, charges or stock changes. Fulfil and refund orders placed before the move in Shopify.
  • Pages — a page whose address already exists here is skipped.
  • Subscriptions — the next charge date stays the same calendar date in your Recharge store’s time zone. For prepaid subscriptions the billing term moves, but deliveries still owed from the current prepaid term don’t — ship those from Recharge. “Ends after N charges” isn’t enforced here; the report warns you. Nothing is charged until you switch subscriptions on.

Your theme

Your theme moves through a separate flow. See Import a theme from Shopify.

Your reviews

Export your reviews as a CSV from Judge.me, Yotpo, Loox or Shopify Product Reviews, then import them in Products → Reviews → Import reviews. See Import reviews from another app.

What doesn’t move (and why)

  • Customer passwords. Passwords can’t be read out of Shopify. Customers set a new one the first time they sign in.
  • Gift cards. Shopify never shows full gift card codes — only the last 4 characters — so they can’t be copied. The preview shows how many you have. Keep honoring them in Shopify, or issue replacements here.
  • Some discount codes. These are listed in the report with the reason, so you can recreate them by hand:
    • codes limited to specific products or collections
    • codes limited to specific customers or countries
    • codes with a minimum purchase or a maximum shipping price
    • buy X get Y discounts
    • discounts applied per item
    • app discounts and automatic discounts
    • discounts with more than 100 codes
  • Smart collection rules. See Good to know.
  • Deliveries still owed on prepaid subscriptions. Ship them from Recharge.
  • PayPal as a payment method. Recharge subscriptions paid with PayPal can’t bring their payment method over; the subscriber needs to add a card.

Move saved cards

Subscriptions only renew here when PlatformDTC has the subscriber’s card. How cards get here depends on where Recharge charges them today. Once cards arrive, click Check cards on the Move from Shopify page — PlatformDTC finds each subscriber’s card and shows which subscriptions are ready.
If this PlatformDTC store charges through the same Stripe account, the cards are already there. Click Check cards.Otherwise, copy them with Stripe’s self-serve copy (Stripe docs):
1

Start the copy in your old Stripe account

In the Stripe account Recharge uses, go to Customers → Copy customers and enter the account ID shown on the Move from Shopify page.
2

Accept it in the receiving account

The copy is accepted in the receiving Stripe account. Most copies finish within 72 hours.
3

Check cards

Click Check cards. PlatformDTC matches each subscriber’s card by customer, last 4 digits and expiry date — you don’t need a file.
Customer IDs stay the same; the cards get new IDs. Only customers and cards are copied — not Stripe subscriptions or invoices.
If Card Account Updater is on in the receiving Stripe account, expired cards in the copy may trigger updater fees.

Mapping files

The upload accepts either Stripe file:

Switch subscriptions on

Imported subscriptions stay paused until you switch them on. Only subscriptions with a found card can be switched on.
Turn your subscriptions off in Recharge before you switch them on here. Recharge’s own guide says to cancel Recharge before billing starts in the new system — otherwise customers are charged twice. PlatformDTC asks you to confirm you’ve done this.
A subscription whose next charge date is already in the past is moved to 24 hours after you switch it on, so nobody is charged the moment you flip the switch.

After moving

1

Check the report

Recreate by hand anything the report lists as skipped, such as discount codes limited to specific products.
2

Point your domain to PlatformDTC

Your URL redirects start working once your domain points here. See Connect a domain.
3

Publish your store

Imported pages go live the next time you publish.
4

Run the move once more

Pick up any products, customers and orders created in Shopify since your first run.
5

Turn off Recharge

Turn off your subscriptions in Recharge so they stop charging there.
6

Switch on subscriptions

Once cards are found, switch subscriptions on here.
7

Disconnect

Click Disconnect to delete your stored Shopify and Recharge credentials. Everything you imported stays. Then uninstall the app from your Shopify store, or revoke its credentials.

FAQ

No. PlatformDTC only reads. Nothing is changed in Shopify or Recharge — including your subscriptions, which keep charging there until you turn them off.
Yes. Records that already moved are recognized and never duplicated, so running it again only picks up what’s new.
Yes. The move runs in the background and resumes where it left off.
No. Imported orders are archived history. They never trigger fulfilment, emails, review requests, charges or stock changes.
The app is missing the read_all_orders scope. Add it, then run the move again.
Yes. Passwords can’t move, so customers set a new one the first time they sign in.
They stay in Shopify, because Shopify never shows full gift card codes. Keep honoring them in Shopify, or issue replacements here.
Your stored credentials are deleted. Everything you imported stays.
Shopify stopped allowing new custom apps in the admin on January 1, 2026. Create the app in the Dev Dashboard instead — see Connect your Shopify store.