Skip to content
Ekomerzzer

Blog

What Actually Gets Migrated: Products, Customers, Orders, and What Doesn't Transfer Automatically

A detailed, honest breakdown of what transfers cleanly in a WooCommerce to Shopify migration and what needs manual attention.

"Full migration" gets used loosely in this industry, and it means different things depending on who's saying it. Some of what's in your WooCommerce store maps cleanly onto Shopify's data model. Some of it doesn't map at all and needs to be rebuilt or reconsidered. Knowing which is which before you start saves a lot of mid-migration surprises.

Transfers cleanly, in almost every case

Products, including variants. Product titles, descriptions, images, prices, SKUs, and variant options (size, color, etc.) map well between the two platforms. Variant limits differ slightly — Shopify's variant system has its own constraints — but for the large majority of catalogs this is a non-issue.

Product images. Including alt text, when it's been set. Image order is generally preserved.

Collections/categories. WooCommerce product categories map to Shopify collections. Manual collections transfer straightforwardly; automated/smart collection rules sometimes need to be recreated to match Shopify's rule syntax rather than copied directly.

Customers. Names, emails, addresses, and order history association all transfer. Note: customer passwords do not transfer — this is a platform limitation on both sides, not a migration failure, and customers will need to reset their password on first login to the new store.

Order history. Past orders, including line items and totals, migrate and display correctly in Shopify's admin, which matters for customer service continuity and reporting.

Discount codes. Simple percentage or fixed-amount codes transfer well. More complex conditional discount logic (tiered, role-based, cart-condition-based) often needs to be rebuilt using Shopify's discount system or an app, since the underlying logic frameworks aren't identical.

Needs mapping or manual attention

SEO metadata and URLs. Titles and meta descriptions can transfer, but the URL structure itself will change, which means redirects need to be built deliberately — see our full piece on migration SEO for why this matters so much.

Custom fields and product metadata. If your WooCommerce products use custom fields (via ACF or a similar plugin) for things like material specs, care instructions, or custom attributes, these need to be mapped to Shopify metafields individually. This is usually straightforward but does require someone to define the mapping — it's not automatic.

Reviews. Native WooCommerce reviews don't have a direct Shopify equivalent; they're typically migrated into a Shopify review app (Judge.me, Loox, etc.), which requires choosing an app and formatting the review data to match its import structure.

Subscriptions. If you're running WooCommerce Subscriptions, active subscriptions need to be recreated in Shopify's subscription system (native or via an app like Recharge), and this genuinely requires careful handling — you generally cannot simply "import" an active recurring billing relationship without some manual reconciliation, particularly around next-billing-date alignment.

Generally does not transfer, or requires a rebuild

Custom checkout logic. Any custom PHP written into your WooCommerce checkout flow needs to be redesigned within Shopify's checkout extensibility framework (on eligible plans) rather than migrated directly — the underlying systems are too different to port code between them.

Highly custom plugin functionality. A bespoke product configurator, a custom quote-request system, unusual B2B pricing logic — anything built as custom code specifically for your WooCommerce setup needs to be evaluated case by case. Sometimes there's a Shopify app that replicates the functionality; sometimes it needs custom development.

Theme design and layout. Your WooCommerce theme's design doesn't transfer — you're selecting or building a Shopify theme and applying your branding to it. This is often treated as an opportunity for a refresh rather than a pure like-for-like recreation, but it does mean design work is part of the project, not a side effect of data migration.

Blog comments. Blog post content itself typically migrates, but comment threads often don't transfer cleanly and are handled case by case depending on the commenting system in use.

Why "what gets migrated" matters before you start

The most common source of migration frustration isn't anything going wrong technically — it's mismatched expectations about what "migration" includes. A clear, written scope of exactly what will transfer automatically, what needs mapping, and what needs to be rebuilt, agreed before work begins, is what separates a smooth migration from one that feels like it's full of surprises. If you're evaluating a migration service or tool, ask specifically for this breakdown before committing — a vague "we migrate everything" answer is a reasonable thing to be skeptical of.

Ready to look at the store itself?

Book a migration call. We walk through catalog size, plugins, and what would actually move.

Book a migration call