Skip to content

Importing subscribers

Importing subscribers

Import contacts from CSV or XLSX with the required columns.

Bulk import saves time when migrating from another tool. Only import people who opted in to hear from you. Purchased, rented, or scraped lists are not allowed and will get the account suspended.

Prepare your file

Include these columns:

Column Required Notes
email Yes Must be valid and unique per list
first_name No
last_name No
tags No One or more tag names; separate with ;, ,, or `

File size: CSV, TXT, and XLSX imports are limited to 4 MB per file (configurable via MAILIVATE_SUBSCRIBER_IMPORT_MAX_KB).

Plan segments before you import

Segments are built from conditions (usually tags), not from a column in your file. If you will target groups like “VIP”, “trial”, or “West region” after import:

  1. Decide which tags each row should have.
  2. Add a tags column to your spreadsheet (e.g. customer;vip).
  3. After import, create Segments with tag conditions that match those labels.

See Segments for examples and step-by-step setup.

Import steps

  1. Open the list → Import subscribers
  2. Upload CSV or XLSX
  3. Map columns if prompted
  4. Choose whether to update existing subscribers or skip duplicates
  5. Run the import and review the summary

Large imports run in the background. Failed rows are reported with reasons (invalid email, duplicate, etc.).

Address cleaning

Every import row and new subscriber is checked before it is stored:

  • RFC-valid address (length, dots, no IP literals)
  • Not already suppressed
  • Not a role mailbox (info@, admin@, support@, noreply@, including info+tag@)
  • Not a disposable domain (9,000+ throwaway providers, including subdomains)
  • Not a common typo (gamil.com / gmaiil.com → use gmail.com)
  • Not a generated numeric mailbox (12345678901@)
  • In production, the domain has MX, or an A/AAAA fallback (RFC 5321). Null MX is rejected.

Failed rows include the reason. Clean those addresses in the file and re-import.

New lists default to double opt-in. Import of existing opted-in customers still stores them as subscribed.

Best practices

  • Remove unsubscribed or bounced addresses before importing
  • Use consistent tag naming (customer, not Customer and customer) so segment conditions match after import
  • Send a welcome campaign only after import completes
Confirm