A Shopify Migration Process for Stores That Are Still Trading
Plan your Shopify migration from data mapping to launch, with a worked order-and-inventory cutover example, redirect checks, and a practical rollback procedure.
The Shopify migration process is to map your data and business workflows, rehearse the import and buying journey, then transfer live order and inventory responsibility before directing customers to the new store. For an existing business, the critical launch step is reconciling everything that changed after your first export, so Shopify opens with stock you can actually sell and every outstanding order has one fulfillment owner.
This guide is for merchants moving a trading store. It covers the sequence from preparation to launch, with extra attention to the interval between the last export and the first Shopify sale. The cutover procedure below is my recommended operating plan, not a claim that Shopify or a migration app performs the handoff automatically.
Define what “migrated” means before choosing a launch date
Start with a short scope document. List products, variants, customers, completed orders, open orders, content, redirects, and connected systems. Give each a destination and an approver. Add subscriptions, gift balances, reviews, and loyalty benefits if you use them; require an explicit supported route for each.
Shopify's migration guide allows different transfer methods for different data and specifies importing products before customers, then historical orders. It also separates data transfer from shipping, payments, domain setup, and testing. Use those dependencies to schedule the work rather than treating a completed upload as launch approval.
Write down three business outcomes: a shopper can buy the intended variant, operations can fulfill the resulting order, and customer service can locate the information it needs. A matching product count does not answer those questions. Our Shopify migration tools guide covers choosing and testing the importer; this article covers how to move from an approved import to a functioning live store.
Assign one launch coordinator and named owners for stock, fulfillment, payments, and the domain. These can be the same person in a small business. What matters is that each decision has an owner who is available during the switch.
Prepare the store while the old one keeps trading
Build the destination theme, navigation, product organization, delivery rules, and required integrations before the final transfer. Have the team compare important products and customer journeys with the source store. Record intentional differences so a missing feature cannot be dismissed later as part of the redesign.
Keep the initial source exports and the import settings. Record the exact export completion time and time zone for each dataset. If products and orders were exported at different times, retain both boundaries. A single folder called “latest export” is insufficient when you need to establish whether a particular change was included.
For product CSV updates, Shopify distinguishes an omitted optional column from an included blank column: with matching-handle overwrite enabled, a blank can clear the existing value, while an omitted column leaves that value alone. Review the product CSV rules before the final update. Do not let a source export erase merchandising work deliberately completed only in Shopify.
Keep an exception list with the source reference, intended result, observed result, owner, and decision. Mark unresolved payment, inventory, and fulfillment failures as launch blockers. A minor spacing issue can have a later fix date; an order with no known fulfillment destination cannot.
Keep useful product URLs useful
Prepare an old-to-new URL map while building the catalog. Include important product, collection, content, and campaign landing pages. Check that each destination contains the item or information the visitor expected, and update the new store's own links to their final addresses.
In Shopify, go to Content > Menus > URL redirects > Import to upload and review a redirect CSV. Shopify's redirect documentation explains an important limit: redirects work for paths returning a 404, not existing live pages, and some paths are reserved. An imported row is therefore not proof that the redirect works.
Test the actual old address and its final destination on the Shopify host, then repeat on the public domain after launch. Google's site-move guidance recommends relevant permanent redirects and warns against redirecting many unrelated URLs to the homepage. It also advises checking canonicals, removing development-only indexing blocks, and submitting the new sitemap. Ranking fluctuations can still happen; avoid promising unchanged rankings.
Rehearse the purchase and the work it creates
Choose a small test set that represents your actual operation: a normal order, a multi-item cart, a discounted order, and an order to each materially different delivery region. Add pickup, subscriptions, or account-dependent benefits where relevant. Define the expected variant, price, delivery option, and downstream destination before testing.
Shopify supports simulated transactions through an appropriate payment test mode. Its test-order instructions warn that customers cannot place live orders while payment providers are in test mode and recommend disabling automatic fulfillment before creating test orders. Arrange a controlled warehouse test rather than allowing a rehearsal to dispatch real goods.
For each case, record the Shopify order reference and the downstream result. Ask operations to show where the order appears, how stock changes, and how an exception reaches a person. Test customer-facing messages using controlled identities and the applicable provider instructions. Keep tracking verification separate from order verification: an order reaching the warehouse does not prove an analytics destination received its purchase event.
Finish the rehearsal by documenting how to restore live payments and the intended fulfillment settings. Put those restoration steps in the launch instructions, with a person responsible for checking them.
The cutover example: twelve units, one late order
Imagine a single-location store selling a ceramic cup. This is a planning example, not a client result. At the initial stock export, twelve cups are physically present, all twelve are sellable, and no orders reserve them. Before the old checkout closes, a customer buys two. Those two cups remain on the shelf awaiting dispatch.
The old export still says twelve. The warehouse still physically holds twelve. But only ten are available for another customer. Opening Shopify with twelve available would ignore the late order; starting with ten and then deducting that same order again would understate availability.
For every order crossing the cutover boundary, record both its fulfillment owner and whether its stock effect is already included in Shopify's opening quantity. That second field prevents “we imported the order” from becoming an unexplained second stock deduction.
Choose where the late order finishes
One workable plan is to fulfill that order through the old system while Shopify accepts new orders. In the cutover ledger, record the source order reference, two cups reserved, the old fulfillment owner, and ten units available for new Shopify sales. Require the inventory owner to represent the reservation correctly in the chosen inventory system; do not label ten as the physical count when twelve remain on the shelf.
Another plan transfers the open order into the new workflow. In that case, require the implementer to demonstrate whether the transfer reserves stock, sends notifications, or creates a warehouse instruction. Approve the resulting quantities only after that behavior is known. Neither approach is universally right; mixing them without a ledger is the problem.
Capture the final changes, not only new records
At the agreed boundary, stop new ordering on the source through its supported controls and confirm the behavior. Pause or coordinate stock writers that could conflict with the final adjustment. Collect records created or changed since the initial export, including cancellations, refunds, quantity edits, and stock receipts. Have the source-system owner explain how those changes are retrieved.
Then reconcile the remaining orders against warehouse commitments and approve opening availability by variant and location. In the cup example, the evidence should explain the twelve physical units, the two reserved units, and the ten sellable units without relying on anyone's memory.
If updating Shopify inventory by CSV, open Products > Inventory > Export. Shopify's inventory CSV documentation recommends the All states format and explains validation using On hand (current) and On hand (new). Changed quantities can cause affected rows to fail validation. Investigate those rows rather than clearing the current-value column simply to force the import through.
That validation protects against a stale Shopify snapshot. It does not establish whether an order still owned by the old platform has been accounted for. The warehouse reconciliation remains a separate acceptance step.
Switch the domain after the operational handoff is ready
Prepare domain-provider access before launch. In Shopify, the manual connection begins at Settings > Domains > Connect existing domain. Follow the current domain connection instructions for the required records and inspect the connection status. Shopify says the domain can take up to 48 hours to become fully live; do not promise every visitor switches at one instant.
My launch rule is to keep the old checkout controlled throughout the transition and monitor both systems for unexpected orders. Changing the address customers reach does not reconcile a transaction already accepted elsewhere. If an order appears after the recorded boundary, add it to the ledger and investigate how it arrived before reopening any source sales path.
Confirm the public storefront, key redirects, delivery choices, and live payment configuration. Assign someone to watch the first genuine orders through the fulfillment handoff. Keep customer support informed about where pre-migration orders remain searchable and which team handles their changes.
Decide what rollback means before you need it
Before Shopify accepts a live order, returning to the old store is primarily a configuration and readiness decision. After Shopify accepts orders, reversing the domain alone is incomplete: those purchases, payments, and stock commitments still need an owner.
Write a recovery instruction that first controls new order intake, then lists orders accepted on each platform since the boundary. Preserve those records and decide where each will be fulfilled or otherwise resolved. Reconcile inventory before allowing the old system to sell again. Have the implementer specify the actual platform controls and access required.
For the cup example, if Shopify has subsequently sold three of the ten available cups, the rollback review must account for both the original two-unit order and the new three-unit order. Restoring the original twelve-unit export is not a recovery plan. This is why the final ledger must survive the website switch.
Close the migration when operations can own it
For the first trading days, review accepted orders, fulfillment exceptions, stock discrepancies, broken landing pages, and customer-service questions. Assign each issue an owner and retain the source system for the agreed operational needs until the responsible team approves retirement.
After the catalog is public, our free store scanner can flag public catalog issues such as duplicate descriptions, missing image alt text, and missing shipping weights. It cannot reconcile private orders or warehouse reservations. Keep that review alongside, rather than in place of, the cutover ledger.
A new store with no historical orders does not need this full handoff. A business that cannot pause ordering needs a separately engineered continuous-sync and reconciliation plan; do not improvise one from a CSV checklist. Our migration agency versus DIY guide helps define ownership, and our Shopify services cover planning and implementation. Ask for an approved opening-stock record, an outstanding-order ledger, and a recovery procedure as explicit deliverables.