How to migrate customer data from WooCommerce to Shopify (2026)
Step-by-step guide for migrating customer accounts, order history, and addresses from WooCommerce to Shopify. What migrates automatically, what doesn't, and how to handle passwords.
Migrating customer data is separate from migrating products. Products are the easy part — customers, orders, and accounts are significantly more complex. This article explains what's possible, what requires manual work, and how to approach customer migration without breaking your customers' experience.
What customer data can be migrated
| Data type | Migratable? | How |
|---|---|---|
| Customer name + email | Yes | Automated via migration tools |
| Shipping addresses | Yes | Automated |
| Order history | Yes (with caveats) | Migration service or manual CSV |
| Customer tags | Yes | Manual mapping or migration tool |
| Customer notes | Yes | Manual or via migration tool |
| Passwords | No | Customers must reset |
| Payment methods (stored cards) | No | Cannot be transferred |
| Loyalty points | Yes (manual) | CSV import to loyalty app |
| Wishlist items | Partial | Export + re-import via app |
| Active subscriptions | No | Customers must re-subscribe |
Method 1: Managed migration service (LitExtension / Cart2Cart)
The easiest way to migrate customers and orders together is a managed service. LitExtension and Cart2Cart can migrate both in one operation:
- Provide your WooCommerce URL + API credentials (or database access)
- Provide your Shopify Admin API credentials
- The service migrates products + customers + orders in sequence
- You get a report of what migrated and what failed
Cost: typically $89–$299 depending on store size (both include customer + order migration). This is the fastest option for non-technical merchants.
Method 2: Shopify's customer CSV import
Shopify accepts customer data via CSV import. The Shopify customer CSV format:
| Column | Required? | Notes |
|---|---|---|
| First Name | Yes | |
| Last Name | Yes | |
| Yes | Must be unique | |
| Company | No | |
| Address1 | No | |
| Address2 | No | |
| City | No | |
| Province | No | State/province code |
| Province Code | No | ISO code (e.g., CA for California) |
| Country | No | Country name |
| Country Code | No | ISO 2-letter code (e.g., US) |
| Zip | No | |
| Phone | No | |
| Accepts Email Marketing | No | yes / no |
| Tags | No | Comma-separated |
| Note | No |
To export customers from WooCommerce: go to WooCommerce → Customers → Export (or use a plugin like Customer/Order CSV Export). Map the WooCommerce fields to Shopify's format in a spreadsheet, then import via Shopify admin → Customers → Import.
Method 3: Shopify Admin API (for developers)
For large customer databases or complex requirements, use the Shopify Admin API to create customers programmatically:
POST /admin/api/2024-01/customers.json
{
"customer": {
"first_name": "Jane",
"last_name": "Smith",
"email": "jane@example.com",
"phone": "+15551234567",
"verified_email": true,
"addresses": [
{
"address1": "123 Main St",
"city": "Boston",
"province": "Massachusetts",
"country": "United States",
"zip": "02101",
"country_code": "US",
"province_code": "MA"
}
],
"send_email_invite": false
}
}
Set send_email_invite: false unless you want Shopify to send each customer an invitation email during import (you probably don't — send a single announcement email to all customers yourself).
Order history migration
Migrating order history is significantly more complex than migrating customers:
- Orders reference products (by ID or SKU) — you need products migrated first
- Orders reference customers — you need customers migrated first
- Shopify's order creation API has limitations: you can't set completed_at in the past for all plan types, and Shopify Plus is required for full historical order import via API
- Payment details (transaction IDs, gateway references) don't transfer
Options for order history:
Import as archived orders (Shopify Plus): If you're on Shopify Plus, you can use the Orders API to create historical orders with accurate timestamps and all line items. This gives you full searchable order history in Shopify.
Keep WooCommerce for historical reference: The most common approach. Keep your WooCommerce installation running (password-protected, not accepting new orders) as an order history archive. Staff can look up old orders there. This is simpler and avoids the complexity of order migration.
Export to CSV for records: Export all WooCommerce orders to CSV before decommissioning. Store the CSV in Google Drive or similar. Not searchable in Shopify but preserves the data.
Use a migration service: LitExtension migrates orders to Shopify. They appear in your order list but payment status shows as "imported" since payment processor data doesn't transfer. Works on standard Shopify plans.
Handling the password problem
Customer passwords cannot be migrated. Here's how to handle it:
Option 1: Send password reset emails (recommended)
- Import customers to Shopify with
send_email_invite: false - After import, use Shopify's bulk customer actions to send account invite emails to all customers
- Alternatively, send your own email explaining the migration and including a direct link to create their password
The account activation URL in Shopify: https://your-store.myshopify.com/account/activate/CUSTOMER_ID/TOKEN — this can be fetched via the Admin API for each customer.
Option 2: Let customers reset on first login
Simply import customers and don't send any proactive emails. When customers try to log in (and can't because they don't have a Shopify password), they'll click "Forgot password" and reset. This is passive but avoids a potentially confusing mass email.
What to communicate to customers
Send a migration announcement email before or on launch day:
We've upgraded to a new platform to serve you better. Your account and order history are safe. You'll need to set a new password on your first visit — just click [Forgot Password] when you log in, or use the link below: [Account activation link].
Segmentation and customer tags
WooCommerce uses user roles (Customer, Subscriber, Wholesale Customer) for segmentation. Shopify uses tags. Map your WooCommerce roles to Shopify tags during the CSV import:
- Wholesale customers → tag: "wholesale"
- VIP customers → tag: "vip"
- Email subscribers → tag: "newsletter"
You can then use these tags to create customer segments in Shopify for email marketing (Shopify Email, Klaviyo) and for price rules (discount codes for tagged customers).
GDPR considerations
If your store serves EU customers:
- You're moving personal data (names, emails, addresses) between platforms — ensure your privacy policy covers this
- Shopify is GDPR-compliant and provides the tools to honor deletion requests
- Don't import customers who have previously requested deletion
- Import marketing consent status accurately — only import
Accepts Email Marketing: yesfor customers who explicitly opted in
Summary: customer migration steps
- Export customers from WooCommerce (WooCommerce admin → Customers → Export CSV)
- Map columns to Shopify customer CSV format
- Clean data: normalize country codes, remove invalid emails, flag marketing consent
- Import to Shopify (admin → Customers → Import)
- Verify a sample of imported customers in Shopify admin
- Send account activation / password reset email to all customers
- For order history: decide between migration service, archive approach, or CSV export
Customer migration is manageable for most stores. The main work is data formatting and communication — the technical parts are straightforward if you use Shopify's CSV import or a managed service.
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 freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.