Guide · Customers import
Customers
A customer is identified by email, so you rarely need BigCommerce ids — which also means a file exported from one store can be imported into another. One column in this file can send email; it is the first thing on this page.
Commands
| Command | Description | Behaviour |
|---|---|---|
| NEW | Create a new customer. | Fails if a customer with the same email already exists. |
| UPDATE | Update an existing customer. | Uses Customer ID if given, otherwise finds them by email. Fails if there is none. |
| MERGE | Create or update. | The default. Updates the customer if the email exists, creates them otherwise. |
| DELETE | Delete a customer. | Uses Customer ID if given, otherwise finds them by email. |
| REPLACE | Refused for customers. | Fails the row. Re-creating a customer would give them a new id and detach their order history. Use UPDATE. |
| IGNORE | Skip this row. | Does nothing, and is recorded as skipped rather than as a success. |
Customer columns
| CSV column | Required | Description |
|---|---|---|
Command | Optional | NEW | MERGE | UPDATE | DELETE | IGNORE. Default MERGE. |
Customer ID | Optional | BigCommerce customer id. Give it for UPDATE or DELETE and no lookup is needed. |
Email | Required | The customer's email. BigCommerce keeps it unique, which is why it identifies the customer. Not required if you give a Customer ID. |
First Name | Conditional | Given name. Becomes required as soon as the row carries an address: BigCommerce refuses an address with no name, and the address inherits the customer's. Fill this and Last Name, or give Address First Name and Address Last Name instead. |
Last Name | Conditional | Family name. Same rule as First Name — required once the row carries an address. |
Company | Optional | Company name. |
Phone | Optional | Phone number. |
Notes | Optional | Internal notes, not shown to the customer. |
Customer Group ID | Optional | BigCommerce group id. Only useful within one store, since ids differ between stores. |
Customer Group | Optional | The group named instead of numbered — resolved for you, and portable between stores. Customer Group ID wins if you give both. |
Tax Exempt Category | Optional | Tax exemption code, if your store uses them. |
Accepts Marketing | Optional | true or false — whether they accept product review and abandoned cart emails. |
Force Password Reset | Optional | true makes BigCommerce email the customer a password reset. Leave it out unless that is what you want. |
Attribute: name | Optional | One column per custom attribute, e.g. "Attribute: loyalty tier". The attribute is created for you if your store does not have it yet. |
Attribute Command | Optional | MERGE (default) adds and updates the listed attributes; DELETE clears just those; REPLACE makes the listed ones the only ones. |
Address columns
A row carries one address. Leave every address column blank if the row is only about the customer; fill them and the address is added or updated.
| CSV column | Required | Description |
|---|---|---|
Address Line 1 | Required | Street address. Required if the row describes an address at all. |
City | Required | City. |
Country Code | Required | Two-letter country code, e.g. VN, US, GB. |
Address Line 2 | Optional | Apartment, suite, and so on. |
State | Optional | State or province. |
Postal Code | Optional | Postal or ZIP code. Used together with the street line to recognise an address you have imported before. |
Address First Name | Optional | Name on the address. Falls back to the customer's own first name. |
Address Last Name | Optional | Falls back to the customer's own last name. |
Address Company | Optional | Company on the address. |
Address Phone | Optional | Phone for this address. |
Address Type | Optional | residential or commercial. |
Example file
Command,Email,First Name,Last Name,Company,Customer Group,Address Line 1,City,State,Postal Code,Country Code,Attribute: loyalty tier
MERGE,ann@example.com,Ann,Nguyen,Forix Co,Wholesale,1 Le Loi,Hanoi,Hanoi,100000,VN,gold
MERGE,ben@example.com,Ben,Tran,,Retail,22 Tran Phu,Hue,Hue,530000,VN,silver
MERGE,ben@example.com,,,,,9 Nguyen Hue,Da Nang,Da Nang,550000,VN,
UPDATE,ann@example.com,,,Forix Group,,,,,,,
DELETE,old@example.com,,,,,,,,,,
The third row gives Ben a second address: repeat the email and fill only the address columns.
Things worth knowing
- Several addresses per customer. Repeat the email on another row and fill only the address columns. An address is recognised by its street line and postal code, so re-importing the same file updates the address instead of adding a copy.
- Addresses need a name. BigCommerce will not store a nameless address, so if you do not give
Address First NameandAddress Last Namethe customer's own name is used. Give neither and the row fails, saying which columns to fill. - Groups by name. Import your customer groups first, then put customers in them with
Customer Group. A name that does not exist fails the row rather than quietly leaving the customer ungrouped. - Attributes are created for you. A column like
Attribute: loyalty tierdefines the attribute in your store the first time it is seen, then sets it per customer. - Blank cells never overwrite. A column you leave out, or leave empty, is not sent; a cell holding only spaces counts as empty.
- Check before you run. The file check flags any column that would be ignored, and a dry run previews every row — including any that would send an email — without writing anything.