k-sync
Back to blog

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.

·By k-sync
5 min read · 1,067 words

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 typeMigratable?How
Customer name + emailYesAutomated via migration tools
Shipping addressesYesAutomated
Order historyYes (with caveats)Migration service or manual CSV
Customer tagsYesManual mapping or migration tool
Customer notesYesManual or via migration tool
PasswordsNoCustomers must reset
Payment methods (stored cards)NoCannot be transferred
Loyalty pointsYes (manual)CSV import to loyalty app
Wishlist itemsPartialExport + re-import via app
Active subscriptionsNoCustomers 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:

  1. Provide your WooCommerce URL + API credentials (or database access)
  2. Provide your Shopify Admin API credentials
  3. The service migrates products + customers + orders in sequence
  4. 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:

ColumnRequired?Notes
First NameYes
Last NameYes
EmailYesMust be unique
CompanyNo
Address1No
Address2No
CityNo
ProvinceNoState/province code
Province CodeNoISO code (e.g., CA for California)
CountryNoCountry name
Country CodeNoISO 2-letter code (e.g., US)
ZipNo
PhoneNo
Accepts Email MarketingNoyes / no
TagsNoComma-separated
NoteNo

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:

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)

  1. Import customers to Shopify with send_email_invite: false
  2. After import, use Shopify's bulk customer actions to send account invite emails to all customers
  3. 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:

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:

Summary: customer migration steps

  1. Export customers from WooCommerce (WooCommerce admin → Customers → Export CSV)
  2. Map columns to Shopify customer CSV format
  3. Clean data: normalize country codes, remove invalid emails, flag marketing consent
  4. Import to Shopify (admin → Customers → Import)
  5. Verify a sample of imported customers in Shopify admin
  6. Send account activation / password reset email to all customers
  7. 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 free

Related reading

Browse all migration guides