Import WPGet Pro
Menu

WooCommerce

Import WooCommerce Customers

Import WooCommerce customers from CSV or XML with the WooCommerce Customers template — emails, usernames, billing and shipping addresses, and unique-key updates.

The Import WP WooCommerce add-on includes a dedicated WooCommerce Customers template. It extends the core user importer with billing and shipping address fields, defaults new accounts to the customer role, and writes addresses through WC_Customer so they appear on the WooCommerce customer profile.

Use this template instead of the generic Users template when the records are store customers.

Requirements

Import WP Pro is optional here (scheduling, remote files, custom fields). The customer template itself works with the free plugin.

Create a WooCommerce Customers importer

  1. Go to Import WP → Add Importer.
  2. Choose your file source (upload, URL, FTP, Google Sheets, and so on).
  3. On the template step, select WooCommerce Customers.

The first group is labelled Customer Fields (the same core user fields as the Users template). Billing Address and Shipping Address are added below. Hidden user fields can be toggled with Enable Fields.

Template sections

Section What it imports
Customer Fields ID, username, email, first name, last name, website, role, password, nicename, display name, description
Billing Address First name, last name, company, address 1/2, city, postcode, country, state, email, phone
Shipping Address First name, last name, company, address 1/2, city, postcode, country, state, phone
Custom Fields Extra user meta (Import WP Pro)

Country must be a two-letter ISO code (for example GB or US), not the full country name.

If Role is not mapped, new customers are created with the WooCommerce customer role.

Minimum CSV example

Email First Name Last Name Billing Address 1 Billing City Billing Postcode Billing Country
[email protected] Alice Smith 10 High Street London SW1A 1AA GB
[email protected] Bob Jones 22 King Street Manchester M1 1AE GB

Suggested mapping:

CSV column Import WP field Section
Email Email Customer Fields
First Name First Name Customer Fields
Last Name Last Name Customer Fields
Billing Address 1 Address 1 Billing Address
Billing City City Billing Address
Billing Postcode Postcode Billing Address
Billing Country Country Billing Address

Map Email on every row. Username can be left unmapped if you generate it from email, or mapped if the export already has logins.

Unique identifiers

On Permissions, pick one unique identifier that is mapped and non-empty:

Identifier When to use
Email (user_email) Default for migrations and re-imports
Username (user_login) When email may change but login is stable
Customer ID (ID) Updating existing WordPress users by ID only — IDs cannot be chosen on insert

Use Email for a first migration. Changing the unique identifier after the first run can create duplicates. See Permissions.

Passwords and notification emails

Importer settings on this template:

Setting Default Behaviour
Enable customer notification emails Off When on, WordPress and WooCommerce may send new-account, password, and email-change emails. When off, those WooCommerce customer emails are suppressed.
Generate user password Off Generates a password for the account (same option as the Users template).

For a historical migration, leave notification emails off so thousands of customers are not emailed. For a live “create shop accounts from a list” import, turn notifications on and generate passwords if the file has none.

If you map Password, you are setting the password from the file. Prefer sending a reset email unless you have a defined password strategy.

Update existing customers

  1. Map Email (or Username / Customer ID).
  2. On Permissions, select that field as the unique identifier.
  3. Enable Update (and Create for new emails).
  4. Leave Password unmapped on re-imports unless you intend to reset it.

Unmapped billing/shipping fields are left alone. Mapped fields overwrite the WooCommerce address on that customer.

  1. Import products so SKUs exist — WooCommerce Products.
  2. Import customers with this template so emails exist.
  3. Import orders and link each order to a customer by email — Import WooCommerce Orders.

Do not mix a nightly stock feed with a one-off customer import. Unique keys stay separate: SKU for products, email for customers, order key for orders.

Filters

Customer address values pass through:

add_filter( 'iwp/woocommerce/customer_field', function ( $value, $field, $type ) {
	// $type is billing or shipping; $field is e.g. country, postcode
	return $value;
}, 10, 3 );

add_filter( 'iwp/woocommerce/customer_field/billing_country', function ( $value ) {
	return strtoupper( $value );
} );

More snippets: WooCommerce Filters and Code Snippets.

Updated 2026-09-16