Cold Email Reply Classification: Bounce, OOO or Real?
A reply count with no classification is inbox noise. Here are the eight buckets every cold email reply falls into, how to detect each one automatically, and which ones deserve a human within two minutes.
In this article
- Key takeaways
- Why one reply number is a vanity metric
- The eight cold email reply classification buckets
- Bounce vs out of office vs human: how to tell them apart
- Bounces
- Out of office
- Everything else
- How inflated reply rates happen, and how to report honestly
- What to automate and what to route to a person
- Why negative replies are worth reading
- From interested reply to booked meeting: two times, then the link
- Speed to lead: what a reply check every minute changes
- Put classification before optimization
A dashboard that reports replies as a single number hides the only thing that matters: who actually wrote back. Cold email reply classification is the difference between a campaign you can steer and one you can only watch. A sequence that shows two replies can easily contain a hard bounce from a dead address, an out of office with a return date three weeks away, and no human at all.
Those are three different events with three different correct actions. One means the address is gone and the lead should stop. One means the person exists, is real, and should be picked back up after they land. One is a signal to write back within minutes.
Any tool that adds them together is not measuring outreach. It is measuring inbox noise, and it will quietly teach you the wrong lesson about your copy, your list and your offer.
Key takeaways
- Bounces, out of office notices and vendor autoresponders are not replies. Counting them inflates your reply rate and hides a list-quality problem.
- Eight buckets cover almost every real inbound message: interested, not interested, question, referral, out of office, automatic reply, unsubscribe request and bounce.
- Detection is mostly mechanical. Delivery status notifications, null return paths and auto-submitted headers separate machine mail from human mail before any language model reads a word.
- Automate the mechanical buckets. Route anything with intent in it to a person, fast.
- Negative replies carry the highest information density in the whole channel, and almost nobody reads them.
Why one reply number is a vanity metric
Reply counts get quoted constantly, and almost never with a definition attached. Belkins, which published a study of 7,530,489 emails sent through 2025, changed its own methodology for exactly this reason and now reports replies against total sends rather than against openers. Its own framing is blunt: Belkins writes that "a 5% reply rate against openers and a 0.45% reply rate against total sends can describe the same campaign" (as of June 2026).
Denominators are half the problem. The numerator is the other half. If autoresponders sit inside it, a 4% reply rate might be a 2.5% reply rate with a list-hygiene issue stapled on top.
The industry is not much help here. Smartlead's August 2026 post on replies not showing runs about 3,500 words on IMAP and OAuth troubleshooting and never classifies out of office, bounce or auto-reply traffic, or addresses pausing and resuming a sequence around a return date. Hunter's help center documents scanning the first 500 characters of a reply, tagging it "Auto reply" and excluding it from reply metrics, which is a real step forward, but it does not extract the return date, does not pause follow-ups and does not resume them; that stays manual.
The eight cold email reply classification buckets
Two buckets (human or not) is too coarse to act on. Twenty is unmaintainable. Eight covers the traffic a normal B2B sequence actually receives.
| Bucket | What it usually is | Sequence action | Counts as a reply? |
|---|---|---|---|
| Interested | A yes, a "send more", a time proposal | Stop the sequence, respond within minutes | Yes |
| Question | Pricing, scope, security, "how does this work" | Stop, answer specifically, no pitch | Yes |
| Referral | "Wrong person, copying our head of ops" | Stop, thank, start the named person fresh | Yes |
| Not interested | A no, with or without a reason | Stop, log the reason, no rebuttal email | Yes |
| Unsubscribe request | "Remove me", "take me off this list" | Stop, add to a permanent do not contact list | Yes, and it is also a compliance event |
| Out of office | Auto-reply with or without a return date | Pause, resume on the next business day after return | No |
| Automatic reply | Ticketing, delivery receipts, no-reply notices | Ignore, keep the sequence running | No |
| Bounce | Hard 5.x.x delivery failure or a soft 4.x.x retry | Hard: mark bounced and stop. Soft: retry, then stop | No |
The right-hand column is where most tools quietly fail. In SDRclose, out of office notices and bounces are excluded from reply statistics on purpose, so the reply number on a sequence means humans who typed something.
Bounce vs out of office vs human: how to tell them apart
You do not need a language model for most of this. Machine mail announces itself in ways that are cheap and reliable to read.
Bounces
A hard bounce arrives as a delivery status notification from a mailer daemon, usually with a null return path and an SMTP status code in the 5.x.x range. Those are permanent: the mailbox does not exist, the domain does not accept mail, the address was disabled. The lead should be marked bounced and stopped immediately, because continuing to send at a dead address is exactly the behavior mailbox providers use to score you. Codes in the 4.x.x range are temporary (greylisting, a full mailbox, rate limiting) and deserve a retry window before you give up on the address.
Bounce volume is also a list-quality readout. Cleanlist's 2026 aggregate, built from Outreach, Instantly, Woodpecker and Backlinko data, puts verified lists at 4.6% reply and 1.2% bounce, unverified at 2.3% and 7.8%, and purchased lists at 0.8% and 18.5%. If your bounce bucket is fat, no amount of copy work will fix the campaign. We go deeper on thresholds in our guide to cold email bounce rates.
Out of office
Out of office messages carry a small set of very stable fingerprints: an auto-submitted header, a subject that begins with "Automatic reply" or "Out of office" in one of a dozen locales, and body text containing a date. The date is the valuable part. Parsing it lets a sequence sleep exactly as long as the person is away and wake on the next business day after they return, instead of firing follow-up three into an empty chair.
Practitioners on r/coldemail already work this way by hand, pausing leads seven to ten days, resuming after the stated return date, and treating an out of office as evidence the inbox is real: "Out of office replies are not bad. They usually tell you the inbox is real." The same thread adds a useful rule: if the return date passed more than a few days ago and nothing came back, treat it as a soft no. Our full method is in how to handle out of office replies in a cold email sequence.
Everything else
What remains after bounces and autoresponders is human, and that is where classification stops being mechanical. Sorting a human message into interested, question, referral, not interested or unsubscribe is a language problem, and it is the one place a model earns its keep. The safe design is to let the classifier route and let a person decide, which is how SDRclose's reply detection is built: a reply of any kind stops the sequence for that lead first, then the bucket decides what happens next.
How inflated reply rates happen, and how to report honestly
There are four common ways a reply rate gets inflated, and none of them require dishonesty:
- Autoresponders in the numerator. Out of office and ticket notifications counted as engagement.
- Bounces in the numerator. Some tools count any inbound message on the thread.
- Openers in the denominator instead of sends, which is the Belkins point above.
- Unique-lead counting on one side and message counting on the other.
Honest reporting is four numbers, not one: humans who replied, of whom positives, divided by prospects contacted, with bounces reported separately. For reference points, Hunter's State of Email Outreach 2026, drawn from 31 million emails sent by its users in 2025, reports an average reply rate of 4.5%, a 3.6% bounce rate and 1.6% unsubscribes, with sales outreach specifically at 3%. The much-quoted 3.43% average comes from Instantly's 2026 benchmark report and is reproduced on several vendor blogs, so treat it as one dataset rather than three.
The positive share matters more than the headline. An operator who documented a million cold emails on r/coldemail reported an overall 3.46% reply rate with only about 20% of those replies positive. At those ratios, a 3% reply rate is roughly a 0.6% positive rate, which is the number that actually predicts pipeline. More context on denominators lives in our cold email reply rate benchmarks.
What to automate and what to route to a person
Automate the buckets with no judgment in them: bounce handling, out of office pausing and resuming, autoresponder suppression, unsubscribe requests going straight to a permanent do not contact list. These are rules, they are auditable, and no prospect is harmed by getting them right automatically.
Route the rest. A question about pricing, a referral to a colleague, a lukewarm "maybe in Q3": each of those is a sales moment where a wrong automated answer costs more than a slow human one. SDRclose defaults to a review queue for exactly this reason, and autopilot, auto-reply and auto-booking are separate opt-in switches per sequence rather than one global toggle. The reasoning behind that design is in why nothing sends without review.
There is a real risk on the other side. Reviewers of one AI SDR product report replies occasionally reaching prospects before human review (Coldreach, 2026). Automation that writes to a prospect on your behalf should be something you switch on deliberately, per sequence, after you have read a few dozen of its drafts.
Why negative replies are worth reading
"Not interested" is the cheapest research in outbound, and most teams delete it. A no with a reason attached tells you which of four things broke: targeting, timing, offer or credibility. Sorted over a month, those reasons form a better ICP document than any persona workshop.
The buyer survey in Hunter's 2026 report backs this up: 65% of decision makers cite overselling and 61% cite irrelevance as their top complaints about cold email, 69% say they are bothered by AI-written messages, and 28% say they never receive a valuable cold email at all. Those are not deliverability numbers. They are copy and targeting numbers, and your negative replies are the local version of them.
Two rules make negatives usable. Log the reason as structured data, not free text buried in a thread. And never send a rebuttal email to a no: it converts a closed door into an unsubscribe, and increasingly into a spam complaint.
From interested reply to booked meeting: two times, then the link
The gap between a positive reply and a meeting on the calendar is where most outbound leaks. A r/coldemail thread on personalized scheduling links reports that roughly 30% of prospects who click a calendar link never book, cites Prospeo's finding that only 0.5% to 2% of sends become booked meetings, and lands on a rule worth adopting verbatim: never send a calendar link as your first response, propose two specific times.
The reason is simple. A link asks the prospect to do work and to accept your framing of the meeting. Two concrete times ask for a one-word answer. Send the link only after they say neither time works.
That is the pattern SDRclose follows when auto-booking is enabled: it checks the connected calendar's real availability, proposes times that exist, and if nothing fits it offers alternatives or hands the thread to a human rather than guessing.
Speed to lead: what a reply check every minute changes
Classification only pays if it happens while the prospect is still at their desk. Speed to lead comes up constantly on r/coldemail, in fairly direct language: "If you're replying to an interested lead longer than 2 minutes, you're ngmi", and the sharper diagnosis in the same discussion, that the leak is not copy but the gap between a positive reply landing and a human responding.
Two mechanics close that gap. First, check inboxes continuously rather than on a long polling schedule; SDRclose checks about every minute. Second, make the stop instant: the moment any reply lands, that lead's remaining steps must be cancelled, or your prospect gets follow-up two while drafting an answer to email one. That single failure does more brand damage than a mediocre subject line ever will.
Put classification before optimization
Before you rewrite subject lines, split your reply number into buckets and look at what is left. Many campaigns that look broken are fine, with a bounce problem attached. Many that look healthy are one out of office wearing a trench coat.
If you want the classification, the pause-and-resume logic and the review queue without building them, start a 7-day trial and point SDRclose at one sequence.
Frequently asked questions
Should bounces and out of office replies count as replies?
No. Neither one is a person choosing to answer you. A bounce is a delivery failure and belongs in a bounce rate; an out of office is a mail server acting on a rule and belongs in its own bucket. Counting either inflates your reply rate and hides a list-quality problem. SDRclose excludes both from reply statistics.
What percentage of cold email replies are positive?
Roughly a fifth, based on operator reporting. A widely read r/coldemail write-up of a million sends put the overall reply rate at 3.46% with only about 20% of replies positive. At that ratio a 3% reply rate is about a 0.6% positive rate, which is the number that predicts pipeline. Track positives separately from total replies.
How do you detect an auto-reply?
Mostly with mechanical signals rather than language. Auto-submitted headers, null return paths, mailer daemon senders, delivery status notification formats and subject prefixes such as "Automatic reply" catch the large majority. Hunter's help center documents scanning the first 500 characters of a reply for the same purpose. Language models are better spent classifying the human messages that survive those filters.
Why do prospects click a calendar link but not book?
Because a link hands them work and asks them to accept your framing of the meeting. A r/coldemail discussion of scheduling links reports around 30% of prospects who click never book, and recommends proposing two specific times in your first response instead. Send the booking link only after the prospect says neither time works.
What should happen to a sequence after a not interested reply?
Stop it immediately, log the reason, and send no rebuttal. A rebuttal turns a closed door into an unsubscribe or a spam complaint, which is far more expensive than the lost lead. If the message asks to be removed, treat it as an opt-out and add the address to a permanent do not contact list.