Looking to export and import your WooCommerce customers?
Customer data flows to more systems than any other type of store data, including email platforms, CRMs, fulfillment partners, and internal spreadsheets. Store owners often need to move this data for many reasons, such as keeping those destinations in sync, handling a one-time migration, doing a bulk update, or pulling a fresh list for a campaign.
In this guide, we'll walk you through the WooCommerce customer export and import process and also cover some advanced cases.
📑 Table of Contents
What You Can Do with WooCommerce Customer Export and Import
A WooCommerce customer is a WordPress user who has placed an order on your store. Every customer account carries the standard WordPress profile data, plus the billing and shipping addresses that WooCommerce attaches as user metadata after the first order.
You can use the exported WooCommerce customer data to:
- Create targeted customer lists filtered by location, role, registration date, or any custom field
- Add custom user metadata added by WooCommerce extensions or third-party plugins
- Send customer data to a CRM, email marketing platform, or reporting tool
- Pull customer records for a one-off report without touching the database
If you already have the WooCommerce customer data, you can import it to:
- Bring in customers from another platform, like Shopify or Magento
- Update existing customers without overwriting data you want to keep
- Schedule recurring imports to keep customer data in sync with a remote system
Now that you have a good sense of the various use cases, let's start with the basic WooCommerce customers export and import processes using WP All Export and WP All Import, both of which take just a few minutes. From there, we'll move on to some advanced use cases that showcase what's possible.
Part 1: Exporting WooCommerce Customers
The basic WooCommerce customer export process is straightforward. Once you have the WP All Export plugin installed along with the WooCommerce Export Add-On and the User Export Add-On, here's how the basic process works.
If you want to follow along and try before purchasing, you can use our convenient sandbox feature and select WooCommerce Store as the demo type.
How to Export WooCommerce Customers
1. Start a New WooCommerce Customer Export
Navigate to All Export, then click New Export. Choose Specific Post Type, then select WooCommerce Customers from the dropdown. WP All Export will show you the total number of customer accounts that match the criteria.

2. Filter the Customers to Export (Optional)
If you want to export only specific customers, expand the Add Filtering Options panel. Each filter rule takes three inputs: an Element, a Rule, and a Value. The Element can be any recognized customer field, and you can combine multiple rules with AND/OR logic.

For the basic walkthrough, we will leave filters empty so every customer gets exported. If you only want a subset, you'd add a rule here, such as exporting only customers whose User Role equals a specific role, or whose billing country matches a target country.
3. Build the WooCommerce Customer Export File
Click Customize Export File to open the Drag & Drop screen.

The left side is your column selection area. The right side is the Available Data panel, where every recognized WooCommerce customer field is organized by category: Standard, Address, Custom Fields, and Other.
To add a field to your export, drag it from the Available Data panel into the column selection area on the left. You can rearrange, rename, or remove columns to create a custom export file. The Add All button lets you pull in every available field at once.

WP All Export detects custom customer fields automatically. Anything added by WooCommerce extensions, your theme, or plugins like ACF, Meta Box, or JetEngine will appear under Custom Fields without any manual setup.
4. Add Custom Customer Columns When Needed
Click Add Field at the bottom of the column area to create a column that isn't available in the standard list. You can pull in any combination of elements from your file, use a literal value, or write a small PHP function to build a calculated column. A common example for customer exports is a Full Name column that combines the First Name and Last Name fields.

5. Preview the Export Before Running It
Click Preview in the bottom right of the Drag & Drop screen to see how the first customers will look in the export file. This makes it easy to confirm that the columns and field names are right before running the actual export.

6. Choose the Customer Export Format
On the same Drag & Drop screen, expand the Export Type panel near the bottom. You have two top-level options:
- Spreadsheet: For CSV or Excel. CSV is the default, and you can also pick Excel File (XLS) or Excel File (XLSX) for true Excel output.
- Feed: For XML. Pick Simple XML Feed for standard XML, or Custom XML Feed for full structural control.

For most customer exports, CSV is the right starting point. Pick another format only if a downstream tool requires it.
7. Configure and Run the Customer Export
Click Continue to move to the Export Settings screen. WP All Export will show you how many customers will be exported and offer three panels of options:
- Scheduling Options: Run the export automatically with Automatic Scheduling (paid, configured inside the plugin) or Manual Scheduling through cron jobs.
- Advanced Options: Set the batch size, split large exports into multiple files, export each customer in real time as they register, export records once, limit the export to customers who have made a purchase, or restrict access through Client Mode.

For the basic walkthrough, leave these settings at their defaults and click Confirm & Run Export.
8. Download the Customer Export File
After a few seconds, the Confirm & Run screen shows that your export is complete. Click CSV (or Excel or XML, depending on your earlier choice) to download your file.

You'll also see three secondary options at the top of the screen:
- Scheduling: Open the scheduling settings if you didn't set them up earlier.
- External Apps: Send the finished export to apps like Google Drive, Dropbox, or email through Zapier.
- Export, Edit, Import: Re-import the export back into WooCommerce through WP All Import, useful for bulk-editing customer data in a spreadsheet first.
Click Bundle instead of CSV if you plan to import the customers into another WordPress site. The bundle includes your export file and the settings file that WP All Import needs to recreate the customers on the destination site.
That's the basic process using WP All Export. Most users have their WooCommerce customers exported in under five minutes.
What Customer Data Can You Export
WooCommerce customers carry far more data than username and password. The fields available in the Available Data panel are organized into four categories:
- Standard: ID, Username, User Email, First Name, Last Name, User Registered, User Nicename, User URL, Display Name, Nickname, Description, and Customer User ID. These come straight from the WordPress users table for users who have been assigned a customer role.
- Address: Billing First Name, Billing Last Name, Billing Company, Billing Address 1, Billing Address 2, Billing City, Billing Postcode, Billing Country, Billing State, Billing Email, and Billing Phone, plus the matching shipping fields. WooCommerce stores these as user metadata, so WP All Export surfaces them in their own Address group.
- Custom Fields: Anything added by WooCommerce extensions or third-party plugins, such as order counts, membership tiers, marketing preferences, or custom address formats. WP All Export detects these automatically.
- Other: Customer role, password hash, and other less-used account data.
Drag any of these into your column area, or click Add All to include everything at once.
Part 2: Importing WooCommerce Customers
The basic WooCommerce customer import process is just as straightforward as exporting. Once you have the WP All Import plugin installed alongside WooCommerce Import Add-On and the User Import Add-On, here's how the basic process works.
How to Import WooCommerce Customers
1. Start a New WooCommerce Customer Import
Navigate to All Import, then click New Import. You'll be prompted to choose how you want to provide your data. The options include:
- Upload a file: Choose a CSV, Excel, or XML file from your computer.
- Download a file: Fetch a file from a remote URL or an FTP/SFTP source.
- Use existing file: Reuse a file from a previous import.

For this walkthrough, we will upload a customer CSV file from the computer. After the upload completes, the import type field becomes active. Set that to WooCommerce Customers, then click Set Up Import to continue.

2. Select WooCommerce Customers and Review the File
WP All Import takes you to the Review Import File screen. This screen shows a quick sample of the customer data WP All Import detected, along with controls for the CSV delimiter and the XPath expression used to identify each record.

For most customer CSVs, you can leave these controls alone. If you want to import only specific customer records, expand the Manage Filtering Options panel underneath the preview. Each filter rule takes three inputs: an Element (for example, shippingcountry[1]), a Rule (for example, equals), and a Value (for example, US). After adding the rule, click Apply Filters To XPath to convert it into an XPath expression that WP All Import will use during the import.

Once you are satisfied with the preview and any filters, click Continue to Setup Import.
3. Map the Incoming Customer Data to WooCommerce Customer Fields
The Drag & Drop screen appears next. The left side shows the WooCommerce customer fields, organized into four collapsed panels: Customer Account Info, Billing & Shipping Info, Other Customer Info, and Custom Fields. The right side shows the columns from your import file.

Start by expanding Customer Account Info and mapping the core account fields. Drag each column from the right panel into the matching target field on the left:
- First Name ← {firstname[1]}
- Last Name ← {lastname[1]}
- Login ← {username[1]}
- Email ← {useremail[1]}
- Password ← {userpass[1]} (the hashed-password checkbox is enabled since the file is coming from another WordPress site)

Next, expand Billing & Shipping Info and map your billing fields. If billing and shipping addresses are typically identical for your customers, choose Copy from billing instead of mapping the shipping fields by hand. That single radio button handles the whole shipping side for you.

Expand Custom Fields if your import file includes any custom user data. WP All Import auto-detects known custom fields, and anything not surfaced in a dedicated panel will appear in the generic Custom Fields area where you can map it manually.
Click Preview at the bottom of the screen at any point during the mapping process. The preview shows how the first imported customer will appear in the WordPress admin view, which makes it easy to spot mapping errors (such as a swapped email and username field) before running the actual import.

4. Configure How the Import Will Handle Existing Customers
After the mapping is complete, WP All Import takes you to the Import Settings screen. The most important decision lives at the top: should the import create new customer accounts, or should it match against existing accounts and update them?
For most customer import scenarios, you will want to Create new WooCommerce customers for each record in this import file. The plugin auto-generates a Unique Identifier, which is used on subsequent runs of the same import to distinguish each incoming record.

The same panel controls what happens when the import runs again:
- Create new customers from records newly present in this import file
- Update existing customers with the data in this import file
- Skip customers if their data in this import file has not changed
- Choose between updating all data or a specific subset
- Optionally remove or modify customers that are not present in the import file (a paid feature)
Below the matching panel sits the Email Notifications For Imported Customers section. By default, Block email notifications during import is enabled so newly created accounts do not get the standard WordPress welcome email. Uncheck that box if you want customers to receive their regular activation or password reset emails as part of the import.
5. Configure Advanced Settings and Run the Import
Further down the Import Settings screen, you can Configure Advanced Settings, which covers the technical side of larger imports:
- In each iteration, process: The number of records imported per server request. The default of 20 is a good starting point for most customer imports.
- Split file up into N record chunks: Useful for very large customer imports so each chunk can finish within the server's max execution time.
- XPath: Reflects the filter expression set in Step 2.
- CSV Delimiter: Reflects the delimiter set in Step 2.
- Downloads: Lets you download the Import Template (a clean CSV reflecting the mapping) or the Import Bundle (a complete settings file for moving the import setup elsewhere).
- Other: Lower-level toggles for alternative Excel processing, StreamReader mode, and a friendly name for the import.

For the basic walkthrough, leave these options at their defaults, give the import a friendly name if you want, and click Continue.
The Confirm & Run screen shows an Import Summary. Read through each line and confirm that the settings look right, then click Confirm & Run Import.

When the import finishes, you will see an Import Complete screen. To verify the import worked, navigate to Users › All Users in the WordPress admin menu. The new customer accounts appear in the list with the role and details you mapped to.

If your newly imported customers 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 show up under Users › All Users until they have placed their first order on the new store.
That's the basic WooCommerce customer import process using WP All Import. Most customer imports of a few hundred records complete in a few minutes.
What Customer Data Can You Import
You can import any of the same field categories covered in the export section above, including Standard, Address, Custom Fields, and Other groups. The field names match on both sides of the process, so any export file maps directly onto the import fields without renaming columns.
WooCommerce Customer Migration Workflows
The following sub-sections cover the most common customer migration workflows. Skip to the one that matches your situation.
Export and Import Customers Between WooCommerce Stores
Some stores need to move customer accounts from one WooCommerce site to another. The destination might be a staging environment, a sister store, a fresh rebuild, or a partner site taking over part of the catalog, but the underlying need is the same: customer accounts have to travel between WordPress sites without losing passwords, addresses, or the customer IDs that orders are attached to.
WP All Export produces a bundle file that combines the customer records, the field mappings, and the import settings into a single package. The bundle uploads directly into WP All Import on the destination site and rebuilds the accounts in one run.

We have a detailed article on how to export and import customers between WooCommerce stores that walks through the bundle workflow and the password handling for cross-site moves.
Export and Import Customer Accounts from Shopify to WooCommerce
Shopify stores that are migrating to WooCommerce need to move customer accounts from Shopify's customer export, which is a CSV file with a different column structure than what WooCommerce expects. The fields cover similar data, but the column names, the password format, and the address conventions differ between the two platforms, which is why the field mapping step matters more than it does for an in-platform move.
WP All Import handles the Shopify CSV directly. On the import side, the relevant columns from the Shopify export get mapped to the WooCommerce customer fields, and the addresses, names, and order history carry across in one run. Passwords are the main gap, since Shopify's password hashing is not compatible with WordPress's, which means customers need to use the password reset flow on first login to the new WooCommerce store.

We have a detailed article on how to export and import customer accounts from Shopify to WooCommerce that walks through the Shopify CSV review, the field mapping, and the password reset workflow that lets customers regain access on first login.
Export and Import Customer Accounts from Magento to WooCommerce
Magento stores that are migrating to WooCommerce bring a more complex customer record than Shopify, since Magento tracks custom EAV attributes, multiple addresses per account, and customer-specific tax or VAT data. The Magento customer export file is typically larger and uses different conventions than what WooCommerce expects.

WP All Import accepts the Magento export directly and lets you map each Magento attribute to the matching WooCommerce customer field. Custom EAV attributes show up under the Custom Fields group on the import side, where they map to the equivalent WooCommerce user meta. Password handling depends on the Magento version: Magento 1 used MD5 hashing, which WordPress supports directly, while Magento 2 used a different format that requires customers to reset on first login.
We have a detailed article on how to export and import customer accounts from Magento to WooCommerce that walks through the Magento export review, the attribute mapping, and the password handling for both Magento 1 and Magento 2 stores.
Automated WooCommerce Customer Workflows
The following sub-sections cover the most common automated customer workflows. Skip to the one that matches your situation.
Export WooCommerce Customers to an Email Marketing Platform
Email addresses alone are not enough for most marketing tools. Platforms like Mailchimp, Klaviyo, ConvertKit, and ActiveCampaign expect names, signup dates, segmentation data, and often consent information alongside the email field. Customer exports can populate all of that in one shot.
The process uses WP All Export to build the right export columns, then either uploads the resulting CSV to the platform manually or runs a Zapier automation that pushes each new export directly into the marketing tool.

We have a detailed article on how to export WooCommerce customers to an email marketing platform that walks through the field selection, the Zapier integration, and the consent-aware filtering options.
Sync WooCommerce Customers with a CRM
Customer Relationship Management platforms like HubSpot, Salesforce, Zoho, and Firmao treat each WooCommerce customer as a contact with its own activity timeline. Syncing customer accounts into your CRM lets sales, marketing, and support teams work from a single source of truth.
The process combines a scheduled customer export with a Zapier automation that pushes each batch into the CRM. Most CRMs match incoming records on email address, so the unique identifier logic does not need special attention in most setups.
We have a detailed article on how to sync WooCommerce customers with a CRM that walks through the Zapier setup, the field mapping patterns, and the scheduling options that keep the two systems in sync.
Import and Export WooCommerce Customers with Google Sheets
Google Sheets is a natural hub for teams that do not have a dedicated CRM or email marketing tool. Customer lists live alongside inventory sheets, campaign trackers, and finance reports, and the same spreadsheet often feeds multiple downstream systems.
The export side pushes each completed customer export into a new row of a target Sheet through Zapier. The import side accepts a shared Sheet URL as a source file, so the import always runs on the latest version of the spreadsheet.

We have a detailed article on how to import WooCommerce customers from Google Sheets that walks through the URL source setup, the field mapping, and the Zap-based export pipeline that feeds the Sheet.
Schedule Recurring WooCommerce Customer Exports
Most customer exports are not one-off. Marketing tools, CRMs, and finance systems all want fresh customer data on a regular basis, and rebuilding the export manually every time is a poor use of an admin's day.
Both WP All Export come with two scheduling options. The Automatic Scheduling service runs the export on a chosen day and time directly from the plugin interface. Manual Scheduling uses two cron jobs on the server, one trigger and one processing, for full control without the subscription fee.

We have a detailed article on how to schedule recurring WooCommerce customer exports that walks through both scheduling options, including the cron URLs you would set up for Manual Scheduling.
Final Thoughts - WooCommerce Customer Export and Import
Customer records hold more weight than product records or order records do. They carry login access, saved addresses, consent records, and the connection points with every downstream system your store talks to.
Once the basic export-import customer process is in place, every migration, sync, bulk update, and specialized scenario covered in this guide runs on the same setup. You can build the basic loop first, add filters and identifiers as you need them, and the rest of the workflow falls into place.
The same drag-and-drop interface handles every advanced case, from a 100-customer migration to a 100,000-customer platform sync. Once you understand the basic process, the advanced workflows become configuration choices rather than rebuilds.
Frequently Asked Questions - WooCommerce Customer Export and Import
How do I export and import WooCommerce customers?
You can export and import WooCommerce customers using WP All Export and WP All Import along with the WooCommerce Export Add-On and User Export Add-On. The basic process has you build the export with columns, filters, and a destination file, then import it back through a drag-and-drop field mapping step.
Can I move WooCommerce customers from one site to another?
WP All Export produces a bundle file that combines the customer records, the field mappings, and the import settings into a single package. The bundle uploads directly into WP All Import on the destination site and rebuilds the accounts in one run. Both sites need to be running WordPress and WooCommerce, and user IDs are preserved where possible.
Can I import WooCommerce customers with their passwords?
Yes, but only between WordPress sites using the same default password hashing. The export file contains the hashed passwords, and the import side has a checkbox to flag incoming values as already hashed. Customers coming from platforms like Shopify or Magento need to use the password reset flow on first login since those platforms use different hashing formats.
How do I update existing WooCommerce customers without creating duplicates?
WP All Import's Unique Identifier panel on the Import Settings screen controls matching. Choose a stable field like email address or username, enable the matching behavior, and the import updates existing accounts rather than creating new ones. Enable the option to skip records whose data has not changed, and recurring imports run significantly faster.

