Start Free Trial
Start Free Trial

Customers

See what each field/column from our “Customers” template means including possible allowed values and examples.

Fields marked with “Export only” tag cannot be imported/set in Shopify but can be exported with Matrixify export.

Excel Sheet Name

Customers

To tell the app that you are importing Customers you need:

  • If using CSV file then the file name needs to contain the word “customer”, for example, “my-shopify-customers.csv”
  • If using XLSX file then the sheet/tab name in the file needs to be “customer”. The file name for the XLSX file does not matter.

Need a quick start?

Columns Available For Export And Import

Basic Columns

Column Description / Example Value
ID ID is automatically generated number by Shopify to identify the item.
It is filled in by an Export.
Can be used for Import to identify and update existing Customers.
When creating new Customers, leave this value empty.

Allowed Values

Number

Example
44920047631
Email Customer primary e-mail address.

If the store is configured to require Customer login, then this will be the username.

Email must be unique in this Store, which means that each e-mail can be used only once in this column across the Store. When customer puts an order and has e-mail filled, that e-mail is used to identify to which customer the order will be assigned.

Email can be empty if First Name is filled.

Email is used as the secondary way to identify customers and to check if they already exist. In the import results the Email field can also be called “Handle” (as for all other items secondary identifiers).

Allowed Values

Email Address

Example
[email protected]
Command When importing Customer row – tell the app, what to do with it:

  • NEW: will try to create a new Customer with the provided details. If such Customer will already exist (with the same ID or same Email), then the result will be Failed.
  • MERGE: will try to find existing Customer, and update it with data from the row. If such Customer will not be found, then it will create new.
  • UPDATE: the app will search for an existing Customer and update it. If an customer cannot be found then it will fail to import.
  • REPLACE: at first, if such Customer with provided ID or Email exists, then the app will delete it. After that, it will create a new one. If an existing Customer will not be found, then still the app will create a new one. The difference from UPDATE is that it will not keep any of columns, which were not included in the import file since the Customer will be deleted and re-created.
  • DELETE: the app will delete the existing Customer, which is found by ID or Email. If such Customer will not be found, then the result will be Failed. This DELETE command is very handy for deleting Customers in bulk.
  • IGNORE: the app will ignore this Customer and will skip it.

If no Command is specified, then the app will assume the MERGE command.

Allowed Values
NEW
MERGE
UPDATE
REPLACE
DELETE
IGNORE
Example
MERGE
First Name The first name of the Customer.

First Name can be empty if Email is filled.

If Address First Name is not filled for the address, then Matrixify will use the value of this column for the address.

Allowed Valuesd

Text

Example
John
Last Name The last name of the Customer.

If Address Last Name is not filled for the address, then Matrixify will use the value of this column for the address.

Allowed Values

Text

Example
Smith
Phone Phone number must be complete – with the country code and must be valid for the respective country.

You can prefix phone numbers with ‘ (apostrophe) to allow Excel to show the + (plus) sign. But the + (plus sign) is not required.

The phone number must be unique – Shopify allows one phone number to belong to only one Customer. Shopify uses the phone number to identify to which customer to assign the order – in case the customer doesn’t have the e-mail.

If Address Phone is not filled for the address, then Matrixify will use the value of this column for the address.

Allowed Values

Phone Number

Example
'+15417543000
State

Export only

The Customer status – one of those:

  • disabled: customers are disabled by default until they are invited.
  • invited: the customer has been emailed an invite to create an account.
  • enabled: the customer accepted the email invite and created an account.
  • declined: the customer declined the email invite to create an account. If Customer has declined your invitation, you cannot generate new Account Activation URL.

The state is always “calculated” from the actions that are done with this Customer. When you import it, it will always be “disabled” at the beginning.

If you send the invitation (or import the column “Send Account Activation Email” as TRUE), then the State will be “invited.

To import the Customer as “enabled” State initially, the only way is to do is – to import it with the “Password” set to something. Generally you would want to not set the Password, but send an invitation and allow the customer to approve it.

Allowed Values
disabled
invited
enabled
declined
Example
disabled
Accepts Marketing Whether Customer accepted that he can be sent Marketing e-mails.

Same as Email Marketing: Status field.
This field might be deprecated in the future so that it no longer works and only Email Marketing: Status would be used.

Allowed Values
TRUE
FALSE
Example
TRUE
Email Marketing Status Whether Customer accepted that he can be sent marketing e-mails.

Allowed Values
invalidThe customer’s email address marketing state is invalid.
not_subscribedThe customer hasn’t subscribed to Email marketing.
pendingThe customer is in the process of subscribing to Email marketing.
redactedThe customer’s personal data is erased. This value is internally-set and read-only.
subscribedThe customer is subscribed to Email marketing.
unsubscribedThe customer isn’t currently subscribed to Email marketing but was previously subscribed.
Example
subscribed
Email Marketing Level The Email marketing subscription opt-in level, as described by the M3AAWG best practices guidelines, that the customer gave when they consented to receive marketing material by email.

When creating new customer, if no Marketing Level is specified app will assume it as single_opt_in which is also the default value in Shopify.

Allowed Values

confirmed_opt_in– After providing their information, the customer receives a confirmation and is required to perform a intermediate step before receiving marketing information.

single_opt_in– After providing their information, the customer receives marketing information without any intermediate steps.

unknown– The customer receives marketing information but how they were opted in is unknown.

Example
single_opt_in
Email Marketing Updated At

 

The date and time when the customer consented or objected to receiving marketing material by email.

Can be imported.

Allowed Values

Date & Time

Example
2018-12-17 18:20:07 +0200
SMS Marketing Status Whether Customer accepted that he can be sent marketing SMS.
Current SMS marketing state for the customer.Updating customer SMS Marketing Status:

  • SMS Marketing Status can only be updated if the current SMS Marketing Status is not_subscribed .
  • Customer cannot update to redacted SMS Marketing Status.
  • Customer can only be updated to pending SMS Marketing Status in combination with confirmed_opt_in SMS Marketing Level.

Creating customer:

  • Customer cannot be created with redacted SMS Marketing Status.
  • Customer can be created withpending SMS Marketing Status only in combination with confirmed_opt_in SMS Marketing Level.
  • Creating customers with not_subscribed SMS Marketing Status will always set SMS Marketing Level to single_opt_in no matter what is specified in the import file.
  • Other SMS Marketing Status and Level combinations should work when creating customer.
Allowed Values
not_subscribedThe customer hasn’t subscribed to SMS marketing.
pendingThe customer is in the process of subscribing to SMS marketing.
redactedThe customer’s personal data is erased. This value is internally-set and read-only.
subscribedThe customer is subscribed to SMS marketing.
unsubscribedThe customer isn’t currently subscribed to SMS marketing but was previously subscribed.
Example
subscribed
SMS Marketing Level The SMS marketing subscription opt-in level, as described by the M3AAWG best practices guidelines, that the customer gave when they consented to receive marketing material by SMS.

Allowed Values

confirmed_opt_in– After providing their information, the customer receives a confirmation and is required to perform a intermediate step before receiving marketing information.

sinlge_opt_in– After providing their information, the customer receives marketing information without any intermediate steps.

unknown– The customer receives marketing information but how they were opted in is unknown.

Example
single_opt_in

SMS Marketing Updated At The date and time when the customer consented or objected to receiving marketing material by sms.

Can be imported.

Allowed Values

Date & Time

Example
2018-12-17 18:20:07 +0200
SMS Marketing: Source

Export only

The source that collected the customer’s consent to receive marketing materials by SMS.

Allowed Values
OTHERThe customer consent was collected outside of Shopify.
SHOPIFYThe customer consent was collected by Shopify.
Example
SHOPIFY 
Created At

Export only

It will be set automatically when Customer is created.

Allowed Values

Date & Time

Example
2018-12-17 18:20:07 +0200
Updated At

Export only

It will be automatically updated, whenever the Customer data is changed.

Allowed Values

Date & Time

Example
2018-12-17 18:20:07 +0200
Note Whatever is written on the Customer card, accessible from Shopify Admin.

Allowed Values

Text

Example
Your notes go here.
Verified Email Tells, whether Customer e-mail is validated.

Is set to TRUE, when Customer received the confirmation e-mail and pressed the confirmation link.

This value can also be imported, when creating new Customer.

By default, the value will be FALSE.

Allowed Values
TRUE
FALSE
Example
TRUE
Tax Exempt Whether the customer is exempt from paying taxes on their order.

If TRUE, then taxes won’t be applied to an order at checkout.
If FALSE, then taxes will be applied at checkout.

Allowed Values
TRUE
FALSE
Example
TRUE
Tags Tags allow you to add additional elements or “properties” to your Customer, which you can use for filtering, for developing some additional logic for those Customers in your Store Theme.

See this tutorial on how to bulk manage your Tags.

Allowed Values

Comma Seperated List

Example
Friend, Migrated
Tags Command Tell the app, what to do with Tags:

  • MERGE: will add Tags to existing tags. It means that you don’t need to list all the tags in the import file, you can import those which you want to add. If some of the tags you are importing already exist, then the app will ignore it.
  • DELETE: will delete the Tags that are listed in the import file. If the listed tag will not exist, then the app will ignore it.
  • REPLACE: will replace all existing tags with the tags from the import file. Use this method to maximize the import speed, because if you will use MERGE, it means that the app will need first to load existing tags which takes additional time.

You can also have Tags listed in multiple rows within the item and with different Tags Commands.
They will be executed in the same order within the item as you have them listed in the file.

If Tags Command is not set, the app will assume the MERGE command by default.

See this tutorial on how to bulk manage your Tags.

Allowed Values
MERGE
DELETE
REPLACE
Example
REPLACE
Row #

Export only

Will have row number from 1 till the end for each row. So that if you change the sorting in your exported file to easier update your data, you can sort it back by “Row #” and return it to the original sorting. Because, you know, all the item data should be together – and if you change the sorting, you need to sort it back.
Top Row

Export only

It will have value “TRUE” for each “top row” of the item. That can help you filter in Excel to get only the base rows, in case you need to get rid of repeated rows for each item. Some sheets already had this as Primary Row column earlier, but we have added it now to all the sheets now and renamed to Top Row so it’s more clear.

First and Last Order

Those columns are only exported.

Column Description / Example Value
Total Spent

Export only

The total amount of money this Customer has spent, calculated from actual Orders in the Store.

It is exported even when “First and Last Order” checkbox is not checked because the data is available always.

Example
48234.93
Total Orders

Export only

The total number of orders this Customer has purchased.

It is exported even when “First and Last Order” checkbox is not checked because the data is available always.

Example
5
First Order: ID

Export only

ID of the first Order of this Customer.

Example
2387462873468
First Order: Name

Export only

Name of the first Order of this Customer.

Example
#12345
First Order: Processed At

Export only

Date and time of the first Order of this Customer.

For imported Orders, this will be the processed date, not the date when the Order was imported.

Date and time will be in the format which is recognized as Excel time.

Example
2018-12-17 18:20:07 +0200
First Order: Price Total

Export only

The total price of the first Order of this Customer.

This is not the actually paid amount, it is the Total of the Order itself.

Example
999.99
Last Order: ID

Export only

ID of the last Order of this Customer.

If Customer has only one order, then this will be the same as the first Order.

Example
2387462873468
Last Order: Name

Export only

Name of the first Order of this Customer.

If Customer has only one order, then this will be the same as the first Order.

Example
#12345
Last Order: Processed At

Export only

Date and time of the first Order of this Customer.

For imported Orders, this will be the processed date, not the date when the Order was imported.

Date and time will be in the format which is recognized as Excel time.

If Customer has only one order, then this will be the same as the first Order.

Example
2018-12-17 18:20:07 +0200
Last Order: Price Total

Export only

The total price of the first Order of this Customer.

This is not the actually paid amount, it is the Total of the Order itself.

If Customer has only one order, then this will be the same as the first Order.

Example
999.99

Addresses

Each Customer can have several addresses, which are used for shipping. One of them is Primary address, marked in the column “Address Is Default”.

All those addresses can be imported, as well as exported.

A Customer with several addresses is organized the same way as Products with several Variants – you need to copy cells from Basic Columns to a new row for each additional Address. To identify that Address belongs to the same Customer, you must have ID or Email cells (whichever comes first), or if those two are empty, then at least “First Name” and “Last Name” must be repeated. At the same time, you can duplicate also all other cells, if that’s more convenient.

Those all are columns, which are accessible in Shopify Admin, when entering one Customer, and pressing “Change” button at Default Address card.

Column Description / Example Value
Address ID

Export only

ID is automatically generated number by Shopify to identify the Address.
It is filled in by an Export.
When creating new Customer Addresses, leave this value empty.When you need to update existing addresses, and you don’t want to replace them all, then keep the Address ID value filled – that way the import will know, which address needs to be updated.

Allowed Values

Number

Example
44920047999
Address Command Whenever addresses are imported, there is always one of those commands executed for each of address rows:

  • MERGE – merges new addresses into existing customer addresses.
  • DELETE – will delete the listed address by “Variant ID”, if no “Variant ID” will be listed the address will fail to delete.
  • REPLACE – will replace all existing customer addresses with the ones that are listed in the import. This will delete any addresses that are not included in the import for that Customer.

If no Address Command is specified, then the MERGE will be assumed.

Allowed Values
MERGE
DELETE
REPLACE
Example
MERGE
Address First Name Can be different from the First Name. This name will be used when shipping to this particular address.

If empty, then the app will take value from the First Name column in this address row.

Allowed Values

Text

Example
Eric
Address Last Name Last name of this address. Will be used when shipping to this particular address.

If empty, then the app will take value from the Last Name column in this address row.

Allowed Values

Text

Example
Smith
Address Company Company name, if shipping is done to a company address.

Alternative column headers
  • Company – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Text

Example
Smith Inc.
Address Phone Phone number to use for this shipping address.

If empty, then the app will take value from the Phone column in this address row.

Allowed Values

Phone Number

Example
'+15417543002
Address Line 1 Address 1st line.

Alternative column headers
  • Address1 – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Text

Example
Calvin Street 5
Address Line 2 Address 2nd line.

Alternative column headers
  • Address2 – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Text

Example
2nd Floor
Address City City name. Is not checked, so it’s possible to enter any city name.

Alternative column headers
  • City – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Text

Example
Dough
Address Province Province names are checked against Shopify geographic classifier. Creation of Customer fails if the value is not valid.

If you are not sure, what are available values, go to Shopify Admin, edit the Address, and click the drop-down to choose the Province for chosen Country.

If Address Province Code is filled, this can be left empty, then Province will be set from there.

You can see list of all Shopify approved Countries, Provinces, and their codes in Matrixify Countries and Provinces documentation.

Alternative column headers
  • Province – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Province Name

Example
Ontario
Address Province Code In Shopify classifier there are Province Codes. This is checked, and creation of Customer fails, if the value is not valid.

If Address Province is filled, this can be left empty, then Province will be set from there.

You can see list of all Shopify approved Countries, Provinces, and their codes in Matrixify Countries and Provinces documentation.

Alternative column headers
  • Province Code – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Province Code

Example
ON
Address Country Country names are checked against Shopify geographic classifier. Creation of Customer fails if the value is not valid.

If you are not sure, what are available values, go to Shopify Admin, edit the Address, and click the drop-down to choose the Country.

If Address Country Code is filled, this can be left empty, then Country will be set from there.

You can see list of all Shopify approved Countries, Provinces, and their codes in Matrixify Countries and Provinces documentation.

Alternative column headers
  • Country – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Country Name

Example
Canada
Address Country Code Country international code, consisting of 2 letters.

If Address Country is filled, this can be left empty, then Country will be set from there.

You can see list of all Shopify approved Countries, Provinces, and their codes in Matrixify Countries and Provinces documentation.

Alternative column headers
  • Country Code – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Country Code

Example
CA
Address Zip Zip number of the address. Shopify doesn’t check its correctness.

Alternative column headers
  • Zip – Shopify Transporter CSV and Shopify native CSV
Allowed Values

Zip

Example
ZIP-1234
Address Is Default Set this to TRUE if this address needs to be set to Customer primary address.

Allowed Values
TRUE
FALSE
Example
FALSE

 

Functional Columns

There are some functional columns, which allow manipulating sensitive Customer information.

 

Column Description / Example Value
Account Activation URL

Export only

This column can be only generated by Export when marking the checkbox “Activation URLs” for the Customer export.

When opening this link, the Shopify Store will ask Customer to enter her new password, and once this is done, Customer will have instantly activated his account, with all the profile ready to use, with all the data which you imported.

This allows creating smooth migration experience for Customers when migrating from the old system.

You can use those URLs to send invitation e-mails for newly imported Customers using your favorite mass-mailing provider, like MailChimp.

To get Account Activation URLs, you need to do the Export after importing new Customers, then those URLs will be generated. All you need to do then is import this Exported Excel into a mass-mailing list, and use it in the main Call To Action button like “Activate Your Migrated Account”.

Important: each time you generate new Activation URLs, the previous URLs get “expired” and become invalid. This is how Shopify organizes the Activations. The same thing happens whe you send individual activation invitations from Admin for each customer.

Example
https://yourstore.com/...
Send Account Activation Email This column can only be imported.

If you will set this to “TRUE”, then as soon as Customer will be imported, she will receive a default invitation e-mail from Shopify to activate the account – the same one as she would get if you press the “Send account invite” in the Admin from Customer page.

When migrating Customers, you might want Shopify to send out invitations to activate migrated accounts in bulk. Then set this to TRUE when importing. This can be used as smooth migration experience for Customers if you don’t want to send your own mass-mailing with Account Activation URL links.

When the value is left empty, it is considered to be FALSE, so invitations will not be sent.

You can send those activations also to your existing Shopify Customers, just do the export, and then import back as an update, with this value set to TRUE.

Allowed Values
TRUE
FALSE
Example
TRUE
Send Welcome Email If you will set this to “TRUE”, then as soon as Customer will be imported, she will receive a default Welcome e-mail, the same one as she would get if she registers herself.

This welcome e-mail is sent only if the imported customer will be activated, e.g. when you set the password in the import for the new customer.

Allowed Values
TRUE
FALSE
Example
FALSE
Password Imagine – you can import Customers and set their new passwords as you like. That way the Customer will be instantly activated and will be able to login with that password.

Also, you can use the same approach to change passwords for existing Customers.
If the Customer does not have an account in Shopify then you cannot activate their account by setting a password and will need to either reimport the customer as new again with the password or trigger Shopify to Send Account Activation Email to the customer so that they can create the account themselves.

You cannot export passwords because those are strongly encrypted, and even Shopify doesn’t know them.

Allowed Values

Text

Example
a898w3424&*&(
Multipass Identifier Available only for Shopify Plus stores.

Allows setting the identifier of the Multipass login.

Read more information about Multipass.

Allowed Values

Text

Example
bob123

Metafields

Read the description on Metafields page.

Export Filters

In the Matrixify app, you can apply filters to Export only specific items from your Shopify Store.
When creating new export, select what you wish to export, and under that entity click on the “Filters” button.

Note: total displayed item count and estimated time won’t be affected by the filters applied.

Filter Description
E-mail Put the comma-separated list of all the Customer e-mails which you want to filter by.

Possible Conditions
  • equals to any of
Example
[email protected], [email protected]
Created At

Fast filter *

Allows exporting Customers which were created in the Shopify within a specific date range.Relative date condition allows you to export Customers that have been created in the last full amount of time.

For example – Last 1 Days, would export Customers from last full day, so yesterday.

Possible Conditions
  • on or after
  • on or before
  • date range
  • relative date
Updated At

Fast filter *

Allows exporting Customers which were last updated in the Shopify within a specific date .Relative date condition allows you to export Customers that have been updated in the last full amount of time.

For example – Last 1 Days, would export Customers from last full day, so yesterday.

Possible Conditions
  • on or after
  • on or before
  • date range
  • relative date
Tags Allows to export Customers that have all listed tags, any of listed tags or none of the listed tags. Separated by a comma.

Possible Conditions
  • contains any of
  • contains all of
  • contains none of
  • equals to any of
  • equals to all of
  • not equal to any of
  • starts with any of
  • matches pattern
Example
tag1, tag2, tag3
Address Country Code Filters Customers that have addressed with specific country codes.
This allows exporting customers from specific countries.You can list multiple two-digit country codes, separated by a comma.
You can see list of all Shopify approved Countries and their codes in Matrixify Countries and Provinces documentation.

Possible Conditions
  • equals to any of
  • not equal to any of
Example
US, FR, LV
Accepts Marketing Filters Customers that have or have not subscribed to marketing emails.

Possible Conditions
  • Yes
  • No
Email Marketing: Status Filters Customers that have or have not subscribed to marketing emails.

Possible Conditions
  • Subscribed
  • Not Subscribed
Metafield Filters the Orders export by Customers Metafields.

Specify Metafield by:

  • Namespace
  • Key
  • Value
Possible Conditions for Text value
  • equals to any of
  • not equal to any of
  • contains any of
  • contains all of
  • contains none of
  • matches pattern
  • contains
  • does not contain
  • is empty
  • is not empty
Possible Conditions for Number value
  • equals
  • less than
  • less than or equal to
  • greater than
  • greater than or equal to
  • between
  • is empty
  • is not empty
Tax Exempt Filters Customers are or are not Tax Exempt.

Possible Conditions
  • Yes
  • No

Summary

In this export, as you see Customers in Admin – each customer has its primary First/Last name and Phone, and each address has their own First/Last Name and Phone – for delivery purposes.

All this data is exported and imported exactly as you see it in Admin.

If Client will have several addresses, all those will be exported, each address in new Excel row. The same principle can be used to import Customers with several addresses, keeping the Email field as the unique Customer identifier (the same as Handle for Products).

Good To Know

  • To repeat rows for Addresses, you can just copy the whole row as it is, and you don’t have to delete contents of Basic Columns – that makes copying easier.
  • Shopify exported CSV file, pasted to Excel [Customers] Sheet, can be imported with the same columns. Just know that not all Customer data is exported, when exporting to CSV by Shopify default export.
  • To not update some columns, remove those columns from Excel file. Then the Import will not touch them.
  • If you will not have Address ID value, then all addresses will be replaced with imported.
  • To update existing Address columns, remember to keep the “Address ID” column.
  • If you will have the Column with an empty value, then this column will be changed to empty.
  • * Fast filter – Quick filters work on the Shopify API side. When using these filters app will not need to go through all store Orders but can ask Shopify directly to return Orders within the applied filter parameters. Can be combined with other filters, then app will first take Orders from Shopify with the API side filters and go through returned Orders to filter the rest on our end.