Skip to content
⚠️ Support Advisory: Version 1 Shutdown on 14 October 2024. Current Version Remains Fully Operational.

Customer

The Customer resource represents a buyer who registers to your site.

A Customer in WooCommerce is someone with a user account to log in to your store. People purchasing as a guest (without logging into an account) are not considered customers. WooCommerce by default configured to allow customers to create an account. If you are relying on this resource, you can enforce registration by disabling Guest Checkout.

WooCommerce stores customer data alongside WordPress user data. If you customise WordPress Roles and Capabilities feature, make sure to not rename the Customer role, it may interfere with the plugin functionality.

Trigger Rules

A Trigger Rule defines an event (or multiple events) that will cause WooCommerce data to be sent to a Zapier Zap.

The following trigger rules are available to trigger your Zaps when customer data in your WooCommerce store is added, changed or deleted.

Customer created

Triggers when:

  • a customer registers (creates an account) in your WooCommerce store.
  • a WordPress user account (with any role) is created.

This trigger rule does not trigger when someone purchases as a guest without registering for an account. Please use one of the Order trigger rules if you would like guest purchases to be sent to Zapier.

Customer deleted

Triggers when a customer is deleted.

Due to limitations in how WooCommerce handles deleted events, only the ID of the deleted resource is sent to Zapier when using this trigger rule. No other data fields are available.

There is no trash functionality for customers (users) in WordPress

Customer updated

Triggers when a customer (or any WordPress user) is updated, edited, changed, or modified.

Actions and Searches

The following actions are available for use in your Zaps to create, update or find customers.

Line-Item Enabled Data Field: Meta Data

To specify multiple values for these field(s), the values must be sent in a line-item aware format. Please see here for details on how the Line Itemizer can be used to achieve this.

Create Customer

Creates a new Customer in WooCommerce.

Create Input Fields

NAME TYPE DESCRIPTION
Email string New user email address.
Required
First Name string Customer first name.
Last Name string Customer last name.
Username string New user username.
Password password New user password.
Billing object List of billing address data.
Only the child fields are visible in the Zapier UI.
Billing → First Name string First name.
Billing → Last Name string Last name.
Billing → Company string Company name.
Billing → Address 1 string Address line 1
Billing → Address 2 string Address line 2
Billing → City string City name.
Billing → State string ISO code or name of the state, province or district.
Billing → Postcode string Postal code.
Billing → Country string ISO code of the country.
Billing → Email string Email address.
Billing → Phone string Phone number.
Shipping object List of shipping address data.
Only the child fields are visible in the Zapier UI.
Shipping → First Name string First name.
Shipping → Last Name string Last name.
Shipping → Company string Company name.
Shipping → Address 1 string Address line 1
Shipping → Address 2 string Address line 2
Shipping → City string City name.
Shipping → State string ISO code or name of the state, province or district.
Shipping → Postcode string Postal code.
Shipping → Country string ISO code of the country.
Shipping → Phone string Phone number.
Meta Data array Meta data.
Only the child fields are visible in the Zapier UI.
Meta Data → Key string Meta key.
Meta Data → Value any Meta value.

Update Customer

Updates (modifies) an existing Customer in WooCommerce.

An update action always requires a valid top-level ID to be specified. This ensures that your Zap knows which record to update. On the other hand, any non-top-level ID is optional. If you leave it empty, WooCommerce will create a new entry, such as a new Meta Data item.

To help identify the correct Resource ID, you can add a Find step before your update step. The result of your Find step will contain the Resource ID, which you can then use in the Update step.

Update Input Fields

NAME TYPE DESCRIPTION
Existing ID integer Unique identifier for the resource.
Required
Email string The email address for the customer.
First Name string Customer first name.
Last Name string Customer last name.
Username string Customer login name.
Password password Customer password.
Billing object List of billing address data.
Only the child fields are visible in the Zapier UI.
Billing → First Name string First name.
Billing → Last Name string Last name.
Billing → Company string Company name.
Billing → Address 1 string Address line 1
Billing → Address 2 string Address line 2
Billing → City string City name.
Billing → State string ISO code or name of the state, province or district.
Billing → Postcode string Postal code.
Billing → Country string ISO code of the country.
Billing → Email string Email address.
Billing → Phone string Phone number.
Shipping object List of shipping address data.
Only the child fields are visible in the Zapier UI.
Shipping → First Name string First name.
Shipping → Last Name string Last name.
Shipping → Company string Company name.
Shipping → Address 1 string Address line 1
Shipping → Address 2 string Address line 2
Shipping → City string City name.
Shipping → State string ISO code or name of the state, province or district.
Shipping → Postcode string Postal code.
Shipping → Country string ISO code of the country.
Shipping → Phone string Phone number.
Meta Data array Meta data.
Only the child fields are visible in the Zapier UI.
Meta Data → Existing ID integer Meta ID.
Leave empty to create a new meta data record. Otherwise, enter an existing ID.
Meta Data → Key string Meta key.
Meta Data → Value any Meta value.

Find Customer

Searches for an existing Customer in WooCommerce. Optionally create one if none are found.

All available search fields can be viewed below. We recommend using the following search fields:

  • Email: Searches for the specified customer email address.
  • Search: Searches the Customer Username, Customer Email, Customer URL, Customer Display Name fields for the specified string/term/phrase.
  • Customer ID: Searches for the specified (numeric) customer ID.

The default search behaviour when searching for Customers is to limit the search to users with the “Customer” Role. However, if you want to broaden the result, please select another item in the dropdown. For example, you can choose “All” to search for every user of the WooCommerce store, including administrators.

Consult the search fields table for available Roles.

WordPress Multisite

If you are using the Create WooCommerce Customer if it doesn’t exist yet option in your Find Customer Zap, and you are also using WordPress multisite, please read the following.

The following error can occur if an email address exists in your multisite network, but isn’t assigned as a customer on an individual site in your network:

Communication error. 400 Bad Request.
registration-error-email-exists
An account is already registered with your email address. Please log in.

This is a limitation in how Multisite is designed, and how WooCommerce itself is designed to work with multisite.

WordPress Multisite stores user (and thus customer) accounts in one place (network-wide), and is then added to an individual site in your network when required.

If you encounter this error, the workaround is to go to WordPress DashboardSide MenuUsersAdd New and manually add the user with a Customer role to your sub-site.

Searches return the first result found

Each search has a default sort order, so when defining your Search step, you can use the Order and Orderby fields to choose (for example) whether the most recent result or the oldest result is returned from your search.

Search Input Fields

NAME TYPE DESCRIPTION
Customer Id string Limit search by ID.
Search string Limit results to those matching a string.
Order string Order sort attribute ascending or descending.
Orderby string Sort collection by object attribute.
Email string Limit result set to resources with a specific email.
Role string Limit result set to resources with a specific role.

Customer Data

NAME TYPE DESCRIPTION
Id integer Unique identifier for the resource.
Date Created date-time The date the customer was created, in the site’s timezone.
Date Modified date-time The date the customer was last modified, in the site’s timezone.
Email string The email address for the customer.
First Name string Customer first name.
Last Name string Customer last name.
Role string Customer role.
Username string Customer login name.
Billing object List of billing address data.
Billing → First Name string First name.
Billing → Last Name string Last name.
Billing → Company string Company name.
Billing → Address 1 string Address line 1
Billing → Address 2 string Address line 2
Billing → City string City name.
Billing → State string ISO code or name of the state, province or district.
Billing → Postcode string Postal code.
Billing → Country string ISO code of the country.
Billing → Email string Email address.
Billing → Phone string Phone number.
Shipping object List of shipping address data.
Shipping → First Name string First name.
Shipping → Last Name string Last name.
Shipping → Company string Company name.
Shipping → Address 1 string Address line 1
Shipping → Address 2 string Address line 2
Shipping → City string City name.
Shipping → State string ISO code or name of the state, province or district.
Shipping → Postcode string Postal code.
Shipping → Country string ISO code of the country.
Shipping → Phone string Phone number.
Is Paying Customer boolean Is the customer a paying customer?
Avatar Url string Avatar URL.
Meta Data array Meta data.
Meta Data → Id integer Meta ID.
Meta Data → Key string Meta key.
Meta Data → Value any Meta value.
Data Fields May Differ in Your WooCommerce Store

Zapier Integration for WooCommerce utilises WooCommerce’s REST API. Data field names, descriptions, and values can vary from one WooCommerce store to another.

Your store’s data, fields, and trigger rules may differ from this documentation due to any of the following:

  • WordPress versions and the locale/language used.
  • Your WooCommerce versions and the features enabled.
  • Your active WordPress plugins and WooCommerce extensions.
  • Any custom code that overrides or changes how the WooCommerce/WordPress REST API operates.

Note: The field definitions are generated using the following settings:

  • WordPress v6.6 with the en_US locale.
  • WooCommerce v9.2 with tax and coupon functionality enabled.
  • The WooCommerce Bookings, WooCommerce Memberships, and WooCommerce Subscriptions plugins were active.