Risk Free, Backed By Our 90-Day Money Back Guarantee
 - 
Read More
Lifetime Licenses Are Ending Soon, Get Yours Before They're Gone
 - 
Read More
Risk Free, Backed By Our 90-Day Money Back Guarantee
Pricing

You may have seen some references on our site to annual licensing or renewals.

All plugins currently come with a lifetime license, no matter what the site says.

We’re currently running tests before we make the switch to annual pricing. Check the Discounts tab to purchase our other plugins and get a lifetime license before they’re gone.

I Understand I Have a Lifetime License
Now is your last chance to buy a lifetime license before we switch to annual pricing. Existing licenses will be unaffected.
Read More
200,000+ Active Installs
1500+ 5 Star Reviews
Pricing
Now is your last chance to buy a lifetime license before we switch to annual pricing. Existing licenses will be unaffected.
Read More
200,000+ Active Installs
1500+ 5 Star Reviews
Pricing

How to Export and Import Customer Accounts from Shopify to WooCommerce

Looking to export and import your Shopify customer accounts into WooCommerce?

Most stores that decide to leave Shopify do so after months of weighing transaction fees, ownership of data, and platform flexibility. By the time the actual migration starts, they have years of customer accounts and order history that all need to come along. The good news is that what matters most to your customers moves cleanly if you have the right setup.

In this guide, we'll walk you through the Shopify to WooCommerce customer export and import process and also cover some advanced cases.

What Do You Need to Export and Import Customer Accounts from Shopify to WooCommerce

The migration needs two things: the customer export file from Shopify on one end, and the two WordPress plugins that handle the WooCommerce side on the other.

Shopify's built-in export produces the CSV file that becomes the source data. On the WooCommerce side, the same basic WooCommerce customer export and import process that handles any other customer import also handles this Shopify-to-WooCommerce migration.

Part 1: Exporting Customer Accounts from Shopify

The Shopify side of the migration is handled by its built-in export tool, not by WP All Export. Once you decide which customer accounts to move, the export takes just a few minutes and gives you a CSV file ready for WP All Import on the WooCommerce side.

How to Export Customer Accounts from Shopify

1. Open Customers in Your Shopify Admin and Click Export

In your Shopify admin, navigate to Customers. You will see the full customer list with search and filter options at the top. Click the Export button at the top of the page to open the export dialog.

Shopify customer accounts export

2. Create Your Customer Account Export File

After you click Export, a dialog opens with three configuration sections. Each one controls a different part of what you get in the export file.

Customers selected: The default is All customers, which exports every customer account in your store.

Shopify Customer export dialog

The Fields included section lets you add optional data alongside the default fields:

  • Customer tags: Comma-separated tags like VIP, wholesale, or newsletter
  • Customer metafields: Supported metafields attached to customer records

Tick both checkboxes for a customer migration. Tags are particularly valuable because they carry segmentation data that usually does not survive a platform switch by default. Metafields capture custom data your store has added to customer records, which you will want to preserve on the WooCommerce side.

The File format section at the bottom gives you two options:

  • CSV for Excel, Numbers, and other spreadsheet programs
  • Plain CSV file

Choose the spreadsheet-compatible CSV if you plan to review or edit the file before importing. Plain CSV is fine if you are handing the file straight to WP All Import without intermediate edits.

Configure all three sections, then click Export customers at the bottom right of the dialog. 

3. Download the File or Wait for the Emailed Link

When you click the Export button, Shopify processes the file in the background and emails a download link to the store owner's email address (and to any other admin who triggered the export).

Shopify email for customer export

Exported CSV files are capped at 15 MB. If your file approaches that limit, you can split the export using the Selected customers option or by applying a filter (for example, customers who registered in the last 12 months) and run the export in two or more batches.

4. Review the Shopify Customer Data

Open the customer data CSV in your spreadsheet application. You should see the standard Shopify customer columns like First Name, Last Name, Email, and the Default Address family of fields. Check that the email column is populated for every row, since that is the field WP All Import will use as the unique identifier on the WooCommerce side.

Shopify customer export file

If the email column has blanks, decide whether to fill them in or exclude those rows before moving on to the WooCommerce import. Guest checkouts, in contrast, do not appear in the customer export at all because they are not registered accounts.

What Shopify Customer Data Can You Export

Before moving to the WooCommerce side, you should check exactly which fields Shopify includes in the export. The default export covers everything you need for a customer migration, with one major gap: Shopify does not export customer account passwords because they are bcrypt-hashed and not retrievable. Every imported customer will need to reset their password on first login, and we will cover that flow in the advanced section.

The fields in the export are organized into four categories.

Account Fields

These come from the customer profile directly:

  • First Name: The customer's first name
  • Last Name: The customer's last name
  • Email: The customer's email address. This column is required, but the value can be blank
  • Phone: A single phone number per customer in E.164 format (for example, +16135551111)
  • Accepts Email Marketing: yes or no, indicating consent to receive email marketing

Default Address Fields

Shopify uses a single Default Address per customer and prefixes every address column with Default Address. The full set is:

  • Default Address Company
  • Default Address Address1
  • Default Address Address2
  • Default Address City
  • Default Address Province Code: The state or province as an ISO code (for example, NY or ON)
  • Default Address Country Code: The country as an ISO Alpha-2 code (for example, US or CA)
  • Default Address Zip
  • Default Address Phone

These map cleanly to WooCommerce's billing fields in the import step.

Optional Fields

If you ticked the optional fields boxes in Step 2, the export will also include:

  • Note: Free-form notes attached to the customer profile
  • Tax Exempt: yes or no
  • Customer tags: A comma-separated list of tags, wrapped in quotation marks
  • Customer metafields: Any supported metafields added to the customer profile
  • Accepts SMS Marketing: yes or no
  • Accepts WhatsApp Marketing: yes or no

Part 2: Importing Shopify Customer Accounts into WooCommerce

With the Shopify CSV in hand, the next step is the WooCommerce import, which runs through WP All Import's drag-and-drop interface. This is where Shopify's field conventions get translated into WooCommerce's user meta structure, and it is where WP All Import's flexibility does the heaviest lifting. The basic process covers the standard fields, and the advanced workflows later in this guide handle the platform-specific cases like passwords and tags.

How to Import Shopify Customers into WooCommerce

1. Install the Required WP All Import Plugins

WP All Import is the importer, but it needs the two add-ons that recognize WooCommerce customers as a valid import target. From Plugins › Add New Plugin in WordPress, install and activate all three:

  • WP All Import (the base plugin)
  • WooCommerce Import Add-On (recognizes the WooCommerce customer post type)
  • User Import Add-On (registers the WordPress user fields the WooCommerce customer record depends on)
Install WP All Import Pro in WordPress

Verify all three show as Active on the Plugins page before continuing.

2. Upload the Shopify Customers CSV File

Navigate to All Import › New Import. The screen shows three source options:

  • Upload a file: Choose this when you have the Shopify CSV on your computer.
  • Download a file: Choose this when the file lives at a URL or FTP/SFTP source.
  • Use existing file: Choose this when you want to re-run a previous import against a file WP All Import already has on the server.

For this walkthrough, click Upload a file and select the Shopify customer export file from Step 3 of the previous part.

New Order import screen WP All Import

3. Select WooCommerce Customers as the Import Target

Once the file finishes uploading, the New Items dropdown becomes active. Choose WooCommerce Customers from that dropdown.

shopify customer file uploaded into WP All Import

You'll see two buttons at the bottom of the page:

  • Create Filters: Click this if you want to import only a subset of customers (for example, only those located in a specific country).
  • Set Up Import: Click this to import every customer in the file.

For the basic walkthrough, click Set Up Import to bring every customer across.

4. Map the Shopify Fields to WooCommerce Customer Fields

The Drag & Drop screen is where Shopify field conventions are mapped to WooCommerce fields. The left side shows the WooCommerce customer fields, organized into panels. The right side shows the columns from your Shopify Customer Account CSV.

Expand Customer Account Info and map the core account fields:

  • First Name ← [First Name]
  • Last Name ← [Last Name]
  • Login (required) ← [Email]
  • Email ← [Email]
  • Password ← leave blank for now; the password reset workflow is handled in the advanced section

The Login field uses the Email column as the username since WooCommerce customer accounts are WordPress user accounts, and email is the most natural unique identifier.

drag and drop shopify customers data into WP All Import

Expand Billing & Shipping Info next and map Shopify's Default Address columns directly to WooCommerce's billing fields:

Mapped billing fields in WP All Import

For the shipping side, click Copy from billing instead of mapping the shipping fields one by one. That single radio button handles every shipping field using the billing values.

Expand Custom Fields last. This is where the Shopify-specific fields land:

  • Add a field that maps [Tags] from Shopify to a custom field, since Shopify tags are not standard WooCommerce fields
  • Add a field that maps [Note] to a custom field for internal notes
  • Add a field that captures [Accepts Email Marketing] so you can preserve consent state for your email platform
  • Add fields for any [Customer metafields] you exported, each one mapped to its own user meta key

You can also map standard WooCommerce fields from the Customer Account Info or Other Customer Info panels if the Shopify file contains data that fits them, such as a Display Name composed from the First Name and Last Name columns.

Click Preview at the bottom of the screen to see how the first imported customer will appear in the WordPress admin view before running the actual import. This is the easiest way to catch a swapped Email and Username mapping or a billing address that landed in the wrong column.

WP All Import preview

5. Configure the Import Settings and Run It

The Import Settings screen controls how the import behaves during this run and any subsequent runs of the same import.

Configure the most important options:

  • Unique Identifier: Click Auto-detect to let WP All Import pick a sensible default. Email is the most reliable choice because Shopify enforces email uniqueness on its customer records, so each incoming email maps to one and only one customer on the WooCommerce side.
  • Create new vs match existing: For most Shopify migrations, keep the default Create new WooCommerce customers for each record in this import file.
  • Update behavior on subsequent runs: Leave Update existing WooCommerce customers with the data in this import file enabled and Skip WooCommerce customers if their data in this import file has not changed enabled. The skip option keeps recurring imports fast when nothing has changed.
  • Email Notifications: Leave Block email notifications during import enabled so the WordPress welcome email is not sent to every migrated customer. We will send the password reset email separately after the import completes.
shopify customer import advanced settings

Scroll down to Configure Advanced Settings if your Shopify file is large. The defaults work for most stores, but a useful tweak for any file over a few hundred customers is to enable Split file up into 1000 record chunks so each chunk finishes within your server's max execution time.

configure advanced shopify customer import settings

Give the import a friendly name if you want, then click Continue. The Confirm & Run screen shows an Import Summary. Read through each line, then click Confirm & Run Import.

WP All Import Confirm and Run customer import

When the import finishes, you'll see an Import Complete screen. To verify the customer accounts landed correctly, navigate to Users › All Users in WordPress. The new accounts appear in the list with the role Customer (or whatever role you mapped to) and the email addresses that came across from Shopify.

Shopify customer imported as users in WooCommerce

If your newly imported customer accounts do not show up under WooCommerce › Customers, that is expected. WooCommerce populates its customer report only after a customer places an order, so any account imported directly will appear under Users › All Users until they have placed their first order on the new store.

That covers the basic import process. The advanced workflows section covers the few platform-specific cases the basic loop does not address on its own.

Advanced Shopify to WooCommerce Customer Account Workflows

The basic Shopify export-import process handles the standard customer data, but a migration usually has a few extras to deal with. The good news is that WP All Import handles each of them through the same drag-and-drop interface. The advanced workflows below show how the platform-specific cases come together without leaving the plugin.

Migrate Customer Accounts with Their Related Orders

During a Shopify store migration, you'll want to migrate both customer accounts along with their order history. The two data sets need to be imported in the right order: orders reference customers by email address, so the customer import has to land first, before any order import can match its incoming rows to the right customer account.

The workflow is straightforward. You'll run the Shopify customer import from Part 2 with Email as the Unique Identifier, then run the Shopify orders import with its own Unique Identifier set to the customer's email address. WP All Import matches each incoming order's email against the imported customers, so orders land on the correct account even when WordPress assigns new IDs during the customer import. The matching logic relies on email as the stable identifier, not on the WordPress user ID, which is the whole point: WordPress generates a new ID for every imported customer, but the email does not change, so the order import can always find the right customer.

match order by customer email

The same pattern applies to subscription-related metadata if you use the WooCommerce Subscriptions extension. The customer needs to be on the WooCommerce side first before any subscription orders can link to them.

After both imports are complete, you can spot-check 5 orders to confirm that the billing name and email match the linked customer account. Open each order, verify the customer record it points to is the one that came from the Shopify export, and confirm the addresses and totals look right. This allows you to catch any email mismatches that came from the Shopify side before you go live.

Move Shopify Tags, Notes, and Metafields into WooCommerce

Shopify's tags, notes, and customer metafields are not standard WooCommerce fields, so they need to land as user meta. The Custom Fields panel in WP All Import handles all three:

  • Tags come through as a comma-separated string. Add a custom field (for example, shopify_customer_tags), drag the Tags column to the value field. If your WooCommerce site already has customer tags created using a custom field plugin, rename the field to match the plugin's meta key and the values will land in the right place.
  • Note maps the same way. Add shopify_customer_note, drag Note, and the note text carries over into the customer's user meta.
  • Customer metafields vary per store because each Shopify store defines its own. Add one custom field per metafield, name it after the namespace and key (for example, shopify_loyalty_points), and drag the matching column.

WP All Import skips unmapped columns rather than failing on them, which is useful when the Shopify file has more columns than you actually need. If you also exported Accepts Email Marketing, Accepts SMS Marketing, or Tax Exempt, each one maps cleanly to its own custom field.

Handle the Customer Account Password Reset Requirement

Shopify stores passwords as bcrypt hashes, and no version of WordPress can verify a hash that came from Shopify. The user import/export article covers the hashing details, but the Shopify migration needs every customer to reset their password on first login, and that is a communication exercise rather than a technical one.

The password reset flow will be:

  • Block the default welcome email during the import. The Block email notifications during import checkbox in the Import Settings screen handles this, and it is on by default.
  • Send a dedicated reset email after the migration is complete. Explain the platform move, link directly to the WooCommerce Lost Password page, and keep the wording short. The reset email only works on the WooCommerce side, so the send has to happen after the import lands.
  • Route the send through a transactional service (Postmark, SendGrid, or Amazon SES via WP Mail SMTP) so the reset emails actually reach inboxes instead of getting caught by spam filters.

The reset itself is the standard WordPress Lost Password flow. The customer enters their email, gets a fresh WordPress-generated password, and the new hash is in WordPress's native format.

Final Thoughts - Shopify to WooCommerce Customer Export and Import

When you decide to migrate from Shopify to WooCommerce, one of the things that needs to carry over for a smooth transition is the customer records. The export-import workflow (export from Shopify, edit in a spreadsheet, import into WooCommerce) is what makes that carryover clean. The export captures the data, the edit step is the audit, and the import restores the accounts on the WooCommerce side with the same email, the same address, the same order history, the same subscription.

WP All Import plays an important role in this workflow as it lets you do the migration without any custom code. Shopify's field names, WooCommerce's user meta structure, the password hash incompatibility, and the custom metadata are all handled by the drag-and-drop interface, the Function Editor, and the matching logic.

Frequently Asked Questions - Migrating Customer Accounts from Shopify to WooCommerce

How to migrate customers with passwords from Shopify to WooCommerce?

Shopify stores passwords as bcrypt hashes that WordPress cannot verify. Every migrated customer will need to reset their password on first login. The practical flow is to block the default welcome email during the import, then send a password reset email after the migration is complete.

Which is the best plugin to export orders and users from another platform to WooCommerce?

WP All Import is the best plugin to import any data into WooCommerce. It works with the data any platform produces (Shopify CSV, Magento CSV, custom platform exports), and the same import covers both orders and customers. The drag-and-drop interface handles the field mapping, processes field updates on the fly, and adapts as the source data changes over time.

How to import orders and customers from Shopify to WooCommerce?

The workflow is the same for both the order and customer migration. You need to first export from Shopify (a CSV with customer accounts and order history), edit in a spreadsheet to verify the data, then import into WooCommerce through WP All Import. The customer import lands first because orders reference customers by email. The order import matches each order to the right customer by email, which handles the linking even if WordPress assigns new customer IDs.

How to Export Customer/Orders from WooCommerce into a new website?

The export side of the migration uses WP All Export, which produces a CSV file containing both customer records and order history. The export covers the standard customer fields plus order data (status, totals, dates, line items, customer link). The file can be imported into the new WooCommerce site through WP All Import, with the matching logic using email as the unique identifier to link customers to their orders.

Joe Guilmette
VP of WP All Import. Joe's an expert in WordPress & WooCommerce Imports and Exports.

The best import export plugin for WordPress & WooCommerce.

Complete, granular control of your data with an easy to use drag & drop interface.
  • 90 Day Money Back Guarantee
  • Unlimited Installs
  • Lifetime Licence
  • Fast, World-Class Support
Get Started
90 Day Money Back Guarantee

Unlimited Installs.
World-Class Support. Money Back Guarantee.

Packages
Standalone
Import
Pro Package
$199
.00
/yr
Save $494, 71% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$693 If Purchased Individually
Buy Now
90 Day Money Back Guarantee
Import + Export Pro Package
$299
.00
/yr
Save $1087, 78% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$1386 If Purchased Individually
Buy Now
90 Day Money Back Guarantee
WooCommerce Import Package
$169
.00
/yr
Save $29, 15% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$198 If Purchased Individually
Buy Now
90 Day Money Back Guarantee
Lifetime License
$1299
One-Time Payment
  • Import Pro + Export Pro
  • All Current Add-Ons
  • All Future Add-Ons
  • Lifetime Support
  • Lifetime Updates
  • No Renewal Fees
Buy Now
90 Day Money Back Guarantee
Import Standalone
$99
.00
/yr
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Import + Export Standalone
$169
.00
/yr
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Export Standalone
$99
.00
/yr
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Packages
Standalone
Import
Pro Package
$16.58
per month, billed annually
Save $494/yr, 71% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$693/yr If Purchased Individually
Buy Now
90 Day Money Back Guarantee
Import + Export Pro Package
$24.92
per month, billed annually
Save $1087/yr, 78% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$1386/yr If Purchased Individually
Buy Now
90 Day Money Back Guarantee
WooCommerce Import Package
$14.08
per month, billed annually
Save $29/yr, 15% Discount
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
$198/yr If Purchased Individually
Buy Now
90 Day Money Back Guarantee
Lifetime License
$1399
One-Time Payment
  • Import Pro + Export Pro
  • All Current Add-Ons
  • All Future Add-Ons
  • Lifetime Support
  • Lifetime Updates
  • No Renewal Fees
Buy Now
90 Day Money Back Guarantee
Import Standalone
$8.25
per month, billed annually
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Import + Export Standalone
$14.08
per month, billed annually
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
Export Standalone
$8.25
per month, billed annually
  • Import Pro
Import Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
  • Export Pro
Export Add-Ons
  • Woo
  • ACF
  • Meta Box
  • JetEngine
  • Gravity Forms
  • Users
Buy Now
90 Day Money Back Guarantee
linkcross