Skip to content

Shopify tutorials for the person running the store. Orders, discounts, fulfilment, returns.

Import customers into Shopify from a CSV file

Moving to Shopify from another platform, or from a spreadsheet kept at a market stall, means moving the customer list too. Shopify imports customers from a CSV file: one row per customer, in Shopify's column layout. This tutorial imports a 120-row list, with the checks that catch the two rows that do not import.

Written · Shopify admin, desktop steps · 4 minutes read

The worked example

Rows in the file120
Imported118
Skipped as duplicates2
Customers before the import340
Customers after the import458
File size limit15 MB

Download the import run log: customer-import-run-log.csv (225 bytes, md5 55d16e15cf66698622ddad2f3a9f64e5).

A run log for customer imports: rows in the file, rows imported, rows skipped, and the store total after each run. Each row adds up: imported plus skipped equals rows in the file.

1Build the file in Shopify's column layout

Start from Shopify's customer CSV template, or build your own file with the same columns. The first line must be the column headers, and the Email column must be present, though its value can be blank. The worked example in the companion tutorial Build a customer CSV import file from the Shopify template fills in five rows in this layout.

2Check the two hard limits before you upload

Save the file as UTF-8, and keep it at 15 MB or smaller. A larger list has to be split into more than one file. The Total Spent and Total Orders columns are not imported, so do not rely on them to carry order history across.

3Open the import

From your Shopify admin, go to Customers, then click Import.

4Choose the file

Click Add file, then select your customer CSV file.

5Decide about overwriting and tagging

Optional: to update profiles that already exist, check Overwrite existing customers that have the same email or phone number. Be careful with this box: overwriting replaces all of the customer data, including any tags the import adds. Optional: check Add tags to customers in this csv and use these tags to create a segment to tag the imported customers and build a segment from the tag in one step.

6Import, then read the result

Click Import customers. Shopify works through the file and reports errors for the rows it could not import. Fix those rows in the file and import again; the worked example below had 2 rows skipped as duplicates, and those two were fixed by keeping only the last row for each shared email address.

The arithmetic

The worked example file holds 120 rows.

CountRowsRunning total
Rows in the file120120
Imported118118
Skipped as duplicates2120
Customers before the import340340
Customers after the import458458

118 imported plus 2 skipped equals the 120 rows in the file, and 340 customers before plus 118 imported equals 458 after. The 2 skipped rows shared an email address with another row in the same file, and only the last profile for that email is imported.

Held at the counter

Passwords do not migrate. Customer passwords cannot be carried over in a CSV file because they are encrypted outside Shopify. After the import, invite the customers to create new passwords so they can register their accounts.

Orders do not import. A customer CSV carries customer details only. Order history, and the Total Spent and Total Orders columns, stay behind, so a migrated customer starts with zero orders in the new store.

Overwriting replaces everything. Checking the overwrite box replaces all of the matching customer's data, including tags. Leave it unchecked when the file is meant to add new customers only.

Sources