Clean the list before it lands on the new platform
You have signed for Klaviyo, or Braze, or whatever the new stack is, and the old platform has given you a CSV of 180,000 contacts. The temptation is to import everything and sort it out later. Later is the problem.
A new account has no sending history. Your first campaign is the whole evidence base the new platform and the receiving mailbox providers have about you, and a file carrying four years of accumulated dead addresses turns that first campaign into the worst possible introduction.
The order the work happens in
Export before you cancel anything
Pull the suppression list and the bounce history out of the old platform as well as the contacts. Those two files are the record of who already failed, and they are usually the first thing lost in a migration.
Merge the suppressions in first
Anyone who unsubscribed, complained or hard bounced on the old platform must arrive on the new one already suppressed. Losing that history is how a migration produces complaints from people who opted out two years ago.
Verify what is left, not what you exported
Running the whole export wastes credits on addresses you already know are dead. Suppress first, deduplicate, then check the remainder.
Import in segments, engaged first
Load the people who opened something in the last ninety days and send to them first. A strong opening signal on a new account buys tolerance for everything that follows.
Hold the rest back two weeks
The dormant half of the list can wait until the account has a delivery record. There is no deadline forcing you to introduce your worst data on day one.
What each result means here
The same four results and their flags, read against this job. A catch-all worth keeping in one situation is one to exclude in another.
| Result | What to do with it |
|---|---|
| Valid | Import, and put it in the first segment if it has engaged recently. |
| Invalid | Do not import. Keep it in a file of what you removed, because a migration audit trail is worth having. |
| Catch-all | Import but hold it out of the first three sends. The new account has no reputation to spend on a maybe. |
| Unknown | Same treatment as catch-all. It is a non-answer from the receiving server rather than a fault in the address. |
| Role flag | Import only where the role address is genuinely your contact, which at small firms it often is. |
| Disposable flag | Drop it. A throwaway address that was signed up years ago is not coming back. |
How you know it is finished
The new platform holds the suppression history, the engaged segment has been imported and mailed once, and the dormant remainder is sitting in a file with a date on it rather than in the sending list.
What this does not fix
A 180,000-address migration after suppression and deduplication is usually well under the raw export. At $139 for 100,000 credits the cleaning cost of a typical migration is smaller than one month of the platform you're moving to, and unknown results are not billed.
Questions people ask
Should I verify before or after importing to the new platform?
Before. An import writes the bad addresses into the new system, and several platforms count them against your account from that moment. You will also find a CSV far easier to fix than a live database.
Does the new platform not clean the list for me?
It removes addresses after they bounce, which means it learns by damaging your new account's reputation. That's the cost you avoid by checking first.
What about the suppression list from the old platform?
Export it and import it first, before any contacts. It is the record of who opted out and who already failed, and re-mailing those people is the most avoidable mistake in a migration.
Try it on the file in front of you
100 free checks a month, no card. Addresses we could not get an answer on come back labeled as unknown, and those are not billed.