A hard bounce means the email can never be delivered to that address, so you remove the address the same day. A soft bounce means delivery failed for now, for a reason that may clear up, so you retry up to twice and then treat it as dead. That is the whole rule for a lead list. The rest of this page explains how to tell the two apart, what each looks like in your inbox, and the third kind of failure that people mistake for both.
The difference in one table
| Soft bounce | Hard bounce | |
|---|---|---|
| Meaning | Temporary failure | Permanent failure |
| Typical causes | Full mailbox, server down, message too large, short-term rate limit | Address does not exist, domain does not exist, address misspelled |
| Error code starts with | 4 (for example 4.2.2) | 5 (for example 5.1.1) |
| On a lead list | Retry up to twice, then remove | Remove the same day |
| Effect on you | Small, if it clears | Larger; repeat hard bounces signal an unchecked list |
What causes a soft bounce
The mail server found the mailbox but could not accept the message at that moment. The usual reasons: the recipient's mailbox is over its storage limit, their server is down or overloaded, the message is bigger than they allow, or their server is slowing down senders it does not yet know. Gmail's response to a delayed message is to keep trying for a while and then send you a failure notice if it never gets through, so a soft bounce can arrive as a "delay" note first and a final failure later.
A small example: Hector sells roofing supplies and emails the owner of an old three-person roofing company. The reply comes back with a note that the mailbox is full. That is a soft bounce. The address is real, and nobody has cleared the inbox.
What causes a hard bounce
The server tells you the address cannot receive mail. The commonest message is "550 5.1.1 the email account that you tried to reach does not exist," which means the name before the @ is wrong or the person has left. Others: the domain is not registered any more, the address has a typo, or the format was guessed wrong (first.last@ when the company uses flast@). Lists bought or scraped years ago are full of these. Hard bounces are also the main reason to verify email addresses before sending.
What to do with each on a lead list
Add a Bounce column to your sheet (the layout is in a cold email Google Sheet template) and use two entries: Hard and Soft. For a hard bounce, mark it, take the person off every future send the same day, and ask whether the name is worth finding another way, such as the company's phone number or a different address from their website. Do not try the same address again.
For a soft bounce, mark it Soft and set a retry. The first retry goes the next day. If it fails again, wait three days and try once more. If it fails a third time, change it to Hard and remove it. That is two retries, three attempts in all. A soft bounce that keeps repeating is not temporary, whatever the code says. A permanently full mailbox is a dead address in practice.
Take a batch of 50. Three emails bounce. Two carry a 5.1.1 code: both are hard and come out today. One carries a 4.2.2 full-mailbox code: soft, retried tomorrow. Two of 50 hard bounces is 4 percent, inside the cautious limit of about 5 percent laid out in cold email bounce rate. At 3 or more of 50, pause and check the list.
A third kind: a block that looks like a bounce
Some failures are about you, not the address. The receiving server refuses the message because of your sending reputation, your content or missing authentication. These usually carry a 5 code, often 5.7.x, and the text mentions policy, spam or authentication. Technically it is a "hard" code. In practice the address is probably fine. Do not delete the recipient. Instead stop sending, check SPF, DKIM and DMARC (see SPF, DKIM and DMARC for cold email), look at what changed in the message, and then retry a small number. If you remove everybody who ever blocked you, your list shrinks for no reason and the problem remains.
Another near-miss is the auto-reply. An out-of-office message is not a bounce at all. It means the person received the email and will not read it for now. Leave them on the list and schedule the next touch for after their return date.
How bounces affect your sending
Mailbox providers read your bounces as a clue about how you built the list. A few are normal. A steady stream looks like a sender who never checked. Repeated hard bounces to the same dead addresses are the worst, because they show you ignored the earlier failures. Cleaning after every send is cheap and keeps the number low. Beyond bounces, the rest of what shapes your standing is in startup cold email deliverability basics, and one hazard that a stale list can hide is described in what a spam trap is.
Where to look for the code
In Gmail, a bounce arrives as a message from "Mail Delivery Subsystem" with a subject like "Delivery Status Notification (Failure)." Open it and look for the line that says "The response was" or the code printed in the body, such as 550 5.1.1. The first digit is what matters: 4 for temporary, 5 for permanent. The text beside it tells you why. If you use a tool to send, it will usually record the code against the contact.
Terms you will meet next to bounces
Bounce rate: bounces divided by emails sent. Accept-all domain: a server that accepts mail for any name, so a bad address does not bounce at first. Greylisting: a server's deliberate temporary rejection of unknown senders, which resolves on retry. Deferral: a delayed delivery that has not yet failed.
Rocketship finds the buyers by name, emails them from your own Gmail at a measured pace, follows up, and books the meeting on its own. Plans that get you customers start at $24.99 a month (Launch), and every monthly plan starts with a 7-day free trial, card required. See the AI workers.
