With addresses and marketing consent. Passwords come across only where the hash can be read; everybody else is invited to set one.
The columns
Your file can name its columns any of the ways shown: the importer matches them whatever their case or spacing. Columns it does not know are left out.
| Column | Also read from | Notes |
|---|---|---|
Email (required)email | email address e-mail customer email user email | What a customer is identified by. A re-import matches on it. |
First namefirstName | given name forename first | |
Last namelastName | surname family name last | |
Phonephone | telephone mobile phone number | |
Password hashpasswordHash | password hashed password user pass | Only bcrypt and argon2 can be read. Anything else is discarded and the customer is invited to set a password — never given one. |
Marketing consentmarketingConsent | accepts marketing newsletter subscribed email marketing | Anything not clearly a yes imports as no. A blank column means nobody is marketed to. |
Consent dateconsentAt | consent date subscribed at opt in date | When they agreed. Evidence, if the opt-in is ever questioned. |
Address line 1line1 | address1 street address | |
Address line 2line2 | address2 | |
Citycity | town | |
Regionregion | province state county | |
Postcodepostcode | zip postal code zip code | |
CountrycountryCode | country code country | |
Companycompany | organisation business name | |
Customer ID in the old systemexternalId | id customer id legacy id | Optional. Kept so orders imported later can be matched to their customer. |
Questions it asks
People who are already here
Matched on email address.
- Leave them alone (the default): Anyone already here is left exactly as they are. The safe choice, and what you want when the file is older than the shop.
- Fill in the blanks: Fills in fields that are empty here and leaves everything else untouched. Marketing consent is never turned on this way — a customer who unsubscribed stays unsubscribed, whatever the file says.
A template to start from
The template has every column and a few example rows. The examples show the things most often got wrong on a first go.
Email,First name,Last name,Phone,Marketing consent,Consent date,Address line 1,City,Postcode,Country
ada@example.com,Ada,Lovelace,+35799123456,yes,2025-03-04,12 Analytical Way,Nicosia,1010,CY
grace@example.com,Grace,Hopper,,no,,,,,