Add contacts

Before you can send campaigns, you need contacts in your account. Flexmail gives you several ways to add them, from uploading a full CSV file to adding a single contact manually. This article explains each option.


Before you begin

  • Make sure you have created all custom fields you want to capture before importing (read "Contact fields" first if you have not done so yet)
  • If you are migrating from another platform, import your previous unsubscribers to the Blacklist before importing active contacts
  • Have your contact data ready in CSV format if you are doing a bulk import
  • Confirm that you have a documented legal right to send emails to the contacts you import
  • Turn off any Workflows triggered by the list you upload, unless you want the automation to run for all imported contacts. Wait until the import is fully processed before turning your list-triggered Workflows back on.

To get started, go to Contacts, then to All contacts, and click Add contacts.


Option 1: Upload a CSV file

This is the most efficient way to import a large number of contacts at once. You need your contact data in a CSV file with columns separated by commas or semicolons, and a header row at the top.


CSV file requirements

  • The file extension must be .csv
  • The file must be encoded in UTF-8
  • Maximum file size: 25 MB
  • Maximum number of rows: 100,000. Split larger lists into multiple imports
  • The first row must be a header row with column names
  • Separate multiple values in a single cell with commas. If a value itself contains a comma, enclose the full value in double quotes

Import steps

  1. Click Upload a file and select your CSV.
  2. Confirm that you have the right to send emails to these contacts.
  3. Flexmail reads the file and shows you a preview of the first row of each column.
  4. Map each column in your file to the correct Flexmail database field. This is the most important step. Consult the article "Linking database fields to the import file" for guidance.
  5. Review the summary: how many valid contacts were found and whether there are any import errors or warnings. Download the error file if you want to correct specific rows.
  6. Select a default language for contacts without a language in the file.

    Choose or create a source for this import. Use a source name that remains clear six months from now.

    Set the open tracking consent. This step only appears when you have not mapped a column for open tracking consent, even if you have not activated the open tracking consent policy.

    Choose between:

    • Import without tracking consent (default): Flexmail saves the contacts as "Not set". If the policy is active, they receive no tracking pixel until they give consent themselves. If the policy is not active, they are tracked as before and you see a short notice that this only takes effect once you enable the policy.
    • Import with tracking consent: you only choose this if you confirm that valid, documented consent exists outside Flexmail and that Flexmail cannot verify it. Flexmail sets all contacts from your file to "Yes", except contacts that already have an explicit "No". The choice source in the consent log is "Import". This is separate from the source you choose for the contact (see About sources).


  7. Choose or create a shared interest, or skip this step.
  8. Click Import to start the import.

GDPR During import, Flexmail asks you to confirm that you have a legal right to store and send emails to these contacts. Only import contacts who have given you documented permission. Read the article "Lawfully obtained data" for more context.


Option 2: Add a single contact

If you want to add one contact at a time, click Add a single contact. Enter at least the email address and add any other fields you want to store. You must also assign a source and indicate that you obtained the data lawfully.

Open consent policy A contact you add manually automatically receives the value "Not set" for open tracking consent. Flexmail records the choice source as "Manual" in the consent log. This is separate from the source you choose for the contact (see About sources).

Support tip Adding contacts one by one works fine for occasional additions, but if you regularly add individual contacts from events or meetings, consider running a small import instead. It is faster and keeps your source tracking consistent.


Option 3: Connect via API

If you use an external CRM, e-commerce platform, or other system, you can automatically push contacts to Flexmail via the API. Contacts added via the API are added as confirmed contacts. Consult the API documentation for technical details.


Option 4: Other options

  • Zapier integration: connect Flexmail to hundreds of other tools without writing code
  • Opt-in forms: let contacts add themselves to your database with documented consent

What happens to existing contacts?

If a contact you import already exists in your account (matched on email address), Flexmail updates their data instead of creating a duplicate. Field values are updated if the new file contains a different value. Sources and interests are never overwritten; new values are added on top of what is already there.

The same applies to open tracking consent. An empty value never overwrites an existing "Yes" or "No". An existing "No" is never changed to "Yes" by an import. A contact can change this themselves: through the profile page (reached via the link in the footer), or by subscribing again through an opt-in form and confirming it.

See "Updating existing contacts" for the complete update logic.

Attention Contacts on your Blacklist cannot be imported or added back to your active database. If you try to import a blacklisted address, it appears as an error in the import summary.


Common mistakes to avoid

Importing active contacts before the Blacklist

If you are migrating from another platform, always import your previous unsubscribers to the Blacklist first. If you import your active list first, you risk sending campaigns to people who were already unsubscribed on your old platform before you imported the Blacklist.


Not mapping fields before importing

If custom fields do not exist in your account yet, they cannot be mapped during import. Create your fields in Settings first, and only then import. If you skip this step, the data lands nowhere and you have to import everything again.


Using a vague source name

A source named "Import" means nothing six months later. Use descriptive names like "Newsletter subscribers Q1 2025" or "Webinar attendees March 2025" so you always know where a group of contacts came from.


Importing contacts without consent

Importing contacts who have not given you clear, documented permission to send them emails puts your deliverability at risk and violates the GDPR. Only import contacts whom you have a legitimate right to contact.


GDPR considerations

Every import requires you to confirm that you have a legal right to store and send emails to the contacts in the file. Flexmail records this confirmation. Providing it without a valid legal basis does not protect you from liability. If you are unsure whether a specific list qualifies, read "Lawfully obtained data" first.


Next steps


You can do much more in Flexmail
Looking for additional background information?
Get inspired!
Did this answer your question? Thanks for your feedback There was a problem submitting your feedback. Please try again later.

Didn't find what you were looking for? Contact Us Contact Us