> For the complete documentation index, see [llms.txt](https://support.emarketeer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.emarketeer.com/guides/contacts-lists/import-contacts-from-excel.md).

# Import contacts from Excel

How to prepare an Excel file and import contacts — including consent information — into the eMarketeer contact database.

This guide describes how to import contacts to your eMarketeer contact database from Excel documents.

## Preparations

1. Structure your Excel file so each column lists data of a single type and each contact sits on a new row.
2. All contacts need valid email addresses or they will not be imported. This applies even when you import contacts for SMS sendouts.
3. eMarketeer uses first name and last name as two separate fields. Full name is not supported, so split the columns in Excel.
4. If you intend to update legal basis ([consent information](/references/references/emarketeer-gdpr-overview/how-does-consent-work.md)) as part of the import, make sure every contact in the file shares the same legal basis.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-d9013596d2e2a3a0e141649ca825298b38ccad0e%2F2021-05-28_09-36-53.png?alt=media" alt="Example of an Excel file with three contacts"></div>

## Where to import?

At this point you have an Excel file ready to go. Where you perform the import depends on what you want to do with the contacts. Most often you want to make a specific email sendout. The question is whether you want to send to them immediately or store them for later.

### Import as a recipient source

When sending emails you can choose one or more sources for your recipients. The File upload option lets you import contacts from an Excel file (or text file) and use them as recipients in that send. It is an efficient way to use contacts from a file without creating a contact list first.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-43257d6e58422c2bea4d969462c8602f33e3ae17%2Fimport-contacts-from-excel-send-recipient-source-file-upload.png?alt=media" alt="Recipient Source step with File Upload highlighted"></div>

### Import to a contact list

If you intend to use the contacts more than once, add them to a contact list. You can then address the same contacts across multiple sendouts without re-importing. Contact lists are commonly used for newsletter subscription lists, lists of internal contacts, or a test group for draft emails.

If you need to create a new contact list as a destination for your import, [this guide](/guides/contacts-lists/new-contact-list.md) shows you how.

To start the import, go to **Contacts** in the left sidebar, click **Add Contact** and choose **Import from file**.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-21539e117d1fc64c021381f97f8c41647371e831%2Fimport-contacts-from-excel-add-contact-import-from-file.png?alt=media" alt="Import from file option in the Add Contact dialog"></div>

## Importing and field mapping

### Map columns

In the **Import from file** window, drag and drop your Excel or CSV file, or browse to it. eMarketeer shows how many rows it found and a preview of the first five rows.

For each column, choose the contact card field it contains in the dropdown above it. Columns whose heading matches a field are mapped automatically. Columns without a field are not imported. For example, set the column with email addresses to **Email**. Then click **Next: Import settings**.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-f29d9a0e07c56d822757199f675ac3dbdfeb999b%2Fimport-contacts-from-excel-import-map-columns.png?alt=media" alt="Map columns step with a preview of the file and a field chosen for each column"></div>

### Contact settings and existing contacts

Under **Contact settings** you can add tags to every imported contact, set their **Contact type**, and add them to a contact list with **Import to contact list**.

Under **Existing contacts**, **Match by** decides how eMarketeer recognises contacts already in your database. By default it matches on email address: a matching contact is updated, and a new contact is created if there is no match. You can also match on External ID if one of your columns has that data type, which is useful if you want to update email addresses. External ID links a contact to its record in a connected CRM. For SuperOffice, it's set when you import from SuperOffice. See [How contacts are matched between eMarketeer and SuperOffice](/integrations/superoffice/superoffice-contact-matching.md). **Update behavior** controls how existing contacts are updated.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-b6f4ad347b586a67a590de81fae565870c8d4a4a%2Fimport-contacts-from-excel-import-contact-settings.png?alt=media" alt="Contact settings with tags, contact type and contact list, and Existing contacts with Match by and Update behavior"></div>

### Legal basis

Finally, you can update the legal basis for the contacts in your file, for **Store and process** and **Marketing sendouts**. Both are set to **Do not update** by default. Updating creates or updates the legal basis for every imported contact, so make sure your selection accurately reflects the legal basis for each individual in the file. [Read more about consent here](/references/references/emarketeer-gdpr-overview/how-does-consent-work.md).

A withdrawn consent is not changed by a contact import. You cannot revoke a withdrawal through import.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-91bc6cd3ee4625e831921b88ad84ba33dfa0592e%2Fimport-contacts-from-excel-import-legal-basis.png?alt=media" alt="Legal basis settings for Store and process and Marketing sendouts, and the Import contacts button"></div>

### Start the import

Click **Import contacts**. The import runs in the background, so you can click **Done** and keep working while it finishes.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-7eb248fd922b056cfb9521e4e58e8ca4faeadc2f%2Fimport-contacts-from-excel-import-started.png?alt=media" alt="Import started confirmation saying the contacts are being imported in the background"></div>

### Import results

When the import is complete, you get a notification in the inbox under the bell icon in the top right corner. See [Notification system](/references/references/notification-system.md). It shows how many contacts were added, updated, skipped and rejected. Click **View report** to open the import report.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-8a9f83f1bd152c9298232ea294108dd5cc9250ab%2Fimport-contacts-from-excel-import-notification.png?alt=media" alt="Contact import completed notification in the inbox with the View report button"></div>

The report shows the number of contacts created, updated, skipped and rejected. If the import did not produce the expected results, the report helps you find out why. Rows that could not be imported, for example because of an invalid email address, are listed under **Invalid rows**.

<div align="left" data-with-frame="true"><img src="https://2894606528-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0ywqCs3au1x0DqPhEJTR%2Fuploads%2Fgit-blob-39edc803fa6c4abd93b9e91ff90e900a40843b32%2Fimport-contacts-from-excel-import-report.png?alt=media" alt="Import report with the number of contacts created, updated, skipped and rejected, and the Invalid rows list"></div>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://support.emarketeer.com/guides/contacts-lists/import-contacts-from-excel.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
