What the file must contain
Only one column is mandatory:Email Address (Adresse email in a French export). Without it
the import fails immediately and writes nothing.
These are read when present, and ignored when absent:
First Name · Last Name · Tags · Status · optin_time · optin_ip · confirm_time ·
confirm_ip
The opt-in and confirmation columns carry the consent proof across the migration — the date and
IP of the original sign-up. They are worth keeping in the export.
The file is CSV only, 10 MB maximum.
The status you declare
Before starting, you state what the file contains: subscribed, unsubscribed, or cleaned (failing addresses). This is not decoration. A Mailchimp export does not say which status it holds, so without that answer an export of unsubscribed people would land as subscribed and you would email every one of them. When a row carries its ownStatus column, that column wins; the declared status is the
fallback for every row without one.
Batch tags are optional and apply to every contact in the file, on top of whatever the Tags
column holds. They are the simplest way to target this batch later.
An import never sends anything. No confirmation email, no welcome, no campaign — whatever the
status, whatever the double opt-in setting. Importing is a data operation, and it is silent by
design.
What comes back
The report counts three things: contacts imported (created), updated (already present — their status is kept, not overwritten), and rejected (skipped rows, listed with their line number, address and reason). A row is rejected when its address is missing, when it is not a valid address, or when itsStatus
value is one the product does not map. Rejections are per row: the rest of the file goes through.
Two failures stop everything instead, before a single row is written: an unreadable file, and a
missing email column.
An import keeps going once started: you can leave the page, and you cannot cancel it.
What limits you
The contact ceiling of your plan applies, all lists combined. A file that would push you past it is refused whole, with the remaining capacity stated: no half-imported batch.What it implies elsewhere
Imported contacts carryimport as their source, with the file name
as a label — which is how you find that batch again months later. The source is fixed at creation:
re-importing the same address updates the contact but never rewrites where it originally came from.
For loading from a script rather than a file, the API does the same work in bulk — see the
Audience API.