All posts

Moving to Customer.io? Verify the List Before the First Broadcast

··3 min read

Customer.io says it plainly: verify imported addresses before you email them. Its deliverability guide asks you to verify any address imported into Customer.io before sending, to leave out anyone who hard bounced on your old platform, and to keep bounces under 5%. A migration is the moment that advice matters most, because the first broadcast goes to the whole imported list at once, from sending domains Customer.io hasn't seen you use before.

Sources, read 2 November 2026: Customer.io's email deliverability best practices, email suppression lists and import people or events via CSV.

What Customer.io does and doesn't do on import

Step What the docs say
CSV import Up to 100 MB, up to 100 columns, at least one identifier column (id, email, phone or cio_id). Rows with errors aren't imported; rows with warnings are.
Mailbox check Not described. The deliverability guide asks you to verify imported addresses before sending.
After a hard bounce or complaint The address is suppressed on the sending domain where it happened
Suppressed people Still in the workspace; can start automations and receive other channels, not email through Customer.io's ESP
Bounce target Overall bounces under 5%; under 2% ideal

The per-domain detail matters for SaaS teams that send product mail and marketing mail from different subdomains. A bounce on one doesn't suppress the address on the other unless you use the ESP Suppression API, which applies to every sending domain in the workspace. If your subdomains are already shared across providers, one sending subdomain with two email providers explains the reputation side.

Step by step

  1. Export from the old platform with every status: subscribed, unsubscribed, bounced, complained.
  2. Build the suppression file first. Pull bounced, complained and unsubscribed addresses into one list. The suppression list merger combines exports from several tools and dedupes them.
  3. Remove those addresses from the import. Customer.io's guide says to omit previously hard-bounced recipients; keep unsubscribes and complaints out of marketing too. If you'd rather keep the person record, import them and suppress the email through the ESP Suppression API so it holds on every sending domain.
  4. Verify the rest on the verify page. Remove invalid results from the import or import them as suppressed.
  5. Shape the CSV. One identifier column, under 100 columns, under 100 MB; split larger files. The CSV import formatter cleans headers.
  6. First broadcast to valid addresses only. Watch the bounce rate against Customer.io's 5% line, then add risky and unknown results in a smaller send.
  7. Sunset the inactive. Customer.io's guide suggests removing people with no opens or clicks in six months from marketing audiences; a sunset policy sets the rule.

What verification can't settle

Some addresses won't confirm either way. B2B SaaS lists carry many catch-all company domains, which accept every address so a single mailbox can't be confirmed, and Microsoft consumer mailboxes (outlook.com, hotmail.com) often don't answer single-mailbox checks reliably. Those come back risky or unknown, not invalid. Keep them, send them after the confirmed group, and let real bounces decide. For new sign-ups after the migration, a check at the form catches typos before they become profiles; see real-time verification on signup forms.

Where SimpleVerifier fits

Verify the migration file on the verify page; the first 100 checks are free with a Google sign-in. Pro is $39 a month with the first 100,000 checks a month at full speed, then slower, never cut off, and includes API calls for checking new sign-ups. See pricing.

Common questions

Does Customer.io verify email addresses on import?

Its CSV import guide lists file requirements (up to 100 MB, up to 100 columns, at least one identifier column such as id or email) but doesn't describe a mailbox check. Its deliverability guide asks you to verify imported addresses before sending to them.

What bounce rate does Customer.io recommend?

Its deliverability best practices recommend keeping overall bounces under 5%, and describe under 2% as ideal.

Do bounces from my old platform carry over to Customer.io?

Not by themselves. Customer.io's guide says to leave out recipients who previously hard bounced when migrating. Export bounces, complaints and unsubscribes from the old platform and keep them out of the import, or suppress them through the ESP Suppression API so the block applies to every sending domain.

Are suppressions per domain in Customer.io?

Suppressions from a bounce or complaint apply to the sending domain where they happened. Suppressions added through the ESP Suppression API apply to all sending domains in the workspace, which is how its docs suggest keeping them in sync.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.