Quick tips:

  • We recommend you read about segmentation best practices before importing your list.
  • Use a CSV file that includes a header row with field names. The file can't have blank rows or columns on the top or on the left. View example.
  • Be sure to assign at least one internal list or subscription during the import process so you can easily segment your contacts later. 
  • Contacts will be merged by email address if they already exist in your database.

List file

Prepare your import file in Excel or Google Sheets or export it from another source. In the end the file needs to be saved in a CSV format.

Each column in the file needs to include a header in the first row to indicate the name of each field. (view example)

At a minimum your file must include an email field, however, we recommend you also include additional fields that you can use for personalizing email messages. For example, importing "first name" will allow you to add a personalized salutation or merge this or other imported fields into the body of your messages.

Consent changes for existing contacts

Contacts with existing express consent will not be "downgraded" to implied consent status if you are re-importing existing contacts.

Contacts with revoked consent (unsubscribed contacts) will not be re-subscribed if they are re-imported.

Duplicates and existing contacts fields

If your import file contains duplicate records they will be automatically merged based on the email address. If your file contains records that are already in your Envoke database then imported fields will be updated for the existing contact records.

It's possible to use an external ID as a key field instead of the email address. This is an advanced setting, please contact support for more details.

Importing internal lists and subscriptions

There are two options to import internal lists and subscriptions.

OPTION 1: Everyone on your list belongs to the same internal list or subscription.

In this case you don't need to include a column in your list file to indicate list assignment, you can assign the internal lists and subscriptions directly on the import settings page. In the example below all contacts on the list are assigned to the "Monthly newsletter" and "Partners" list.

OPTION 2: Contacts on your list are part of different internal lists or subscriptions.

Use this option if not every contact is part of the same list or subscription.

First, create the lists in your account and organize them into folders. In the example below there are three internal lists (Staff, Student and Volunteer) inside a folder called "Contact type".

Tip: To have lists auto-created as contacts are imported check the "Create new internal lists in folders" option under the Advanced Settings area on the import page. This option saves time so you don't have to create the lists before proceeding with the import.

The import file should include a column with the list names, separated by commas, like this:

It's important that the list names in your account match the names in your file.

Proceed with the import by uploading your CSV file to your account, then on the import settings page map the "Lists" column from your import file to the corresponding internal list folder from your account. In our example this is matched to the "Contact type" folder:

Field updates

Fields for existing contacts are overwritten when contacts are re-imported, except for blank values. (fields are only updated, not deleted)

Internal lists and subscriptions are cumulative. New internal lists and subscriptions are appended to records but never removed.


On the import settings page you'll see a preview of the list. This provides you with a way to confirm the fields aren’t misaligned or scrambled. If the preview looks good you can continue to the next step, otherwise the file format needs to be fixed first.

Field mapping

Map fields from your file to the corresponding field in Envoke. You can also use the “Skip this field” option to exclude a field from the import.

Import approval

After you click the Import button your file will be queued for importing. Importing generally takes only a few minutes.

Import requests from new users are manually reviewed to maintain Envoke’s deliverability ratings and for security reasons. This manual review process generally takes less than 60 minutes during regular business hours. After you've sent a few email campaigns without generating above average complaints we'll enable auto-importing and this review process will be bypassed.

Import completion

When the import is completed you’ll receive an email confirmation with a summary showing new contacts added, contacts updated, duplicate records merged and records that didn't get imported such if they had an invalid email address.

You can also view the status of your import from the app on this page.

Rejected records

Contacts that didn't get imported due to an error (for example a syntax error in the email field) are saved in a separate file for your review. The file is called "YourFileName - rejected records.csv". You can download this file and import it once the errors are fixed.

Country field

If you're importing a country field, here is a list of ISO country codes and names to use. All other data in the country fields will be rejected.

Original consent date

This applies only to implied consent with expiry. You may include a field in your import field with the original consent acquisition date using a YYYY-MM-DD format and map this to the "Consent effective date" field. This way expiry of consent will be tracked from this date rathe than the date of the import.

Did this answer your question?