Something Inc.LoginSchedule a free consultation
ANALYTICS

Hard Bounce vs Soft Bounce Is the Wrong First Question

The hard and soft labels describe how a message failed, never why. And the authentication fault most likely to wreck an outbound program is not in your bounce report at all yet, which is the problem.

ANALYTICSCOLD EMAILOCT 2026

A client sends us a bounce report roughly once a month with the same note attached: bounce rate climbed, we re-verified the list, the addresses came back valid, what now. The report is always sorted into hard and soft, and that sorting is the reason the question is hard to answer.

The hard and soft labels are not a diagnosis. They are a restatement of which class of response code the receiving server returned, 5xx or 4xx, and they were a reasonable proxy for cause back when almost every permanent refusal meant the mailbox did not exist. That assumption has been eroding for years and is now wrong often enough to break the standard fix.

Two things changed. Permanent refusals started arriving for reasons that have nothing to do with the recipient, which fills the hard column with tickets that belong to your DNS and your reputation rather than to your list. And the largest authentication requirement in consumer email, Microsoft's rule for high volume senders, currently does not produce a bounce at all. It produces a Junk placement, which means the fault is invisible in the one report everybody checks.

TL;DR · 60 SECONDSA hard bounce is a 5xx permanent refusal and a soft bounce is a 4xx temporary deferral. Neither label names a cause. Reputation blocks and policy refusals return 5xx and land next to the dead mailboxes, while Microsoft's high volume sender rule, which covers domains sending more than 5,000 messages a day to its consumer addresses, has routed non compliant mail to Junk since 5 May 2025 rather than bouncing it. Microsoft has said rejection is coming and has published the exact text it will carry, but has not named the date. So one authentication fault is currently invisible in your bounce report and is scheduled to become a wall of hard bounces on a day nobody has circled. Group failures by enhanced status code and by rejecting provider, and fix alignment before that switch flips.

Hard bounce vs soft bounce: what the two codes actually tell you

Hard bounce vs soft bounce describes the shape of a failure rather than its cause: a hard bounce is a permanent 5xx refusal that instructs the sender never to retry, and a soft bounce is a temporary 4xx deferral that invites a retry later. Neither one names a reason.

That distinction is genuinely useful for one decision and one decision only, which is whether your sending system should try again. It was never designed to tell you what to fix. The reason it got treated as a diagnosis is historical: for most of the history of commercial email, the overwhelming majority of 5xx refusals really were no such user, and the overwhelming majority of 4xx deferrals really were a full mailbox or a busy server. Pattern matching on the response class worked because the underlying population was lopsided.

The population is no longer lopsided. Reputation refusals and policy refusals both return 5xx, because from the receiving server's point of view they are permanent: retrying will not change the fact that it has decided not to accept mail from your domain. They are hard bounces by definition, and they tell you nothing about the address.

WHAT THE SERVER RETURNEDWHAT YOUR TOOL CALLS ITWHAT IT ACTUALLY MEANSWHAT FIXES IT
550 5.1.1 no such userHard bounceThe mailbox does not exist at that domainRemove the address, and look at where the list came from
550 5.7.1 blocked for policy or reputationHard bounceThe provider is refusing your domain or IP on reputation or policy groundsReduce volume, fix complaint rate, rebuild sending reputation
550 5.7.515 access denied, authentication level not metHard bounceThe text Microsoft has published for rejecting non compliant high volume senders, on an enforcement date it has not yet announcedFix SPF, DKIM and DMARC alignment on the sending domain, nothing to do with the address
452 4.2.2 mailbox fullSoft bounceThe recipient's mailbox is over quotaRetry, and suppress after repeated failures
421 4.7.0 try again laterSoft bounceRate limiting or throttling, often an early reputation warningSlow the send, and treat repeats as a reputation signal rather than noise

Read that table as a list of five different engineering tickets wearing two labels. Two of the three permanent failures have nothing to do with the recipient, and one of the two soft failures is an early warning about your own reputation rather than a transient hiccup. Any process that branches on the hard or soft label is going to send most of these to the wrong team.

The authentication failure that is not a bad address

Microsoft's authentication requirement for high volume senders does not currently produce a bounce at all: non compliant mail has been routed to the Junk folder since 5 May 2025, with outright rejection announced for a date Microsoft has not yet named.

The specifics matter, because the threshold decides whether this applies to you. The requirement covers domains sending more than 5,000 messages a day to Microsoft's consumer mail services, counted on the same domain in the visible From address, and those senders have to pass SPF, DKIM and DMARC with proper alignment. One detail inside it catches people out: once a domain has crossed that threshold, the requirements keep applying to its subsequent mail even if daily volume falls back below 5,000. The classification does not lapse because you had a quiet week. Microsoft set the rule out in its own announcement of Outlook's requirements for high volume senders.

5,000
messages a day to Microsoft consumer mail from one From domain, the threshold above which SPF, DKIM and DMARC must pass, and which keeps applying once crossed
Junk
where Microsoft has routed non compliant high volume mail since 5 May 2025, a placement outcome that never appears in a bounce report
550 5.7.515
the access denied rejection Microsoft has published for non compliant high volume senders, for an enforcement date it has not yet announced
0.10%
the spam complaint rate Google's sender guidelines tell senders to stay below, naming 0.30% as the level never to reach

Read the sequencing carefully, because it is the opposite of how the second hand write-ups describe it. The current state is not rejection. It is Junk, which Microsoft framed as a grace period to let senders fix their records. That is worse for diagnosis, not better: a Junk placement produces no bounce, no error string and no entry in any deliverability report that counts failures. Reply rate drops, nobody can say why, and the bounce rate looks fine because nothing bounced.

Then note what has been published about the next step. Microsoft has committed to rejecting non compliant mail from these senders and has already specified the text the rejection will carry, access denied with the sending domain named and the required authentication level cited, but has not set the date. Plan on the basis that a misaligned domain is accruing a liability that converts, on a day you will not be warned about individually, from quiet Junk placement into a visible wall of hard bounces.

Now put a typical outbound build next to the threshold. Take a program running 10 sending domains with 4 mailboxes each and 50 sends a day per mailbox: 2,000 messages a day in total, 200 a day per domain. Those are illustrative numbers rather than a benchmark, and the point of them is that a deliberately distributed architecture sits far under the consumer threshold. Many outbound senders are nowhere near it.

Which is exactly why this gets missed. Teams read the threshold, correctly conclude it does not bind their per domain volume, and stop reading. Then one of three things happens: a marketing list goes out from the same root domain and crosses it, the organisation's transactional and newsletter traffic crosses it on a domain that also carries outbound, or the domain crossed it once months ago and the classification never lapsed. Meanwhile the refusals that do reach the bounce report today, the reputation and policy blocks, land in the same column as the dead mailboxes, and the team buys more verification credits.

“A verification vendor can tell you an address exists. It cannot tell you that the receiving provider refused to speak to your domain, or quietly filed your mail in Junk.”

This is the part we want to put plainly, because it is the whole argument. Verification answers one question, and we have written at length about how narrow that question is and how fast its answer decays in why address verification is only ever a point in time check. A refusal on authentication, policy or reputation grounds is not in the set of things verification can see. Spending verification budget on it is not an overcorrection, it is a null operation, and the number will be identical next week.

Why the hard bounce vs soft bounce split misroutes the fix

The hard bounce vs soft bounce split misroutes the fix because both labels derive from the response class, while the causes behind a climbing bounce rate fall into three groups that share no remedy: the list, the authentication, and the reputation.

List problems are the ones the industry has tooling for. Addresses that were valid at scrape time and have since been retired, role accounts that were never deliverable, typo domains, catch all servers that accept everything and then refuse quietly. These decay continuously, which is the mechanic behind list decay and why verification has to be continuous rather than one shot. Verification, suppression hygiene and better sourcing move this number.

Authentication problems are structural and binary. Either the sending domain's SPF record resolves and stays inside the lookup limit, the DKIM selector signs with a key the receiver can retrieve, and the DMARC alignment holds, or it does not. When it does not, every message from that domain to a provider enforcing a requirement fails the same way at the same time. The signature is distinctive once you know to look for it: the failure rate steps rather than drifts, it steps on one domain or on all of them depending on where the record lives, and it concentrates by receiving provider. We walked through the record level mechanics in how DMARC and the DMARCbis revision land on cold email sending domains.

Reputation problems drift. Complaint rate creeps toward and past the 0.10% that Google's sender guidelines name as the ceiling, engagement thins, and the provider starts throttling before it starts refusing. The early signal is in the 4xx column, which is the column everyone ignores because the tool retried successfully and nothing looked broken. A rising count of 421 deferrals that eventually succeed is a provider telling you politely that it is losing patience.

THE TELLFailure rates that step overnight are almost never list quality, because lists do not decay overnight. A step points at authentication, a policy threshold or a provider changing its enforcement posture. A slow drift upward points at list decay or reputation. Before anything else, plot the daily rate per provider and look at the shape of the line.

That shape test costs nothing and resolves most of these cases in a minute. It also fails safely: if the line genuinely drifts, verification and sourcing really are where the money should go, and you have confirmed it rather than assumed it.

Reading a bounce report when the addresses are valid

Reading a bounce report when the addresses are valid starts with the enhanced status code rather than the hard or soft label, because the three part number inside the server's response names the subsystem that refused the message and the label does not.

Every SMTP refusal carries two things worth keeping: the basic response code, which is the three digit number, and the enhanced status code, which is the dotted triple that follows it. The dotted triple is the useful one. Its middle and last segments distinguish a mailbox problem (5.1.x) from a policy or security problem (5.7.x), and that single distinction separates the tickets that belong to your list from the tickets that belong to your DNS. Most sending platforms capture the full string from the receiving server and then show you a rolled up label in the interface, so the information exists and is one export away.

01Export the raw diagnostic string, not the summaryThe rolled up hard or soft label is lossy by design. Pull the full SMTP response for every failure, including the enhanced status code and the rejecting host, and keep it for at least 90 days so you can see the shape of a change rather than a snapshot.
02Group by receiving provider before anything elseA cause that lives in your DNS concentrates by provider, because providers enforce different rules at different thresholds and on different dates. If an increase is 90% one provider, the address list is not the variable that changed.
03Separate 5.1.x from 5.7.x and report them apartA 5.1.x count is a list metric and belongs next to verification and sourcing. A 5.7.x count is an infrastructure metric and belongs next to uptime. Averaging them into one bounce rate hides whichever one is moving.
04Track placement, because the worst fault does not bounceMail routed to Junk on authentication grounds produces no error to count. Seed testing per provider is the only way to see it, which is why inbox placement and bounce rate have to sit on the same page rather than in different tools.
05Treat repeated 4xx deferrals as a leading indicatorDeferrals that eventually deliver look like success and get dropped from reporting. Count them anyway, per provider, per domain. A climbing deferral count is usually the first visible sign of a reputation problem, weeks before refusals start.

None of this needs new software. It needs the bounce column in the standing report to be three columns, which is the sort of change we make early in reporting and analytics engagements because it costs an afternoon and permanently stops a recurring argument. The related discipline is monitoring the provider side feeds for the same signal, and the gap that opens when one of them goes dark is worth understanding, which is what we covered on what happens to deliverability monitoring during a provider data blackout.

The pages that answer this question stop at the definition

Search demand around this question is almost entirely definitional, and the pages satisfying it rank on structure rather than authority, which leaves the diagnostic version of the question, the one practitioners actually arrive with, substantially unanswered.

We pulled the result set for the phrase on 3 October 2026. The demand is real and steady: 400 searches a month in the United States for the comparison phrase itself, 400 for hard bounce alone, 300 for soft bounce, 250 for email bounce rate. Keyword difficulty on the comparison phrase comes back at 0. Nothing about the term is competitive.

hard bounce vs soft bounce100%
hard bounce100%
soft bounce75%
email bounce rate63%
hard bounce email38%
average email bounce rate18%

Monthly US search volume across the bounce question cluster, indexed to the largest term at 400 searches a month (Ahrefs, 3 October 2026)

The result set itself is the interesting part, and it makes a point about page level authority that we keep running into. Domain Rating across the top ten spans 11 to 99, from a schools marketing site up to a professional network, and every individual page we measured in that set carried a URL Rating of 4 or lower. Page level link equity is not what is sorting these results, because there is almost none of it anywhere in the set. Structure is.

PAGE IN THE TOP TENDOMAIN RATINGURL RATINGWHAT THAT COMBINATION SAYS
A platform help centre article964Enormous domain authority, almost no page level equity, ranking on structure and domain trust
A professional network post990The highest domain authority in the set with zero page equity, which is as close to a pure structure result as you get
A niche vertical marketing blog114Domain Rating 11 holding a top ten position against both of the above
Community threads and Q and A pagesNot rated at page levelNot rated at page levelForum answers occupying positions four to six, which is demand the publishers in the set are not meeting

Two conclusions follow, and the second is the one that produced this piece. First, this is a question where a well structured answer outranks authority, so the barrier to being the best page on it is editorial rather than financial. Second, and more usefully: the questions the result set is being asked are not the questions it answers. Google's own related questions on this result set include whether you should delete hard bounced addresses, what an acceptable hard bounce rate is, and why someone is receiving bounces for mail they did not send. That last one is a spoofing and authentication question sitting in the middle of a definitions page, which is the gap in miniature.

How to instrument bounces so they point at a cause

Instrumenting bounces usefully means logging the full enhanced status code and the rejecting provider for every failure, then grouping by sending domain and by provider rather than by the hard or soft label the sending tool assigns to the response class.

01Before the next reporting cycleSplit the metric into three
THE MOVES
Report a 5.1.x rate, a 5.7.x rate and a per provider inbox placement rate separately, weekly, per sending domain.
Give the 5.1.x number to whoever owns data sourcing and the 5.7.x number to whoever owns DNS.
Stop publishing a single blended bounce rate anywhere a decision gets made from it.
DONE WHENDone when no report in the business shows one undifferentiated bounce rate, and each of the three numbers has a named owner.
02Same week, once the split existsAlert on shape, not on level
THE MOVES
Replace any fixed threshold alert with a step detector: any single day where a domain's failure rate more than doubles against its trailing seven day median.
Put the per provider breakdown in the alert body so the first thing anyone sees is whether the increase is concentrated.
Keep a fixed threshold alert as a backstop, but treat it as the late warning it is.
DONE WHENDone when an authentication break on one domain pages someone on the day it happens rather than at the end of the month.
03Now, and after every change to the mail stackAudit alignment per sending domain
THE MOVES
Check that each SPF record resolves inside the lookup limit, not merely that it exists, because records creep over the limit as vendors get added.
Confirm the DKIM selector in use still resolves and signs with a retrievable key, which platform migrations silently break.
Confirm DMARC alignment against the visible From domain on every domain that carries outbound, including ones a security team may have tightened without telling you.
DONE WHENDone when every sending domain passes all three from the receiver's side, and the check is on a recurring calendar rather than in someone's memory.
04Before Microsoft's enforcement date is announcedClear the liability that is not bouncing yet
THE MOVES
List every domain that has ever sent above 5,000 messages a day to consumer Microsoft addresses, since the classification does not lapse when volume falls.
Seed test those domains into Microsoft consumer inboxes and record placement, because an authentication fault shows up there as Junk and nowhere else.
Fix alignment on anything landing in Junk now, rather than waiting for it to convert into refusals.
DONE WHENDone when no domain you own would fail the requirement on the day rejection starts, whenever that date turns out to be.
05After the first four are in placeThen work the list
THE MOVES
Re-verify continuously rather than in campaign shaped batches, and suppress on repeated soft failures as well as hard ones.
Trace the 5.1.x rate back to acquisition source and retire the sources that produce it.
Hold the list work to the 5.1.x number specifically, so its effect is measurable.
DONE WHENDone when the 5.1.x rate moves in response to list work, which it can only be seen to do once it is reported on its own.

The ordering is the argument. List quality goes last not because it does not matter, it matters constantly, but because it is the cause that is already resourced, already measured and already has a vendor attached to it. Putting it last is the only reliable way to stop it absorbing the budget for the two causes that have neither. Keeping that sequence on the calendar is part of how we run cold email lead generation rather than something we do after a bounce report arrives.

DO THIS NEXTExport your last 30 days of failures with the full SMTP diagnostic string attached, split the count into 5.1.x and 5.7.x, and break both out by receiving provider. Then seed test every domain into a Microsoft consumer inbox. If the 5.7.x share is concentrated on one provider, or if seeds are landing in Junk, your bounce rate is reporting an infrastructure fault and no amount of verification will move it.
What is the difference between a hard bounce and a soft bounce?A hard bounce is a permanent 5xx refusal that tells the sender not to retry. A soft bounce is a temporary 4xx deferral that invites a retry. The split describes the response class, not the cause.
What is a hard bounce in email?A permanent delivery failure returned as a 5xx code. The classic cause is a mailbox that does not exist, but reputation and policy blocks also return 5xx and are recorded as hard bounces.
What is a soft bounce in email?A temporary failure returned as a 4xx code, usually a full mailbox, a server problem or rate limiting. Sending systems retry these automatically, which is why repeated deferrals often go unreported.
Should I delete hard bounced addresses?Delete the ones that returned 5.1.x, meaning no such user. Do not delete addresses that returned 5.7.x, because the provider refused your domain rather than rejecting the recipient, and the address may be perfectly valid.
What is an acceptable hard bounce rate?Below 2% is the figure most sending platforms treat as safe, and under 1% is a reasonable working target for a verified B2B list. The more useful question is which subcode the bounces carry.
Why did my bounce rate jump overnight?Lists do not decay overnight, so a step change points at authentication, a policy threshold or a provider changing its enforcement posture. Check SPF, DKIM and DMARC alignment on the sending domain first.
What does 550 5.7.515 mean?Access denied because the sending domain does not meet Microsoft's required authentication level. Microsoft has published it for non compliant high volume senders but has not yet named the date it starts rejecting, so most such mail is currently routed to Junk instead.
Does Microsoft reject mail that fails its sender requirements?Not yet. Since 5 May 2025 non compliant mail from senders above 5,000 messages a day to its consumer addresses has gone to Junk. Microsoft has said rejection will follow on a date it has not announced.
Why am I getting bounces for mail I did not send?Someone is sending with your domain in the From address and receivers are returning the failures to you. A DMARC record with reporting enabled will show you the sources, and an enforcing policy will stop the mail being accepted.
Can email verification fix a rising bounce rate?Only if the failures are 5.1.x mailbox errors. Verification cannot see a refusal based on your own domain's authentication or reputation, so it will not move a rate driven by 5.7.x responses.

See where you are cited today

A free snapshot audit of your rankings and AI citations before we ever talk.

JB
Josh BernsteinMANAGING PARTNER, SOMETHING INC.

Josh leads work at the intersection of SEO and generative engines at Something Inc., helping B2B brands get ranked and cited across every major AI engine.

Free consultation

Let us be the last SEO agency you ever work with

A 30 minute call and a free audit of your SEO and GEO position. You keep the findings either way.