RichLead
All guides

Guide

How to reduce your cold email bounce rate

A high bounce rate harms your domain faster than a bad message ever will. Here is how to keep it low.

Bounce rate is the metric that punishes you fastest. A poorly written email gets ignored; a list full of dead addresses tells every receiving server that you do not know who you are mailing, which is exactly the profile of a spammer.

What counts as acceptable

Bounce rateWhat it means
Under 2%Healthy. Normal list decay.
2% to 5%Your list needs cleaning.
Over 5%Reputation is actively being damaged.
Over 10%Expect filtering and possible account action.

Hard and soft bounces are different problems

A hard bounce is permanent: the address does not exist, or the domain does not. Never send to it again. These are the ones that hurt, and they are entirely preventable.

A soft bounce is temporary: the mailbox is full, the server is down, the message was too large. Retrying later is reasonable, but repeated soft bounces to the same address usually mean it is abandoned.

Treating the two the same is a common mistake. Retrying a hard bounce compounds the damage; suppressing after a single soft bounce throws away reachable people.

Where the bad addresses come from

  • Guessed patterns. Tools that assume first.last@company.com are wrong often enough to wreck a list.
  • Stale data. B2B email decays roughly 2% a month as people change jobs. A list from last year is substantially dead.
  • Scraped addresses. Often role accounts, spam traps, or long gone.
  • Unverified exports. Provider databases include contacts they have not confirmed recently.

Getting the rate down

Verify before sending, not after

Only import contacts whose address the provider actually confirmed. "Found" is not the same as "verified" — Apollo and Hunter both distinguish these, and it is worth respecting the distinction even though it shrinks your list.

Suppress hard bounces permanently and automatically

This must not depend on anyone remembering. A hard bounce should add the address to a suppression list that every future campaign checks, including campaigns created later by someone else on your team.

Avoid role addresses

info@, sales@, support@, admin@ bounce more, convert worse, and are more likely to be monitored as spam traps. Skip them in cold outreach.

Re-verify anything older than a few months

If a list has been sitting unused, verify it again before the first send rather than discovering the decay through bounces.

Send gradually to a new list

Send to a small portion first. If that batch bounces heavily, you have learned it cheaply instead of burning your domain on the whole list.

Reading a bounce message

Bounce replies are machine-readable reports, and the status code tells you which kind you have:

5.1.1  mailbox does not exist        -> hard, suppress
5.1.2  domain does not exist         -> hard, suppress
5.2.2  mailbox full                  -> soft, retry later
4.x.x  temporary failure             -> soft, retry later
5.7.1  rejected as spam              -> not a bounce; a deliverability problem

That last one is worth separating out. A 5.7.1 means the address exists and the server refused your mail — the fix is authentication and content, not list hygiene.

How RichLead handles this

Contacts imported from Apollo or Hunter are only marked verified when the provider actually confirms the address; manually added contacts are not assumed to be valid. Bounce reports arriving in your mailbox are parsed and the address is added to your suppression list, so it is excluded from every future campaign automatically. The suppression list is workspace-wide, so one person's bounce protects everyone's sending.

The Lead quality page shows which contacts are unverified before you send to them.