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.

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's the Difference Between WordPress Users and WooCommerce Customers?

The main difference is that WooCommerce customers are users that have placed an order via WooCommerce on your site. This is because a WooCommerce customer is a type of WordPress user.

WooCommerce adds extra billing address and shipping address custom fields to every customer it creates. Regular WordPress users don't have those fields unless they place an order on your site.

When you migrate WooCommerce customers, all custom fields and data from the customer are also migrated. If you migrate WordPress users, then all WooCommerce customers will also be included unless you exclude them with filters.

How to Bulk Edit WooCommerce Customers?

This guide focuses on migrating customers from one site to another. However, there may be cases where you need to make changes to customers that already exist on your site.

For example, you may need to bulk edit your customers' email addresses. This is possible using the bulk edit process:

  1. Create an export file with all of your desired WooCommerce customers.
  2. Open and modify the exported file in spreadsheet software, where you can perform bulk changes easily, such as search and replace or copy and paste.
  3. After the changes are done, re-import everything into WooCommerce using the Import with WP All Import option.

To learn how to perform the bulk edit process, see our Quickstart Bulk Edit guide.

What to Expect with the Customer's Passwords?

Since every WooCoommerce customer is also a WordPress user, they will also have a password to access their account on your WordPress site.

When you migrate WooCommerce customers, their passwords will also be there. Every customer will be able to log in and access both sites using the exact same password.

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