Skip to main content
email·digit

How to import an old email list without hurting your domain

Before you import an old list, take out the addresses you already know are bad, check what is left, and send to it gradually so a bad file shows itself early. Email Digit checks a list before you import it, keeps anyone on your do-not-send list from becoming sendable, merges duplicates on the way in, and pauses sending to an import whose bounces climb, without stopping the rest of your account.

Why an old list is a risk to a new domain

A list that sat in a spreadsheet for two years has decayed in ways you cannot see from the file. People changed jobs, so their work addresses no longer exist. Some domains stopped receiving mail altogether. Shared addresses like info@ or sales@ reach whoever is on rotation that week, and those readers are quick to press “report spam” on mail they never asked for.

The other problem is what the file does not contain. When you leave an email tool, its record of who unsubscribed, who bounced and who complained usually stays behind. Export a contacts CSV and those people look exactly like everyone else.

Mailbox providers judge a sending domain by how its mail is received. A new domain has no history to soften a bad first send, so a burst of bounces and complaints in its first week shapes how everything after it is treated.

Clean it before you import, wherever you send from

  1. Export the do-not-send history too. Download the unsubscribed, bounced and complained addresses from your old tool and remove them from the file you plan to import.
  2. Remove obvious junk. Addresses with no @, typos in the domain, test entries like test@example.com.
  3. Decide about role addresses. Keep a shared address only if someone at that company asked for your mail.
  4. Know where each person came from. If you cannot say how someone agreed to hear from you, that row is a liability, not an asset.
  5. Send to the freshest part first. Recent signups and customers before the oldest records, so a problem shows up on a small send.

Four places Email Digit stops a bad list

1. A list check before anything is imported

On the mapping step you can run a quick check over the file. It counts addresses with invalid syntax, addresses at domains that have no mail server, role addresses such as info@ and support@, and duplicates within the file. The result is labelled an estimate, because that is what it is: it checks the format of each address and whether its domain accepts mail at all. It does not contact individual mailboxes, so it cannot tell you that a particular person’s address still exists.

2. Consent, and your do-not-send list, at the door

The import asks how you obtained consent for the people in the file: a signup form on your site, a purchase, an event, existing customers, or another reason you describe. The import does not run without an answer, and the answer is recorded with the import and the person who gave it. Consent is stated, not verified, and nobody can verify it from a CSV; the point is that the statement is deliberate and you can find it later.

Anyone already on your do-not-send list who appears in the file is imported as unsubscribed and is never made sendable. The result shows them as a separate count, so you can see how many opt-outs were in the file. Re-importing an export from 2019 cannot quietly put them back into your campaigns.

3. Mapping and duplicates

You map each column to name, email, phone, tags or one of your custom fields. With dedupe on, an address that already exists is updated rather than duplicated: its tags are merged and new field values are added. You can drop everything the import touched straight into a list. Rows without a usable email address are skipped, and the skipped rows download as their own CSV so you can fix and re-import only those.

One import request takes up to 50,000 rows. The importer sends a larger file in parts of 50,000, one after another, and each part counts as its own import for the bounce pause described below.

4. A pause that measures each import on its own

After sending starts, Email Digit counts sends and bounces for each import separately. That matters because a bad list hides inside a good account. Two hundred dead addresses in an account with 50,000 healthy contacts barely move the account’s bounce rate. Measured against the import they arrived in, they are impossible to miss.

If more than 5% of an import’s sends bounce, once it has had at least 40 sends, further sending to the contacts from that import is paused. The rest of your contacts keep receiving mail. The contacts page shows which import was paused, and someone with the Admin role or above can resume it once they have looked at the list.

Example importSendsBouncesResult
Recent signups1,000121.2%, keeps sending
2019 trade show list300279%, paused
Small partner list304Too few sends to judge yet

The 40-send minimum is there because a rate over a handful of sends is noise: one bounce in eight sends is 12.5% and tells you very little.

What these checks do not do

  • They cannot see your old tool’s history. There is no bulk upload for a do-not-send list; addresses are added one at a time. Remove old unsubscribes and bounces from the file before you import it.
  • The list check is not verification. An address can pass the format and mail-server checks and still bounce. Treat the counts as a reason to clean, not as proof that the rest will deliver.
  • The pause reacts to sends. It protects your domain from the rest of a bad import, not from the first sends that revealed it. Sending to the freshest contacts first keeps that first exposure small.

If you are moving from another tool, the guide on contacts who never engage covers what to do with the people who arrive and never respond. Every plan includes unlimited contacts; see the pricing page for sending volumes.

Share this guideShare on XShare on LinkedIn