How the number is calculated
Bounce rate is bounced messages divided by messages delivered to the receiving servers, expressed as a percentage. Two details change the answer more than people expect.
- Count hard and soft bounces separately as well as together. A rate made of soft bounces is a different problem from the same rate made of hard bounces. The distinction is covered in hard bounce email vs soft bounce.
- Count per sending domain and per campaign, not just as an account average. One bad list can sit inside a healthy average while it damages the domain that sent it.
The thresholds that matter
Mailbox providers do not publish a single line you must stay under, and sending platforms differ on where they intervene. In practice the industry works with a small set of thresholds that are worth treating as real.
| Bounce rate | What it usually means | What to do |
|---|---|---|
| Under 1 percent | A verified list behaving normally | Nothing, keep verifying before each send |
| 1 to 2 percent | Normal decay of an ageing list | Re-verify the list and check which segments produce the bounces |
| 2 to 5 percent | The list was not checked before the send | Stop the campaign, clean the list, restart on a smaller segment |
| Above 5 percent | The list is not yours in any meaningful sense, or it is very old | Stop sending entirely, rebuild from verified sources |
The exact line matters less than the direction. A rate that is climbing campaign over campaign is a problem even at a low number, because the cause compounds.
What actually happens when you cross a threshold
The damage is not the bounced message. It is what the bounce tells the receiving side about you.
Mailbox providers track how often a sending domain addresses mail to recipients that do not exist. A sender who does that repeatedly looks like a sender working from a list they did not check, which is one of the most reliable signals of unwanted mail there is. The response is not a warning. It is quieter and worse: more of your mail routes to the spam folder, including mail to the recipients who do exist and who wanted to hear from you.
Your own sending platform reacts first and more visibly. Most will throttle or suspend an account whose bounce rate crosses their limit, because your reputation affects the shared infrastructure they run.
The recovery is slow. Reputation is built from weeks of consistent behaviour, so one bad campaign costs you more than one campaign.
The common causes, in the order you should check them
- The list was never verified. This is most cases. A bought list, a scraped list or a CRM export that nobody checked will contain addresses that closed months ago.
- The list is old. Staff turnover alone retires a meaningful share of any B2B list within a year, and nothing in your database changes to tell you.
- Addresses were derived from a naming pattern and sent without checking. One pattern applied to a thousand names produces a lot of confident nonsense.
- Form typos went straight into the database. A sign up form without validation collects a steady stream of addresses with a missing letter in the provider name.
- A whole domain stopped receiving mail. When a company folds or moves, every address on the domain bounces at once, which spikes a single campaign.
- Role addresses and stale distribution lists that were retired by whoever ran them.
The order of operations for fixing it
-
Stop the campaign. Everything else is cheaper after you stop adding to the number.
-
Pull the bounce log and split hard from soft. Hard bounces are the list problem. Soft bounces at volume are usually a reputation problem that has already started.
-
Suppress every hard bounce permanently. Sending to a confirmed hard bounce a second time is the single worst thing you can do at this point.
-
Verify the whole remaining list, not just the part that bounced. The bounces you saw are the ones that arrived first, not all of them.
-
Segment by status. Send to the deliverable rows only, and hold the catch-all and risky rows out of this campaign.
-
Restart at lower volume from the affected domain, and watch the rate on each send before increasing.
-
Put verification before the send permanently, and re-verify saved lists on a schedule so this does not rebuild quietly.
Keeping it low without thinking about it
The cheapest bounce rate is the one you never let happen. Three habits cover almost all of it.
- Verify at the point of capture. Validate the address in the form, before it enters the database. The email verifier API exists for this.
- Re-verify saved lists on a schedule, so decay is caught before a campaign rather than by one.
- Never send to a derived address that failed verification. A find without confirmation is a hypothesis, and a hypothesis costs you a domain.