/ Journal — Migration
What Data Can You Actually Migrate to Shopify? Products, Customers, Orders and More
A Shopify migration is not a single file transfer. It is a controlled rebuild of your commerce data inside a different data model.
/ In plain terms
“Can move” is not “arrives unchanged.”
Products, customers and orders can usually move. So can collections, content, redirects, gift cards, reviews and many operational records. But “can move” does not mean “will arrive unchanged.” Some fields map directly, some need transformation, some require an app or custom API process, and some are better retained in a searchable archive.
This guide explains what Shopify migration data can realistically include, where the limitations are, and how to plan a migration that preserves commercial continuity rather than merely producing a populated admin.
( Short answer )
Most core ecommerce records can move to Shopify.
Short answer Shopify migration data
Short answer
You can migrate most core ecommerce records to Shopify, including products, variants, inventory, customers, historical orders, collections, pages, blogs, redirects and selected marketing data. The difficult part is preserving relationships, meaning and operational behavior. Platform-specific passwords, payment credentials, app configuration, certain order events and historical analytics rarely transfer cleanly.
/ Four outcomes ( 04 )
The useful way to classify migration data.
Before choosing a migration tool, classify every data set into one of four outcomes:
01 · Mapped
Directly mapped
Source fields have a clear Shopify equivalent, such as a product title or customer email.
02 · Transformed
Transformed
The information moves, but its structure changes. Category trees becoming Shopify collections and tags is a common example.
03 · Recreated
Recreated
The business capability must be rebuilt using Shopify settings, theme code, Shopify Functions, an app or an integration.
04 · Archived
Archived
The record remains accessible outside Shopify because importing it adds risk or little day-to-day value.
This prevents the most common scope mistake: treating a list of database tables as a migration plan. A loyalty balance, for example, is not useful unless the new loyalty system recognises it. A subscription record is not complete unless its payment mandate and renewal schedule remain valid.
/ By data type ( 10 )
Shopify migration data by type.
Data type — usually migratable? Then the typical caveat.
( Data type — usually migratable? )
01Products and variants — Yes. Options, media, metafields and variant rules need mapping.
02Inventory — Yes. Must be assigned to the correct Shopify locations.
03Customers — Yes. Passwords and marketing consent require special handling.
04Historical orders — Usually. Financial, fulfilment and notification behaviour must be controlled.
05Collections/categories — Yes, with redesign. Deep category trees do not map one-to-one.
06Pages and blogs — Yes. HTML, media, authorship and URLs need cleanup.
07Redirects and SEO fields — Yes. URL parity and duplicate chains require validation.
08Discounts and gift cards — Partly. Platform-specific rules may need recreation.
09Reviews, loyalty, subscriptions — Often. Controlled by the destination app and its import format.
10Payments and passwords — Rarely direct. Security rules prevent ordinary export/import.
/ Data set by data set
What each record type really involves.
Products
Products, variants and media
Product records are usually the most visible migration workstream. A complete scope can include titles, descriptions, handles, vendors, product types, status, tags, options, variants, SKUs, barcodes, prices, compare-at prices, costs, weights, tax settings, images, video references, SEO titles and descriptions, and custom attributes.
The main constraint is model compatibility. A source platform may support more option dimensions, unusual product bundles, customer-specific pricing or configurable products that do not correspond neatly to Shopify variants. Those products need a deliberate target model, not forced columns in a CSV. Custom data can often live in Shopify metafields, while structured content shared across products may be better represented by metaobjects.
Media deserves its own test. Confirm image order, alt text, variant association, source quality and ownership. Do not rely indefinitely on the old store to host image URLs: download or move assets into a controlled destination.
Inventory
Inventory, warehouses and locations
Inventory is more than an on-hand number. It has to be mapped by SKU or another stable identifier, then allocated to the correct Shopify location. A business with retail stores, a 3PL, dropship suppliers and reserved stock may need location-specific rules and integration testing before launch.
For cutover, agree which system is the inventory authority and when updates stop in the old platform. Importing a week-old stock snapshot into Shopify while the source continues taking orders creates overselling before the new store even launches.
Customers
Customers, addresses and consent
Customer profiles can normally include names, email addresses, phone numbers, addresses, tags, notes, tax status and selected custom attributes. Customer segments should usually be rebuilt from Shopify data rather than copied as static lists.
Password hashes are platform-specific and generally cannot be imported as working Shopify passwords. Plan an account activation or password-reset journey, explain it clearly, and test the experience before launch. For customer accounts, confirm whether the store will use classic accounts or Shopify’s newer customer accounts because the login journey differs.
Marketing consent is not simply a yes/no column. Preserve the consent state, source and timestamp where available, and only map it into Shopify or a connected email platform where the evidence supports that action. A migration is not permission to subscribe every historic customer.
Orders
Historical orders, refunds and fulfilments
Historical orders are valuable for customer service, lifetime value analysis, segmentation and repeat-purchase context. They may include order numbers, dates, customer links, line items, prices, tax, discounts, shipping, billing and delivery addresses, fulfilment state, payment state, refunds, notes and tracking data.
They are also one of the hardest record types to reproduce faithfully. Shopify’s Admin API provides order-creation capabilities, but an imported order is not a perfect replay of every event that occurred on the source platform. Payment transactions, risk decisions, edits, fulfilment events, staff actions and gateway metadata may not have a clean equivalent.
Imported orders must be clearly marked and tested so they do not trigger customer emails, inventory deductions, fulfilment requests, accounting exports or automations unexpectedly. For some merchants, importing a defined window of recent orders and retaining the full history in an archive is safer than pushing ten years of legacy records into the live admin.
Collections
Collections, categories and navigation
Source categories can become manual collections, automated collections, product taxonomy, tags, metafields and navigation links. They should rarely be copied one-for-one. Deep trees often reflect the limitations of the old platform rather than how customers now shop.
Build the Shopify catalogue architecture first, then map source categories into it. Preserve commercially important landing pages and URLs, but use the migration to remove duplicate and empty categories rather than reproducing them.
Content
Pages, blog posts and files
Pages and articles can move with titles, body content, publish dates, excerpts, featured images, authors and SEO metadata where the source exposes them. The HTML normally needs sanitation: old shortcodes, inline styles, scripts, widgets and absolute links can break inside a Shopify theme.
Files such as size guides, PDFs and downloadable manuals should be inventoried, transferred and relinked. Check legal pages carefully; migration is an opportunity for counsel and operations teams to review them, not an assumption that old text remains suitable.
SEO
SEO metadata and URL redirects
A sound SEO migration includes source URLs, proposed destination URLs, page types, indexability, canonical intent, title tags, meta descriptions and redirect rules. Shopify URL structures differ from many platforms, so some path changes are unavoidable.
Create one-to-one 301 redirects for valuable changed URLs. Avoid sending every retired page to the homepage, and remove redirect chains where possible. Crawl the source before cutover, then crawl Shopify in staging and again after DNS changes. Rankings are protected by relevance and technical consistency, not by importing metadata alone.
Discounts
and credit
Discounts, gift cards and store credit
Simple discount codes may be recreated, but complex promotion engines seldom map exactly. Buy-one-get-one rules, tiered offers, customer-group pricing and stackability need to be redesigned using Shopify’s native discount capabilities, Shopify Functions or an app.
Outstanding gift card and store-credit balances are financial liabilities. Reconcile totals before migration, use a supported import route, and validate a sample of codes and balances. Never treat these records as ordinary coupons.
App data
Reviews, loyalty, subscriptions and wishlists
These data sets usually belong to applications rather than Shopify core. The destination app defines what can be imported: review text, ratings, media, verified-purchase status, points balances, tiers, referral records, wishlist items or subscription contracts.
Subscriptions need particular care because recurring payment credentials are governed by payment providers and token portability. Confirm the migration route with the source subscription system, destination app and payment provider before promising uninterrupted renewals. A CSV of subscriber names is not a functioning subscription migration.
B2B
and ops
B2B, markets, taxes and operational data
For Shopify Plus B2B, scope companies, company locations, contacts, catalogues, price lists, payment terms and tax identifiers separately from ordinary customer records. International merchants should also map market assignments, currencies, languages, duties, tax treatments and regional domains.
Operational records such as supplier IDs, ERP keys, return merchandise authorisations, purchase orders and warehouse attributes may belong in metafields or, more often, remain authoritative in an ERP, PIM, OMS or WMS. The right question is not “Can Shopify store it?” but “Which system should own it after launch?”
( The hard limits )
What usually cannot move cleanly.
Rarely transfers 07 record types
Customer passwordsHashes are generally not portable between authentication systems.
Raw payment credentialsCard data cannot be exported and imported like catalogue data; provider-led token migration may be possible in specific cases.
Platform event historyEvery admin action, status transition, fraud check and log entry may not have a Shopify equivalent.
Historical analyticsSource reports and attribution models do not become native Shopify analytics by importing orders.
Theme and extension codeTemplates, plugins and checkout customisations must be rebuilt for Shopify’s architecture.
App behaviourConfiguration, workflows and integrations need recreation and end-to-end testing.
Unsupported or low-quality recordsMalformed addresses, duplicated customers, orphaned variants and missing relationships require a business decision.
/ Migration methods ( 03 )
Choose the migration method by complexity.
01 · CSV
Native CSV imports
CSV is practical for relatively clean product and customer data, especially in smaller catalogues. It is transparent and easy to review, but it is not a universal migration format. Relationships, advanced custom data, large media sets, order history and repeatable error handling quickly become cumbersome.
02 · Apps
Migration apps and connectors
A reputable migration app can accelerate common platform-to-Shopify moves. Evaluate it against your actual fields, not its headline list of supported entities. Ask how it handles variants, historical order states, customer IDs, redirects, delta migrations, errors and post-import reconciliation.
03 · API
Custom API migration
A custom pipeline is appropriate when data volumes are high, mappings are unusual, multiple source systems are involved or the migration must be repeatable. Shopify’s GraphQL Admin API supports asynchronous bulk mutation operations for large data sets. Shopify documents limits including a 100 MB JSONL input file and a 24-hour completion window for an individual bulk mutation operation, so large jobs should be partitioned and monitored rather than treated as a single upload.
The best method is often hybrid: APIs for core records, app-specific imports for subscriptions or reviews, manual configuration for operational settings, and an archive for data that should not enter the production store.
/ Transformation
Transformation is the real migration work.
Extraction tells you what exists. Transformation decides what it should mean in Shopify. Build a field-level mapping workbook with the source field, source type, sample value, target Shopify object, target field, transformation rule, required/optional status, owner and validation rule.
Design the import to be idempotent where possible: rerunning a batch should update the intended record rather than create duplicates. This matters because serious migrations are rehearsed more than once.
01Normalise SKUs, country codes, dates, phone numbers and HTML.
02Deduplicate customers using agreed identity rules rather than email alone.
03Map stable external IDs into metafields so records can be traced and rerun safely.
04Convert source taxonomies into Shopify collections, taxonomy, tags and metafields.
05Define default values explicitly; do not let missing data silently become plausible but incorrect data.
06Record rejects with a reason and resolution owner.
/ Import order ( 10 )
Import in dependency order.
Shopify records reference one another, so sequence matters. A typical order is:
( A typical sequence )
01Configure foundations: markets, currencies, languages, taxes, locations, shipping and required apps.
02Create catalogue structures: metafield definitions, metaobjects, taxonomy decisions and media handling.
03Import products and variants: establish stable product and variant IDs.
04Load inventory: connect quantities to variants and locations.
05Create collections and navigation: once products and attributes exist.
06Import customers and companies: preserve source identifiers and consent evidence.
07Import historical orders: after products and customers can be referenced, with side effects suppressed.
08Move content and SEO records: pages, blogs, files, metadata and redirects.
09Load app-owned data: reviews, loyalty, subscriptions and wishlists according to each provider’s process.
10Run a final delta: capture records created or changed after the initial extraction.
Shopify notes that bulk mutation inputs are not processed serially. Do not rely on line order inside a bulk file to create dependencies. Separate dependent object types into controlled stages.
( Validation )
Validate business outcomes, not just row counts.
A migration can match its source row count and still be unusable. Validation should happen at four levels.
ReconciliationCompare counts and financial totals by status, date range, location and currency.
Field validationCheck required fields, formats, uniqueness, references and transformed values.
Sample inspectionReview normal and difficult records, including multi-variant products, international addresses, refunded orders and customer duplicates.
Operational testingPlace orders, issue refunds, fulfil products, search customers, apply discounts, browse collections and test integrations.
/ Archive
Decide what belongs in an archive.
Moving everything into Shopify is not automatically the safest or most useful outcome. An accessible archive can be better for old orders, audit logs, discontinued product detail, obsolete CMS revisions and data retained solely for legal or tax reasons.
Make archive decisions with customer service, finance, legal, data protection and operations. Define who can search the archive, how long data is retained, how access is audited, how deletion requests are fulfilled and what happens when the old platform is decommissioned. A forgotten production database is not an archive strategy.
/ Before you choose ( 08 )
Questions to answer before selecting a migration partner.
+Which source systems are authoritative for products, customers, orders and inventory?
+Can you show a field-level mapping and sample transformed output before full import?
+How will you prevent emails, fulfilments and automations firing on historical orders?
+What is the rehearsal, reconciliation and rollback plan?
+How will new and changed records be captured during the migration window?
+Which data will be recreated, archived or deliberately excluded?
+How are credentials, personal data and temporary extracts secured and deleted?
+Who owns post-launch corrections and how will failed records be rerun?
/ FAQ ( 08 )
Shopify migration data FAQs.
What data can be migrated to Shopify?
Most core commerce data can move, including products, variants, inventory, customers, addresses, historical orders, collections, pages, blogs, redirects and selected discounts. Reviews, loyalty, subscriptions and wishlists can often move through the destination app. Passwords, payment credentials and complete platform event history usually cannot transfer directly.
Can customer passwords be migrated to Shopify?
Usually not. Password hashes are tied to the source authentication system and are not ordinarily portable as working Shopify passwords. Plan a customer activation or password-reset journey and test the communications and login experience before launch.
Can historical orders be imported into Shopify?
Yes, historical orders can often be created through an app or the Shopify Admin API. However, not every source event or payment detail has an exact equivalent. Test financial and fulfilment states carefully and ensure imported orders do not trigger notifications, stock movements or external workflows.
Will Shopify keep the same product and order IDs?
No. Shopify creates its own internal IDs. Preserve the source identifiers in a controlled metafield, tag or external mapping table so the migration can be reconciled and integrations can translate between old and new records.
Should all legacy orders be imported?
Not necessarily. Import the history that customer service, segmentation and operations genuinely need. Very old records may be safer in a secure searchable archive, particularly when their source structure cannot be represented accurately or importing them would trigger unwanted downstream behaviour.
How long does a Shopify data migration take?
It depends on volume, source quality, custom fields, integrations and how many rehearsals are required. A small clean catalogue may take days; a multi-market migration with subscriptions, B2B data and several source systems can take months. Mapping and validation usually consume more time than the final import.
Is CSV enough for a Shopify migration?
CSV can be enough for straightforward product and customer imports. It becomes limiting when you need historical orders, complex relationships, large volumes, custom data, repeatable transformations or detailed error recovery. Larger projects normally use APIs, specialist apps or a hybrid approach.
How do you validate Shopify migration data?
Compare source and destination counts and totals, validate required fields and relationships, inspect representative edge cases, and test real workflows such as search, checkout, refunds and fulfilment. Record rejected rows and obtain business-owner sign-off against pre-agreed acceptance criteria.
/ Next
Plan the data before the cutover.
Signature Works designs Shopify and Shopify Plus migrations around the target operating model, not a generic entity checklist. We map source records, rebuild platform-specific behaviour, rehearse imports, reconcile results and plan the final delta so the new store launches with data teams can trust.
Also worth a look: Migrations and rescues · Store audits · Shopify technical ownership
/ Next
Want this done on your store?
Tell us what’s going on. A first look costs nothing.