Import customers
Bring your customer list in from a spreadsheet, including who has agreed to texts and who has opted out.
If your customers are in a spreadsheet or another system, import them instead of typing them in. Importing adds customers only. It never sends anything.
Import a list
- Go to Customers and click Import a list, or open Settings → Import a list.
- Upload a .csv, .xlsx or .xls file, up to 10 MB or 50,000 rows.
- Chiffchaff matches your columns to these fields: First name, Last name, Full name, Phone, Email, Last visit date, Agreed to texts (yes/no), Agreed to emails (yes/no), Unsubscribed from emails and Replied STOP or opted out of texts. Under each field you'll see a few values from your file, and above the list how many of your columns were matched and which are being ignored. Change any match, or set it to Skip. Each row needs a phone or an email.
- Click Import to add them.
Names in one column
If your file has a single "Name" column, it goes in Full name and is split for you. "O'Brien, Mary" becomes Mary O'Brien. Otherwise the first word is the first name and the rest is the last name, and a single word is a first name. Mr, Mrs, Ms and Dr at the start, and Jr, Sr, II and III at the end, are left off. If your file has first and last name columns, those are used instead.
The "Agreed to texts" column
Map a column to Agreed to texts (yes/no) to bring in who has agreed to texts. Use yes, y, true or 1 for yes, and no, n, false, 0 or a blank cell for no. If you don't map the column, everyone is imported as not agreed.
A value Chiffchaff can't read, such as "maybe", is imported as no. The row still comes in, with a note in the results so you can check it.
Only mark people as agreed if they really said yes. See Texting needs consent.
People who opted out
If your old tool kept a list of people who unsubscribed from emails or replied STOP to texts, bring it with you, so nobody who opted out there hears from you again.
- Map the column that says who unsubscribed from emails to Unsubscribed from emails, and the one that says who opted out of texts to Replied STOP or opted out of texts. Columns with names like "Unsubscribed" or "SMS opt out", or a "Status" column holding words like unsubscribed or cleaned, are matched for you.
- Yes, true, 1, unsubscribed, opted out, stop, cleaned, bounced, spam, complained, blocked, do not contact, do not text and do not email all count as opted out. No, a blank cell, subscribed, active, opted in, pending and never subscribed count as still on the list.
- A value Chiffchaff can't read counts as opted out, with a note in the results. It's the safe side: better to miss one person than to contact someone who asked you to stop.
- An opt-out wins over a yes in the same row. Someone marked as agreed to texts and opted out of texts comes in as opted out and not agreed.
- A text opt-out is also added to your text opt-out list, which stays even if you delete the customer later. A text opt-out for someone with no phone number is left out, since there's nothing to block.
- A row that can't be imported because of a problem, such as a phone number or date we can't read, still keeps its opt-out when its email or phone reads correctly and matches someone already in your list or another row in your file. Nobody new is added from that row. It stays in the list of rows with problems, with a note that the opt-out was kept.
- If you set an opt-out column to Skip, Chiffchaff asks you to confirm first, because importing without it could contact those people again.
Importing never gives anyone consent your file doesn't show.
People already in your list
A row that matches someone already in your list (by email, then phone) adds only what's missing: a phone or email they don't have yet, a yes to texts if they hadn't agreed, and an opt-out your file lists. It never takes consent away, never overwrites a name or a contact detail, and never undoes an unsubscribe or a STOP. An import doesn't renew consent recorded before October 20, 2026, when we didn't keep how people agreed: ask them again and record it on their page. See Texting needs consent.
Moving from another tool
Export your customers from the old tool as a CSV or Excel file, including any unsubscribed or opted-out people, and import that file here. Step-by-step export help for popular tools is on its way.
To send requests from a spreadsheet instead, see Send requests to a list.
Still stuck? Email support@getblythe.com.