Taifa MailTaifa Mail Docs
Contacts

CSV Import

Import contacts into a list from a CSV file.

You can bulk-import contacts into any list by uploading a CSV file. This is the fastest way to migrate subscribers from another email platform.

CSV import requires a Starter plan or higher. Free plan users can add contacts manually.

CSV format

Your file must be a CSV with a header row.

The email column is detected automatically. The importer first looks for a column named email, e-mail, email_address, or emailaddress (case-insensitive). If none is found, it falls back to the first column whose values contain @ signs. If no email column can be detected, the import is rejected.

Every column other than the email column is stored as metadata on each contact. If one of those columns is named name, full_name, or fullname, its value is used as the contact's name instead of being stored as metadata.

Example CSV:

email,name,company
alice@example.com,Alice Mwangi,Acme Ltd
bob@example.com,Bob Ochieng,Nairobi Tech
carol@example.com,Carol Wanjiku,

In this example, company is stored as metadata on each contact.

How to import

  1. Go to Audiences in the sidebar.
  2. Select the list you want to import into.
  3. Click Import CSV.
  4. Select your CSV file.
  5. Click Import.

Import results

After the import completes, you will see a summary:

  • Imported -- new contacts added to the list.
  • Skipped -- rows whose email already exists in the list (duplicates by email).
  • Errors -- rows that could not be processed (empty email, invalid email format, or a missing email value). Up to 50 error rows are reported.

Per-list contact cap

Imports respect your plan's contacts-per-list limit. If an import would push the list past that cap, it stops and returns an error. See the limits table in Contact lists. Business plan lists have no contact cap.

Requirements

  • File format: CSV with a header row.
  • Encoding: UTF-8 is preferred (a byte-order mark is handled). Files that are not valid UTF-8 are decoded as Latin-1 as a fallback.

The file must have at least a header row and one data row. An empty file is rejected.

On this page