Skip to content
Web Development

Ecommerce Data Migration: How to Move Products, Customers and Orders

How to migrate ecommerce data: products, variants, categories, media, customers and orders, mapping, transformation, validation, rehearsals and rollback.

Quick answer

Ecommerce data migration moves products, customers, orders and content to a new platform without losing meaning or relationships. Extract data from the old system, map every field to the new model, transform and clean it (formats, duplicates, invalid values), load into a staging store, and validate with counts, totals, samples and journey tests. Migrate products, then customers, then orders. Rehearse the full run more than once, run a delta migration close to launch, and keep the old system ready for rollback.

Why Data Migration Deserves Its Own Plan

Data problems are among the most common causes of migration trouble: missing variants, broken images, customers who can't sign in, orders that don't show in accounts, duplicated customers, wrong prices. Most are preventable with mapping, validation and rehearsal. This article covers the data side. For the overall plan, see ecommerce migration strategy and migration checklist.

What to Migrate

DataNotesCommon issues
Products and variantsOptions, SKUs, barcodes, weightsVariant limits, option naming
Attributes / custom fieldsSpecs, materials, sizingMapping to new structures
Categories / collectionsHierarchy and rulesDifferent category models
MediaImages, video, alt textBroken links, missing alt text
Prices and inventoryBy currency, market and locationRounding, stock drift
CustomersContacts, addresses, consent, tagsDuplicates, consent loss, passwords
OrdersLines, statuses, taxes, refundsStatus mapping, totals
Gift cards, credit, loyaltyBalancesSecurity, liabilities
ContentPages, posts, policiesEmbedded links and images
ReviewsRatings, text, datesProduct matching

Step 1: Extract

Export complete data from the old system through APIs, database exports or export tools. Include IDs and relationships (which customer placed which order, which variant belongs to which product). Keep the raw exports unchanged for reference and repeat runs. Check that exports include everything: some export tools omit custom fields, metafields or inactive products.

Step 2: Map

Write a field mapping document: every source field, its destination, transformation rules and default values. Resolve model differences: a platform with unlimited variants moving to one with limits, custom attributes moving to metafields, category trees moving to collections. Decide what won't be migrated and why.

Source fieldDestinationTransformation
product.nameproduct.titleTrim, fix encoding
product.url_keyproduct.handleNormalize; record for redirects
attribute.materialmetafield custom.materialMap values to controlled list
customer.emailcustomer.emailLowercase, deduplicate
customer.newsletteremail marketing consentPreserve status and date
order.statusorder financial and fulfilment statusMap status table

Worried about losing data in a migration?

ZSpace maps, transforms and validates ecommerce data with repeatable migration scripts and rehearsals.

Start a Project

Step 3: Transform and Clean

Migration is a chance to fix data, but keep changes controlled. Normalize formats (phone numbers, country codes, dates), deduplicate customers and products with documented matching rules, fix encoding problems, fill required fields, and flag invalid records for review rather than silently dropping them. Use scripts rather than manual edits so runs are repeatable.

  • Encoding and special characters fixed
  • Country, currency and date formats normalized
  • Duplicate customers matched and merged by rule
  • Required fields filled or records flagged
  • Controlled values for attributes
  • Transformation scripts version-controlled

Step 4: Load in the Right Order

Load into a staging or development store first. Order matters because records reference each other: products first, then customers, then orders. Shopify's migration guidance, for example, recommends importing products, then customers, then historical orders (Shopify Help Center). Record old-to-new ID mappings as you load; you'll need them for orders, redirects and integrations.

Step 5: Validate

Validation proves the migration worked. Compare counts by type, sums (order totals, inventory), and random and edge-case samples between old and new systems. Check relationships: orders attached to the right customers, variants to the right products. Then test journeys with migrated data: sign in as a migrated customer, view order history, reorder, buy a migrated product.

CheckExample
CountsProducts, variants, customers, orders match (minus documented exclusions)
TotalsSum of order totals and refunds match
Samples20 random records per type compared field by field
Edge casesProducts with most variants, customers with most orders
RelationshipsOrder to customer, line to variant
JourneysMigrated customer can sign in and see orders

Customer Accounts and Passwords

Customer passwords are normally stored as one-way hashes that can't be converted for another platform, so customers can't sign in with old passwords after migration. Plan how they'll regain access: account activation emails, a password reset prompt at first sign-in, or passwordless sign-in where the platform supports it. Preserve marketing consent status and dates exactly. Customer data is personal data, so handle exports securely and delete temporary copies afterwards. See ecommerce privacy.

Orders, Subscriptions and Payments

Historical orders support service, returns and reorders; migrate enough history to cover return windows and customer expectations, and archive older data in a warehouse if needed. Saved cards and subscription payment methods can't usually be exported as data; they're moved between payment providers under the providers' processes, which take time. Start that conversation early. See subscription ecommerce.

Rehearsals and Delta Migration

Run the full migration into staging at least twice before launch, timing each run and fixing issues between them. Close to launch, take a final full migration, then a delta migration of records created or changed since, during a short freeze. Timing rehearsals tell you how long the launch window needs to be. See migration launch plan.

Rollback

Keep the old platform intact and able to take orders until the new one is confirmed. Define the point after which rolling back becomes harder (for example after new orders are taken on the new platform) and how orders taken in the new system would be moved back if needed. See parallel runs.

Tools for Data Migration

Options range from platform import tools and CSV files to migration apps, integration platforms and custom scripts using APIs. Shopify's guidance lists manual entry, CSV imports, migration apps, Shopify Partners and custom API work as approaches. Choose by data volume, complexity (variants, metafields, order history) and how many rehearsals you need; repeatable scripts or tools beat manual imports for anything beyond small catalogs.

ToolSuitsLimits
CSV import/exportProducts, simple dataRelationships, orders, custom fields
Migration appsCommon platform-to-platform movesCoverage of custom data
Custom API scriptsComplex data, rehearsalsDevelopment effort
Integration platformsOngoing sync during transitionCost, setup

Worked Example

An illustrative scenario, not a client case: a store migrating 8,000 products finds that its export tool omits custom attributes and inactive variants. The team switches to API-based extraction, maps attributes to metafields, writes transformation scripts, loads into a development store twice with validation reports, then runs a final full load and a delta for the last day's orders during a short freeze.

Common Mistakes

  • Exports missing custom fields or inactive products
  • Manual edits that can't be repeated
  • Loading orders before customers and products
  • No ID mapping kept for redirects and integrations
  • Marketing consent lost in transfer
  • Only one migration run before launch

Ready to plan your data migration?

Talk to ZSpace about data migration and integrations, Shopify imports and data validation automation.

Start a Project

Conclusion

Data migration succeeds through mapping, repeatable transformation, ordered loading, thorough validation, rehearsals and a delta run at launch, with the old system kept ready for rollback. Related: migration testing and legacy ecommerce migration.

FAQ

Common questions

Products, variants and options, categories or collections, images and media, prices, inventory, customers and addresses, order history, gift cards and store credit, reviews, content pages and blog posts, and sometimes subscriptions and loyalty balances.

Get in touch

Have a project in mind?

Whether you're building a new digital product, improving an existing website, or looking to automate part of your business — let's talk.