How to Migrate WooCommerce Customers to a Different Site

To migrate WooCommerce customers, go to the export site and navigate to WP All Export › New Export, then select WooCommerce Customers as the post type. Follow the steps and migrate your customers. Once done, go to the import site and navigate to WP All Import › New Import, then upload the bundle file to migrate your WooCommerce customers.

This documentation covers how to migrate WooCommerce customers using WP All Import and WP All Export. For a better look at migrating WooCommerce customers, check out:

Step 1: Create New Export Bundle to Migrate WooCommerce Customers

On the export site, go to All Export › New Export and choose WooCommerce Customers.

WP All Export will show the number of customers to export. If you don't want to migrate all the customers, you can Add Filtering Options here.

To continue, click on Migrate Customers.

Migrate WooCommerce Customers New Export

Step 2: Export and Migrate WooCommerce Customers

The Export Settings screen will now appear.

Here, you can add Scheduling Options to automate this export. You can also configure the available Advanced Options, for example, to create a new export file every time the export runs, or to only export customers that have previously made a purchase on your site.

With most migrations, you won't need to modify these settings. Click the green Confirm & Run Export button to continue.

Migrate WooCommerce Customers Export Settings

The export process will begin. Once it's complete, click on the Bundle blue button to download the exported customers along with a settings file to configure the import process:

Migrate WooCommerce Customers Confirm and Run

Step 3: Import Bundle File to Migrate WooCommerce Customers

On the import site, go to All Import › New Import and import the bundle file generated from the export.

WP All Export will automatically select everything for you. To proceed, just click on Skip to Step 4.

If you want to modify the import mappings, you can also click on Continue to Step 2 here.

Migrate WooCommerce Customers New Import

The Import Settings screen will appear. Here, you can assign the Unique Identifier for each new record or let the system detect it automatically. You can also tell WP All Import what to do when it finds new or changed data.

Additionally, you can enable or disable the automatic WordPress emails, define the Scheduling Options, and Configure Advanced Settings.

Migrate WooCommerce Customers Import Settings

Generally speaking, you don't need to change any of these settings. To go onto the next step, click the Continue blue button.

The Confirm & Run screen will appear with an Import Summary. You can use this screen to confirm that everything is in place for the import.

To proceed and finish the migration process, click on Confirm & Run Import.

Migrate WooCommerce Customers Confirm and Run Import

Once the import finishes, that's it! The migration process is complete.

Step 4: Verify That Your WooCommerce Customers' Migration Worked

You can verify that all the customers were migrated correctly by checking the WordPress user list. To do so, go to Users › All Users on the import site:

Migrate WooCommerce Customers User List

If the imported customers aren't there, review the migration steps to ensure that you followed all the instructions.

You can also erase everything and re-start the migration from scratch.

Migrate WooCommerce Customers Advanced Topics

WooCommerce Customers aren't Added to the Customers List

For a customer to appear in WooCommerce › Customers, that customer has to place an order on your website. This is why the migrated customers only appear under the WordPress user's list.

However, it's possible to use custom code (see documentation) along with our API (see documentation) to forcefully add customers to WooCommerce › Customers. Here's a working example snippet:

 
// DO NOT REMOVE THIS "use" STATEMENT, IT IS NEEDED FOR THE BELOW CODE TO WORK
use \Automattic\WooCommerce\Admin\API\Reports\Customers\DataStore as CustomersDataStore;

function example_update_customer_record( $user_id ) {
	CustomersDataStore::init();
	// Retrieve the import ID.
	$import_id = wp_all_import_get_import_id();
	// Only run for import 1.     
	if ( $import_id == '1' ) {
		CustomersDataStore::update_registered_customer($user_id);
	}
}
add_action( 'pmxi_saved_post', 'example_update_customer_record', 10, 1 );

You can add this code to the Function Editor (find it in All Import › Settings Function Editor). If your import ID isn't 1, you will need to swap the if validation with the correct import ID number.

How to Keep Identical IDs when Migrating Customers

The WooCommerce customers that are migrated from the source site will have their own customer IDs. But when you import these customers to the destination site, a new customer ID is generated for every migrated customer. This is automatic behavior with WordPress and our plugins.

However, if you want to retain the original customer ID from the export site, you can use custom code along with our API.

The code that you need to use is here: Keep Old IDs When Migrating Users or Customers. It's important to note that this is only an attempt to retain the original customer ID. If the requested ID is not available, then a new customer ID will be assigned to the migrated customer.

Scheduling the WooCommerce Customers Migration

The migration process explained above was performed manually. However, you may want to automate this process and perform the migration automatically. You can do this thanks to the power of WP All Import and WP All Export.

To schedule a WooCommerce customers migration, make sure to set up the export so that it finishes before the import starts. Here are the scheduling options available:

  • Cron jobs: they are set up manually in your web hosting panel. See Manual Scheduling.
  • Automatic Scheduling Service: optional and paid service that can be set up from within the plugin's interface. See Automatic Scheduling.

In the import part of this migration, you access the bundle file directly from a URL. That bundle file URL can be obtained in All Export › Manage Exports:

Migrate WooCommerce Customers Bundle URL

Frequently Asked Questions

What to Expect with Customer Passwords During Migration?

Since every WooCoommerce customer is also a WordPress user, they will have a password to access their account on your WordPress site. When you migrate WooCommerce customers, you also migrate their passwords. At that point, customers will be able to log onto both sites with the same password.

What's the Difference Between WordPress Users and WooCommerce Customers?

A WooCommerce customer is a WordPress user. The main difference is that customers are users who have placed an order on your site via WooCommerce. Also, WooCommerce adds custom billing address and shipping address fields to every customer it creates. Regular WordPress users don't have those fields unless they place an order on your site.

If you migrate WordPress users, all WooCommerce customers will also be included unless you exclude them with filters.

Can I Migrate All WordPress Customer Data, Even Custom Fields Added by Other Plugins?

Yes. WP All Export and WP All Import both recognize the custom data fields added by most plugins and extensions. The only exception is plugins or extensions that store custom data in a non-standard way. If that happens, just contact our support staff for additional guidance.

How to Bulk Edit WooCommerce Customers?

Sometimes, you may need to perform bulk edits on your customer data. Here is the process to do this:

  1. Create an export file with the WooCommerce customers that you wish to change.
  2. Open and modify the exported file in spreadsheet software, where you can perform bulk search-and-replace or copy-and-paste operations with ease.
  3. When you've finished making changes, re-import the data into WooCommerce using the Import with WP All Import option.

For more details about the bulk edit process, see our Quickstart Bulk Edit guide.

How to Migrate WordPress Users?

This migration is nearly identical to the one used to migrate WooCommerce customers. Just choose an export post type of Users instead of WooCommerce Customers. WP All Import will take care of the rest based on the import template.

How to Import WooCommerce Customers?

  1. Navigate to All Import -> New Import.
  2. Select how you wish to load your customer data (i.e., upload file, use a URL, etc.).
  3. Choose the file you want to import and the import target (i.e., WooCommerce Customers).
  4. Map the incoming data elements to their target WooCommerce customer fields using our Drag & Drop interface.
  5. Complete the import.

How to Export WooCommerce Customers?

  1. Navigate to All Export > New Export.
  2. Choose an export post type of WooCommerce Customers.
  3. Customize the export columns using our Drag & Drop interface.
  4. Configure and run the export.
  5. Download the export file.

Relevant Videos

Related Docs

Learn how to import WooCommerce customers.

Learn how to export WooCommerce customers.

Execute custom code to modify the customer data on the fly.

Lifetime support. Lifetime updates. Pay once.

Packages
Standalone
Import
Pro Package
$249
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import + Export Pro Package
$299
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
WooCommerce Import Package
$149
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import Standalone
$99
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Import + Export Standalone
$169
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
Export Standalone
$99
one-time
  • Import Pro
Import Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
  • Types
  • Export Pro
Export Add-Ons
  • WooCo
  • ACF
  • Gravity Forms
  • Users
Add to Cart
90 Day Money Back Guarantee
cross