k-sync
Back to blog

WooCommerce to Shopify: what doesn't migrate automatically (2026)

A complete list of WooCommerce data that requires manual work when migrating to Shopify: custom fields, reviews, subscriptions, discount codes, loyalty points, and more.

·By k-sync
8 min read · 1,657 words

One of the most common surprises during a WooCommerce to Shopify migration is discovering that certain data types don't transfer automatically. No migration tool — managed or self-service — moves everything. Understanding what requires manual work helps you plan accurately and avoid nasty surprises after launch.

This article covers everything that typically doesn't migrate automatically, why it doesn't, and what you can do about it.

What migrates automatically

To be clear about scope, most tools (including k-sync, LitExtension, and Cart2Cart) can handle these automatically:

What doesn't migrate automatically

1. Customer passwords

Why it doesn't migrate: WooCommerce stores passwords as bcrypt hashes (WordPress standard). Shopify uses its own authentication system and won't import password hashes from an external source — even if you could export them.

What to do: Customers need to reset their passwords. Most migration services send a "password reset" email to all migrated customers automatically. Communicate this before launch: tell customers their data is safe and they need to set a new password. Most customers accept this if you explain it clearly.

2. Product reviews and ratings

Why it doesn't migrate: WooCommerce reviews are stored as WordPress comments with custom meta. Shopify's native review system is different, and importing external reviews requires either a Shopify review app with import support or manual CSV upload.

What to do: Export reviews from WooCommerce (via plugin or direct DB query). Import into a Shopify review app like Judge.me or Stamped.io, which support bulk import from CSV. This takes 2–4 hours but preserves your review content and star ratings.

3. WooCommerce subscriptions

Why it doesn't migrate: WooCommerce Subscriptions (the plugin) stores billing cycles, renewal dates, and payment tokens in WordPress. Shopify's subscription system (via Recharge or Shopify Subscriptions) is completely different. Payment tokenization is non-transferable — customers' stored payment methods cannot move between payment processors.

What to do: You cannot migrate active subscriptions automatically. Options:

This is often the biggest challenge for subscription-heavy stores and is worth serious consideration before migrating.

4. Custom fields and WooCommerce meta (not standard product fields)

Why it doesn't migrate: WooCommerce stores custom product data in the wp_postmeta table. Standard fields (price, SKU, weight) are automatically extracted by migration tools. But custom fields added by plugins or bespoke development are arbitrary key-value pairs — no tool knows what they mean or how they map to Shopify.

What to do: Map important custom fields to Shopify metafields. Shopify metafields support text, numbers, dates, booleans, and references. You'll need to:

  1. Identify which custom fields matter
  2. Create corresponding metafield definitions in Shopify
  3. Export the custom field data from WooCommerce
  4. Import via Shopify's metafield import (CSV or API)

5. Discount codes and coupons

Why it doesn't migrate: WooCommerce discount codes are stored in WordPress with WooCommerce-specific logic. Shopify's discount system works differently: percentage vs fixed, free shipping, buy X get Y — the underlying models don't match 1:1.

What to do: Recreate your most important discount codes manually in Shopify. For most stores, the active discount codes at any given time are few enough to recreate by hand in 30–60 minutes. Expired or rarely-used codes don't need to be migrated.

6. Customer groups and wholesale pricing

Why it doesn't migrate: WooCommerce has user roles (Customer, Wholesale Customer, etc.) with different pricing tiers. Shopify doesn't have native customer groups — the equivalent is Shopify B2B (requires Shopify Plus) or a third-party app like Wholesale Gorilla.

What to do: Decide which approach fits your needs. If you have a small number of wholesale customers, you can tag them manually in Shopify and use an app for tiered pricing. If wholesale is a significant part of your business, budget for Shopify B2B setup time.

7. Blog posts and pages

Why it doesn't migrate: Most product migration tools focus on product data only. Blog posts (WordPress posts) and static pages have different HTML structures, internal links pointing to your WordPress URLs, and embedded images from your old media library.

What to do: Manually migrate your most important blog content. Or use Matrixify, which can import blog posts directly. Don't migrate posts with internal links until you've set up URL redirects — otherwise internal links will point to your old WordPress URLs.

8. Gift cards with balances

Why it doesn't migrate: WooCommerce gift cards (via plugins like YITH Gift Cards) are stored in WooCommerce as custom order types. Shopify's gift card system is completely separate.

What to do: Export active gift card balances from WooCommerce. Create corresponding gift cards in Shopify manually. This works for small numbers of outstanding gift cards. For large volumes, contact Shopify support — they have an import process for this scenario.

9. Loyalty points and rewards balances

Why it doesn't migrate: If you use a WooCommerce rewards plugin (like WooCommerce Points and Rewards), customer point balances are stored in WordPress. Shopify loyalty apps (Smile.io, Yotpo Loyalty, LoyaltyLion) don't support importing balances from WooCommerce automatically.

What to do: Most Shopify loyalty apps support bulk importing point balances via CSV. Export point balances from WooCommerce, format for the target app's import format, and import. Contact the loyalty app's support team — they usually have migration assistance.

10. Custom checkout fields

Why it doesn't migrate: WooCommerce lets you add custom fields to checkout (order notes, delivery date, gift message, etc.). Shopify's checkout customization is more limited on standard plans. Custom checkout fields require Shopify Checkout Extensions (available on all plans via the admin) or Shopify Plus for full custom checkout.

What to do: Evaluate which custom checkout fields are essential. Shopify's checkout editor (admin → Settings → Checkout) lets you add some customizations without code. For complex requirements, look at Checkout Extensions (standard) or a Shopify Plus upgrade.

11. Custom URLs and URL structure

Why it doesn't migrate: WooCommerce product URLs default to /product/product-name/. Shopify's product URLs use /products/product-name/. Blog posts, category pages, and shop pages all have different URL patterns.

What to do: Set up 301 redirects before launching. This is critical for SEO. Shopify supports bulk redirect import via CSV. Map your old WooCommerce URLs to Shopify URLs and import all at once. Tools like Screaming Frog can crawl your WooCommerce site to generate a complete URL list.

12. Tax configuration and tax classes

Why it doesn't migrate: WooCommerce tax classes, rates, and configuration are stored in WordPress settings. Shopify has its own tax system with different geography-based rules.

What to do: Reconfigure tax settings manually in Shopify. If you're in the US, Shopify Tax automatically calculates rates for US states. For EU VAT, use Shopify's EU tax compliance features or a third-party tax app. Don't assume your WooCommerce tax setup will match Shopify's automatically — verify your first few orders.

13. Shipping zones and rates

Why it doesn't migrate: WooCommerce shipping configuration (zones, methods, rates) is stored in WordPress. Shopify's shipping system works differently — carrier-calculated shipping, weight-based rates, and price-based rates all need to be configured manually.

What to do: Review your WooCommerce shipping zones and recreate them in Shopify's shipping settings. If you use carrier-calculated rates, you'll need a Shopify plan that includes that feature (standard Shopify and above). Test shipping rates with test orders before launching.

14. Analytics data and conversion history

Why it doesn't migrate: Google Analytics conversion history, heatmaps (Hotjar, Lucky Orange), and A/B test results are tied to your domain and specific URLs — not to a platform. However, the data stays in your analytics accounts as long as you keep the same domain.

What to do: Ensure your Google Analytics property is connected to Shopify before launching. Your historical data remains in GA. After migration, configure GA4 events for Shopify (purchases, add to cart, etc.) — Shopify has native GA4 integration.

Migration checklist: non-product data

Data typeManual work required?Effort
Customer passwordsYes — send reset emailsLow (automated)
Product reviewsYes — export/import CSVMedium (2–4 hrs)
Active subscriptionsYes — manual re-enrollmentHigh
Custom product fieldsYes — map to metafieldsMedium–High
Discount codesYes — recreate key codesLow (30–60 min)
Customer groups/wholesaleYes — app setup + taggingMedium
Blog postsYes — manual or MatrixifyMedium
Gift card balancesYes — manual or CSV importMedium
Loyalty pointsYes — app importMedium
URL redirectsYes — bulk redirect importMedium (3–5 hrs)
Tax configurationYes — manual reconfigurationLow–Medium
Shipping zonesYes — manual reconfigurationLow–Medium
Analytics trackingPartial — reconnect GALow

Planning advice

Budget 2–3x more time than you think you need for a WooCommerce to Shopify migration. The product data is the easy part — it's everything else that takes time. A realistic migration timeline for a mid-size store:

Total realistic timeline: 2–4 weeks for a typical store. Complex stores (subscriptions, B2B, large blog) may take 6–10 weeks.

Start with the product migration to validate your data before investing in theme work. Tools like k-sync let you import products, validate them with visual feedback, and push to a development Shopify store — so you can confirm the product data is correct before touching anything else.

Start the product migration free — k-sync free tier, no credit card required.

Migrate your store with k-sync

Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.

Get started free

Related reading

Browse all migration guides