Shopify

Shopify Migration: What Data Transfers Cleanly and What Doesn't

Shopify Migration: What Data Transfers Cleanly and What Doesn't

Planning a Shopify migration? This guide breaks down exactly what moves cleanly for products, customers, and orders — and where you'll hit friction before launch.

Planning a Shopify migration? This guide breaks down exactly what moves cleanly for products, customers, and orders — and where you'll hit friction before launch.

08 min read

A Shopify migration sounds straightforward until you're three days in and realizing your customer purchase history didn't come over the way you expected. The process of transitioning an entire e-commerce infrastructure from one platform to another is an architecturally complex operation that often reveals hidden technical debt within your existing data set. What appears to be a simple "copy and paste" of your product catalog and user database is actually a intricate process of schema remapping, value validation, and logic reconciliation.

Before you start the move, you need a realistic picture of what transfers cleanly, what transfers conditionally, and what requires manual work. Establishing this roadmap early allows you to allocate the necessary engineering resources, minimize downtime, and ensure your storefront maintains its operational integrity throughout the transition.

This guide breaks it down across the three data types that matter most: products, customers, and orders. By understanding the boundaries of automated migration tools, you can avoid the common pitfalls that lead to data loss or broken storefront functionality, ensuring your new Shopify store operates at peak efficiency from the moment it goes live.

Why Migration Complexity Gets Underestimated

Most migration tools promise a clean lift-and-shift. The reality is more nuanced. Data that lives neatly in one platform's schema doesn't always have a direct equivalent in Shopify's, as each platform is built on divergent underlying database structures that define how information is linked, categorized, and retrieved. When you attempt to move data between these disparate systems, the limitations of your source platform's export formats often clash with the strict API requirements of Shopify's architecture. The gaps aren't bugs — they're structural differences between platforms. Knowing them in advance is what separates a smooth launch from a messy one, as it allows your team to prepare for the reality of data transformation rather than laboring under the false assumption that automated tools handle every edge case.

The platforms most commonly migrating to Shopify include WooCommerce, Magento, BigCommerce, Squarespace Commerce, and Wix. Each has its own data structure, which affects how cleanly your data maps across, necessitating a bespoke approach to your migration strategy that accounts for the specific eccentricities of your previous system. For instance, a platform that manages inventory through a nested hierarchical system will present significant challenges when mapped to Shopify’s flat, product-and-variant structure. Successfully navigating these hurdles requires a deep dive into your current platform's backend to export data in a format that Shopify can digest, while simultaneously planning for the loss of proprietary features that do not have native analogs in your new environment.

The Migration Data Triage Matrix

Use this framework before starting any migration. Classify every data category into one of three tiers:

  • Clean Transfer — migrates accurately through standard tools with minimal intervention

  • Conditional Transfer — migrates partially; requires review, field mapping, or post-import cleanup

  • Manual Work Required — no reliable automated path; must be rebuilt or imported via custom CSV

    By applying this systematic triage, you isolate the high-risk segments of your database early in the project timeline, providing your team with a clear inventory of tasks that require technical attention versus those that can be safely automated. This method prevents the "bottleneck effect," where unexpected data formatting issues halt the entire project, allowing you to prioritize the migration of mission-critical customer data and product specifications over non-essential, purely historical information. The sections below apply this matrix to your three core data types to ensure a comprehensive understanding of what you can expect during the transfer process.

Products: What Moves and What Breaks
What transfers cleanly?

Standard product data moves well in most migrations:

  • Product titles and descriptions (plain text)

  • SKUs and barcodes

  • Pricing (standard and compare-at price)

  • Basic inventory quantities (single-location)

  • Product images (linked via URL)

  • Product status (active/draft)

  • Basic variant structure (size, color with straightforward option sets)

    This foundation constitutes the majority of your storefront’s informational backbone, and ensuring these elements are correctly mapped is the first step in maintaining operational continuity. Automated tools generally excel here because these fields are universal across most e-commerce platforms, allowing for a high degree of confidence during the initial import phase.

What transfers conditionally?

These elements transfer in some form but require review after import:

  • Product tags — import fine as text but may need reorganization if your source platform used categories or taxonomies differently

  • Metafields and custom attributes — if your source platform stored extra product data in custom fields, Shopify metafields require explicit mapping and may need Shopify's Metafield API or an app to surface correctly

  • Product type and vendor fields — these exist in Shopify but may not map 1:1 from your source

  • Multi-location inventory — standard migration tools import to one location; multi-location assignment requires post-import work

  • Product videos — embedded video links often break; Shopify handles video differently depending on the theme

    The nuance here lies in the fact that while the data technically "lands" in Shopify, its function—such as filtering or storefront display—often breaks due to the difference in how these systems handle metadata. A thorough post-import QA process is essential to verify that these fields are not only present but are actually being rendered correctly by your new theme and supporting applications.

What requires manual work?
  • Complex variant structures — more than three options or unusual variant hierarchies often exceed Shopify's native variant limits (100 variants per product). Products outside this range need restructuring before or after import.

  • Bundles and kits — no native Shopify equivalent; you'll need an app or custom setup

  • Downloadable/digital product logic — must be rebuilt using a Shopify app

  • SEO metadata per product — meta titles and meta descriptions frequently fail to migrate; rebuild these for high-priority pages

    Because these features are often tied to specific third-party plugins in your old system, they are rarely compatible with Shopify's core architecture, necessitating a complete rebuild. Ignoring these elements until the end of the migration is a critical mistake that can lead to a degraded storefront experience or significant downtime while you scramble to implement solutions that restore functionality.

Customers: The Data That Looks Clean but Often Isn't
What transfers cleanly?
  • Name and email address

  • Phone number

  • Default billing and shipping addresses

  • Customer tags

  • Marketing consent status (with caveats — see below)

    This data is the lifeblood of your CRM and usually transitions without incident, provided the import files are properly cleaned of erroneous characters or inconsistent formatting. However, while the fields map easily, the actual quality of the data—such as deprecated addresses or duplicate customer profiles—often requires a comprehensive cleanup before the import to prevent polluting your new Shopify account with outdated information.

What transfers conditionally?
  • Marketing consent and GDPR/CCPA compliance flags — Shopify has a specific consent model. Even if your source stores opt-in status, the way Shopify records and enforces consent may require re-confirmation or legal review depending on your customer geography.

  • Customer notes and internal tags — transfer as text but lose any structured logic from your source CRM or platform

  • Loyalty points and reward balances — these live outside core customer records; if you're running a loyalty program, this data requires coordination with your loyalty app before and after migration

    The complexity with compliance flags arises from the fact that Shopify's consent system is tightly integrated with the checkout process and marketing apps; thus, simply porting a "true/false" flag from your old system may not satisfy modern regulatory standards. It is often safer to treat the import of consent flags as a data point for your records, while performing a fresh opt-in campaign to verify the legal status of your subscriber list post-migration.

What requires manual work?
  • Passwords — never transfer. Shopify encrypts passwords and cannot import them from another system. All customers will need to reset passwords. Plan a re-engagement email sequence for this.

  • Customer groups tied to pricing rules — if your source platform used customer groups to trigger tiered pricing, you'll need to rebuild that logic in Shopify using tags combined with a pricing app or Shopify Functions

  • Purchase history attribution — historical orders can be imported (see next section), but the link between a customer record and those historical orders requires careful import sequencing and matching logic

    The password reset issue is a major point of friction that requires a well-orchestrated communication strategy to ensure your customers feel supported rather than locked out. Proactively explaining the move and providing an easy "one-click" reset flow is essential for minimizing the drop-off in active user accounts during the transition period.

Orders: The Most Technically Demanding Transfer
What transfers cleanly?
  • Order numbers (as reference numbers — Shopify assigns its own sequential IDs)

  • Order dates and timestamps

  • Line items with product and variant references (if products are imported first)

  • Order totals and subtotals

  • Billing and shipping addresses per order

  • Basic fulfillment status (fulfilled/unfulfilled)

    While these elements transition, it is critical to remember that Shopify’s system will treat these as "imported historical records" rather than active, actionable business transactions. This means you cannot edit these orders or process their original payment captures, so they should be viewed strictly as archival data rather than part of your active operational workflow.

What transfers conditionally?
  • Payment status — most tools can mark historical orders as paid, but no actual payment record transfers. This is informational only.

  • Shipping carrier and tracking numbers — can be imported as text fields but don't integrate with Shopify's shipping system retroactively

  • Discount codes applied — appear as text in order records but don't recreate the discount rules themselves

  • Notes and internal order tags — carry over as flat text; any structured workflow logic is lost

    The conditional nature of this data means it is easy for team members to mistake imported information for live data. It is vital to clearly label historical records so your fulfillment and support teams do not attempt to interact with these orders in ways that are technically impossible within the new system.

What requires manual work?
  • Refund and return records — partial refunds, exchanges, and return histories are among the most difficult to migrate accurately. Most tools either skip them or import them as notes. Evaluate your refund volume before deciding how much historical accuracy matters.

  • Subscription orders — if you're running a subscription business, active subscriptions cannot be migrated via standard tools. You'll need to coordinate with your subscription app provider directly (e.g., Recharge, Skio, Stay) and plan a customer communication strategy.

  • B2B/wholesale order logic — net terms, PO numbers, and company-level order history require Shopify Plus and custom setup

  • Tax records for historical orders — for accounting purposes, historical tax data needs to be verified against your accounting system rather than relied on from imported order data alone

    The migration of subscriptions, in particular, is often the most significant point of failure; because these orders represent recurring financial commitments, any error in the migration can result in millions of dollars in lost lifetime value if not executed with precision. Coordination with your subscription partner is mandatory, and you must prepare your customers for the transition to prevent panic-driven cancellations.

Common Mistakes Teams Make During Shopify Migration
  • Migrating before the product catalog is clean: Garbage in, garbage out. If your source platform has duplicate SKUs, inconsistent naming, or unformatted descriptions, the migration amplifies those problems. Audit the catalog first.

  • Assuming the migration tool handles everything: Tools like Matrixify, Cart2Cart, Litextension, and the built-in Shopify Import are useful, but none of them cover every edge case. Each has known limitations. Read the documentation for your specific source platform.

  • Not testing on a development store first: Running a test migration on a duplicate environment before touching production is non-negotiable. It surfaces mapping errors, missing data, and formatting issues before they affect live operations.

  • Underestimating post-migration QA time: Budget at least as much time for QA and cleanup as for the import itself. Spot-check products, verify customer counts, confirm order history accuracy, and test the storefront thoroughly before going live.

  • Migrating everything when you don't need to: If you have ten years of order history but only need the last two for operational purposes, consider migrating a filtered dataset. Smaller, cleaner imports are faster to validate and easier to troubleshoot.

  • Ignoring SEO continuity: Changing platforms often means changing URL structures. Without proper 301 redirects, you'll lose ranking equity and break inbound links. Map your old URLs to new Shopify URLs before launch, not after.

A Shopify migration sounds straightforward until you're three days in and realizing your customer purchase history didn't come over the way you expected. The process of transitioning an entire e-commerce infrastructure from one platform to another is an architecturally complex operation that often reveals hidden technical debt within your existing data set. What appears to be a simple "copy and paste" of your product catalog and user database is actually a intricate process of schema remapping, value validation, and logic reconciliation.

Before you start the move, you need a realistic picture of what transfers cleanly, what transfers conditionally, and what requires manual work. Establishing this roadmap early allows you to allocate the necessary engineering resources, minimize downtime, and ensure your storefront maintains its operational integrity throughout the transition.

This guide breaks it down across the three data types that matter most: products, customers, and orders. By understanding the boundaries of automated migration tools, you can avoid the common pitfalls that lead to data loss or broken storefront functionality, ensuring your new Shopify store operates at peak efficiency from the moment it goes live.

Why Migration Complexity Gets Underestimated

Most migration tools promise a clean lift-and-shift. The reality is more nuanced. Data that lives neatly in one platform's schema doesn't always have a direct equivalent in Shopify's, as each platform is built on divergent underlying database structures that define how information is linked, categorized, and retrieved. When you attempt to move data between these disparate systems, the limitations of your source platform's export formats often clash with the strict API requirements of Shopify's architecture. The gaps aren't bugs — they're structural differences between platforms. Knowing them in advance is what separates a smooth launch from a messy one, as it allows your team to prepare for the reality of data transformation rather than laboring under the false assumption that automated tools handle every edge case.

The platforms most commonly migrating to Shopify include WooCommerce, Magento, BigCommerce, Squarespace Commerce, and Wix. Each has its own data structure, which affects how cleanly your data maps across, necessitating a bespoke approach to your migration strategy that accounts for the specific eccentricities of your previous system. For instance, a platform that manages inventory through a nested hierarchical system will present significant challenges when mapped to Shopify’s flat, product-and-variant structure. Successfully navigating these hurdles requires a deep dive into your current platform's backend to export data in a format that Shopify can digest, while simultaneously planning for the loss of proprietary features that do not have native analogs in your new environment.

The Migration Data Triage Matrix

Use this framework before starting any migration. Classify every data category into one of three tiers:

  • Clean Transfer — migrates accurately through standard tools with minimal intervention

  • Conditional Transfer — migrates partially; requires review, field mapping, or post-import cleanup

  • Manual Work Required — no reliable automated path; must be rebuilt or imported via custom CSV

    By applying this systematic triage, you isolate the high-risk segments of your database early in the project timeline, providing your team with a clear inventory of tasks that require technical attention versus those that can be safely automated. This method prevents the "bottleneck effect," where unexpected data formatting issues halt the entire project, allowing you to prioritize the migration of mission-critical customer data and product specifications over non-essential, purely historical information. The sections below apply this matrix to your three core data types to ensure a comprehensive understanding of what you can expect during the transfer process.

Products: What Moves and What Breaks
What transfers cleanly?

Standard product data moves well in most migrations:

  • Product titles and descriptions (plain text)

  • SKUs and barcodes

  • Pricing (standard and compare-at price)

  • Basic inventory quantities (single-location)

  • Product images (linked via URL)

  • Product status (active/draft)

  • Basic variant structure (size, color with straightforward option sets)

    This foundation constitutes the majority of your storefront’s informational backbone, and ensuring these elements are correctly mapped is the first step in maintaining operational continuity. Automated tools generally excel here because these fields are universal across most e-commerce platforms, allowing for a high degree of confidence during the initial import phase.

What transfers conditionally?

These elements transfer in some form but require review after import:

  • Product tags — import fine as text but may need reorganization if your source platform used categories or taxonomies differently

  • Metafields and custom attributes — if your source platform stored extra product data in custom fields, Shopify metafields require explicit mapping and may need Shopify's Metafield API or an app to surface correctly

  • Product type and vendor fields — these exist in Shopify but may not map 1:1 from your source

  • Multi-location inventory — standard migration tools import to one location; multi-location assignment requires post-import work

  • Product videos — embedded video links often break; Shopify handles video differently depending on the theme

    The nuance here lies in the fact that while the data technically "lands" in Shopify, its function—such as filtering or storefront display—often breaks due to the difference in how these systems handle metadata. A thorough post-import QA process is essential to verify that these fields are not only present but are actually being rendered correctly by your new theme and supporting applications.

What requires manual work?
  • Complex variant structures — more than three options or unusual variant hierarchies often exceed Shopify's native variant limits (100 variants per product). Products outside this range need restructuring before or after import.

  • Bundles and kits — no native Shopify equivalent; you'll need an app or custom setup

  • Downloadable/digital product logic — must be rebuilt using a Shopify app

  • SEO metadata per product — meta titles and meta descriptions frequently fail to migrate; rebuild these for high-priority pages

    Because these features are often tied to specific third-party plugins in your old system, they are rarely compatible with Shopify's core architecture, necessitating a complete rebuild. Ignoring these elements until the end of the migration is a critical mistake that can lead to a degraded storefront experience or significant downtime while you scramble to implement solutions that restore functionality.

Customers: The Data That Looks Clean but Often Isn't
What transfers cleanly?
  • Name and email address

  • Phone number

  • Default billing and shipping addresses

  • Customer tags

  • Marketing consent status (with caveats — see below)

    This data is the lifeblood of your CRM and usually transitions without incident, provided the import files are properly cleaned of erroneous characters or inconsistent formatting. However, while the fields map easily, the actual quality of the data—such as deprecated addresses or duplicate customer profiles—often requires a comprehensive cleanup before the import to prevent polluting your new Shopify account with outdated information.

What transfers conditionally?
  • Marketing consent and GDPR/CCPA compliance flags — Shopify has a specific consent model. Even if your source stores opt-in status, the way Shopify records and enforces consent may require re-confirmation or legal review depending on your customer geography.

  • Customer notes and internal tags — transfer as text but lose any structured logic from your source CRM or platform

  • Loyalty points and reward balances — these live outside core customer records; if you're running a loyalty program, this data requires coordination with your loyalty app before and after migration

    The complexity with compliance flags arises from the fact that Shopify's consent system is tightly integrated with the checkout process and marketing apps; thus, simply porting a "true/false" flag from your old system may not satisfy modern regulatory standards. It is often safer to treat the import of consent flags as a data point for your records, while performing a fresh opt-in campaign to verify the legal status of your subscriber list post-migration.

What requires manual work?
  • Passwords — never transfer. Shopify encrypts passwords and cannot import them from another system. All customers will need to reset passwords. Plan a re-engagement email sequence for this.

  • Customer groups tied to pricing rules — if your source platform used customer groups to trigger tiered pricing, you'll need to rebuild that logic in Shopify using tags combined with a pricing app or Shopify Functions

  • Purchase history attribution — historical orders can be imported (see next section), but the link between a customer record and those historical orders requires careful import sequencing and matching logic

    The password reset issue is a major point of friction that requires a well-orchestrated communication strategy to ensure your customers feel supported rather than locked out. Proactively explaining the move and providing an easy "one-click" reset flow is essential for minimizing the drop-off in active user accounts during the transition period.

Orders: The Most Technically Demanding Transfer
What transfers cleanly?
  • Order numbers (as reference numbers — Shopify assigns its own sequential IDs)

  • Order dates and timestamps

  • Line items with product and variant references (if products are imported first)

  • Order totals and subtotals

  • Billing and shipping addresses per order

  • Basic fulfillment status (fulfilled/unfulfilled)

    While these elements transition, it is critical to remember that Shopify’s system will treat these as "imported historical records" rather than active, actionable business transactions. This means you cannot edit these orders or process their original payment captures, so they should be viewed strictly as archival data rather than part of your active operational workflow.

What transfers conditionally?
  • Payment status — most tools can mark historical orders as paid, but no actual payment record transfers. This is informational only.

  • Shipping carrier and tracking numbers — can be imported as text fields but don't integrate with Shopify's shipping system retroactively

  • Discount codes applied — appear as text in order records but don't recreate the discount rules themselves

  • Notes and internal order tags — carry over as flat text; any structured workflow logic is lost

    The conditional nature of this data means it is easy for team members to mistake imported information for live data. It is vital to clearly label historical records so your fulfillment and support teams do not attempt to interact with these orders in ways that are technically impossible within the new system.

What requires manual work?
  • Refund and return records — partial refunds, exchanges, and return histories are among the most difficult to migrate accurately. Most tools either skip them or import them as notes. Evaluate your refund volume before deciding how much historical accuracy matters.

  • Subscription orders — if you're running a subscription business, active subscriptions cannot be migrated via standard tools. You'll need to coordinate with your subscription app provider directly (e.g., Recharge, Skio, Stay) and plan a customer communication strategy.

  • B2B/wholesale order logic — net terms, PO numbers, and company-level order history require Shopify Plus and custom setup

  • Tax records for historical orders — for accounting purposes, historical tax data needs to be verified against your accounting system rather than relied on from imported order data alone

    The migration of subscriptions, in particular, is often the most significant point of failure; because these orders represent recurring financial commitments, any error in the migration can result in millions of dollars in lost lifetime value if not executed with precision. Coordination with your subscription partner is mandatory, and you must prepare your customers for the transition to prevent panic-driven cancellations.

Common Mistakes Teams Make During Shopify Migration
  • Migrating before the product catalog is clean: Garbage in, garbage out. If your source platform has duplicate SKUs, inconsistent naming, or unformatted descriptions, the migration amplifies those problems. Audit the catalog first.

  • Assuming the migration tool handles everything: Tools like Matrixify, Cart2Cart, Litextension, and the built-in Shopify Import are useful, but none of them cover every edge case. Each has known limitations. Read the documentation for your specific source platform.

  • Not testing on a development store first: Running a test migration on a duplicate environment before touching production is non-negotiable. It surfaces mapping errors, missing data, and formatting issues before they affect live operations.

  • Underestimating post-migration QA time: Budget at least as much time for QA and cleanup as for the import itself. Spot-check products, verify customer counts, confirm order history accuracy, and test the storefront thoroughly before going live.

  • Migrating everything when you don't need to: If you have ten years of order history but only need the last two for operational purposes, consider migrating a filtered dataset. Smaller, cleaner imports are faster to validate and easier to troubleshoot.

  • Ignoring SEO continuity: Changing platforms often means changing URL structures. Without proper 301 redirects, you'll lose ranking equity and break inbound links. Map your old URLs to new Shopify URLs before launch, not after.

FAQ

What is a Shopify migration?

A Shopify migration is the process of moving your store's data — products, customers, orders, and related content — from one ecommerce platform to Shopify. It involves exporting data from the source platform, mapping it to Shopify's data structure, importing it, and verifying accuracy before going live.

How long does a Shopify migration take?

Timeline depends on catalog size, data complexity, and how much cleanup is needed before import. A small store with a clean catalog can complete a migration in one to two weeks. Larger catalogs with complex variant structures, historical order data, and subscription logic can take four to eight weeks or longer when QA time is included.

Do customer passwords transfer during a Shopify migration?

No. Passwords never transfer in a Shopify migration due to encryption. All existing customers will need to reset their passwords after migration. It's standard practice to send a proactive email explaining the change and prompting customers to create a new password before they experience a failed login.

Will my SEO rankings be affected by migrating to Shopify?

A migration can affect SEO if URL structures change and redirects aren't properly configured. Product pages, collection pages, and blog posts that have earned ranking equity need to redirect accurately from old URLs to new ones. Handled correctly, SEO impact is minimal. Handled poorly, it can cause a significant and lasting traffic drop.

What tools are commonly used for Shopify data migration?

Matrixify (formerly Excelify) is the most flexible option for CSV-based migration with precise control. Litextension and Cart2Cart offer automated migration for common platform pairs. Shopify's built-in import tools handle basic product and customer CSV imports. For complex migrations, a combination of tools plus manual cleanup is typical.

Can I migrate a WooCommerce store to Shopify?

Yes, and it's one of the more common migration paths. WooCommerce-to-Shopify migrations handle core product and customer data reasonably well through dedicated migration tools, but custom WooCommerce plugin logic, complex product types, and subscription data require manual planning. WooCommerce's flexible data structure means your specific migration complexity depends heavily on how your store was built.

What happens to active subscriptions during a Shopify migration?

Active subscriptions cannot be moved through standard migration tools. If you're using a subscription app on your current platform, you'll need to work directly with your Shopify subscription app provider to plan the transfer. This typically involves exporting subscriber data, setting up the new app before launch, and communicating billing changes to customers. Treat subscriptions as a separate workstream from the core migration.

get in touch

Go from online presence to real business impact

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

get in touch

Go from online presence to real business impact

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

get in touch

Go from online presence to real business impact

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

© 2026 projectsupply

Part of Tangle

© 2026 projectsupply

Part of Tangle

© 2026 projectsupply

Part of Tangle