Skip to content
Playbook

Sales follow-up after no response (what to send, when)

Silence is six different states and each one needs a different next message. How to tell which one you are in from your own data, before you write anything.

27 May 2026 14 min readBy Autocloz Editorial, GTM team
Sales follow-up after no response (what to send, when)

Silence is not one thing. A prospect who never received your message, one whose provider filed it in spam, one who read it on a phone and forgot, one who read it and decided no, and one who replied to an address you are not monitoring are five different problems wearing the same symptom. Writing the next message before you know which one you are in is the reason most follow-up sequences underperform. The diagnosis is mostly available in your own data, and it takes about ten minutes.

Silence is six different states, and they are not the same problem

Here is the full set. Each one has a different next action, and four of the six are not copy problems at all.

  • Never accepted. The receiving server rejected the message, or your own suppression list stopped it before it left. This is non-delivery, not silence.
  • Accepted and filtered. The server took the message and filed it somewhere the person does not look. From your side it is indistinguishable from delivery.
  • Delivered and unseen. It arrived in a folder they read, and it was buried under the other ninety messages that day.
  • Seen and deferred. They read it, it was mildly relevant, and they parked it. This is the largest bucket in most B2B programmes and the one follow-up is actually designed for.
  • Seen and declined. They read it and decided no without writing back. Silence here is an answer, and treating it as an invitation to send four more is how complaint rates climb.
  • Replied, and you never saw it. The reply went to a mailbox nobody watches, or it broke threading, or the classifier filed it as an auto-reply. Rarer than the others and far more expensive, because you are following up with someone who already answered you.

Notice how much of that list has nothing to do with what you write. Two of the six states are delivery problems, one is a monitoring problem, and only three are copy problems. A team that responds to every silence with a better sentence is fixing the wrong half of the list.

How to tell which silence you are in, from your own data

You cannot resolve a single recipient. You can usually resolve a cohort, and the cohort is what you are writing for anyway.

Check non-delivery first. Split hard bounces from soft bounces and count suppressed sends separately from attempted ones. A hard bounce means the address does not exist and the row should never be followed up. A high hard-bounce share also tells you the list is the problem rather than the copy, and no follow-up cadence survives a bad list. The mechanics of that split are in soft bounce versus hard bounce.

Then look for the filtered signature. Group by recipient domain and compare acceptance against engagement. A domain where nearly everything is accepted and almost nothing is opened or replied to, against a baseline where other domains behave normally, is the classic filtered pattern. It is inference, not proof — a sending platform sees the receiving server's acceptance, never the folder — but it is the strongest inference available, and Google Postmaster Tools gives you a direct spam-rate reading for Gmail recipients specifically.

Then separate deferred from declined. This is the one place open tracking earns its keep, with a large caveat: image-proxy prefetching by Gmail and Apple Mail Privacy Protection inflate opens, so an open is weak evidence of a human reading. Treat repeated opens across several days as a deferral signal and a single open on send-day as noise. The full treatment of what an open does and does not mean is in email open tracking explained.

Then check that you would have seen a reply. This is the step almost nobody runs, and it is the cheapest of the five.

The state that is not silence at all: a reply you never saw

A missed reply is the most expensive failure in outbound, because you paid for the whole sequence and then annoyed the one person who engaged with it.

Three mechanisms produce it. The reply went to a Reply-To address on a mailbox nobody monitors, which happens whenever a sequence is configured to send from an alias. The reply arrived but broke threading, so it landed as an apparently unrelated message in a busy inbox. Or the reply arrived, was classified, and the classifier put it in a bucket you do not read.

That third one is worth understanding precisely, because the classification drives the automation. In Autocloz an inbound reply is classified and the enrolment state machine splits three ways. A reply classified as human stops the enrolment with a stop reason of "replied", and the lead is flagged. A bounce classified as hard stops it with a stop reason of "bounced" and the address is suppressed. An out-of-office or an automated acknowledgement deliberately stops nothing — the enrolment stays active and the next step fires on schedule, on the reasoning that a vacation responder means temporarily unavailable rather than disengaged.

That third branch is correct behaviour and it is also a trap if you assume "auto-stop on reply" is unconditional. Someone whose autoresponder says they are back on the 14th will keep receiving your cadence through the 14th. If your sequence is aggressive, they come back to four unread messages from you, which is a worse first impression than the one you were trying to make.

The audit for this takes one query: count enrolments that are still active and whose lead has an inbound message newer than the last outbound send. Anything in that set is a person you are following up with after they answered. If replies from five channels arrive in one queue rather than five inboxes, the same audit is a visual scan rather than a query.

What to send in each state, and what not to

Now the copy, once the diagnosis has narrowed it.

Never accepted. Send nothing. Fix the address or drop the row. A follow-up to a hard-bounced address is a send you pay for with a certainty of failure and a cost to your sending reputation.

Accepted and filtered. Send nothing from that domain to that recipient domain for a while. More volume into a filter that has already made a decision reinforces the decision. Fix authentication and warm the sending identity first, then re-approach. If the filtering is broad rather than domain-specific, the deliverability checklist is the order to work through.

Delivered and unseen. Change the surface, not the argument. A different subject line, a different send hour, and materially shorter. The message that was buried does not need a better case; it needs to be visible. This is also the one state where a channel switch genuinely helps, because the constraint is attention rather than interest.

Seen and deferred. This is where follow-up earns its name. The rule is one new thing per touch, and "new" means new to them: a specific result, a change at their company, a short answer to a question they are likely to have, a two-line summary of the thing you offered to send. Never a status check. "Just bumping this to the top of your inbox" contains zero new information and asks them to do the work of remembering why they cared.

Seen and declined. Two legitimate moves. A genuinely different angle — a different problem you solve, aimed at a different part of their world — sent once. Or the exit. Do not send the same argument louder.

Replied and you missed it. Apologise in one clause, answer the thing they asked, and remove them from the sequence before you hit send. Do not explain your tooling.

The copy for each of these, written out with the mechanical rules the copy has to satisfy, is in follow-up email templates; the closing touch has its own shape and its own restraint rules in how to write a breakup email.

Timing: the gap is set by the state, not by a template

The advice to wait two to four days between touches is not wrong, it is just not a rule. The gap is a consequence of what you are waiting for.

If you are waiting for attention to free up — the delivered-and-unseen state — short gaps are fine, because you are trying to hit a different moment in their week rather than let anything develop. Two working days is reasonable.

If you are waiting for a circumstance to change — the seen-and-deferred state where the answer was "not this quarter" — short gaps are actively harmful, because nothing has changed and you are asking them to reconsider a decision they made forty-eight hours ago. Weeks, not days, and the gap should be long enough that something plausibly happened.

If you are waiting for a specific event — a funding round, a hire, a renewal date — do not put a gap in at all. Put a trigger in. A touch that arrives because something happened outperforms a touch that arrives because a timer expired, and it does so for a reason that has nothing to do with copy.

One thing that is genuinely a rule: never send two touches on the same working day, and never send the first follow-up less than one full working day after the original. Both read as automation to a human and as volume to a filter.

A worked run through 1,000 sends

The numbers below are an illustrative worked example, not measured data from any account. The point is the arithmetic and the decision it forces, not the values.

Start with 1,000 first-touch sends. Suppose 24 hard bounce and 6 soft bounce, leaving 970 accepted. Of the 970, suppose 40 replies come back over ten days: 25 classified human, 9 out-of-office, 4 automated acknowledgements, 2 unsubscribe requests. That leaves 930 rows in some state of silence.

Now the decision. Of the 25 human replies, some are positive and some are declines, and both stop the enrolment. The 9 out-of-office replies do not stop it, so those 9 people are still enrolled and will receive touch two whether or not they are at their desk. The 2 unsubscribe requests must be suppressed, and if any of them arrived as free text rather than through the unsubscribe header, they will only be suppressed if the phrase matched — Autocloz auto-suppresses on an explicit set of phrases such as "remove me from your list" and "stop emailing me", and deliberately does not auto-suppress on "not interested right now", which is a human judgement call.

Of the 930 silent rows, you have no way to split filtered from unseen from declined at the individual level. But you can split them at the domain level, and if one recipient domain accounts for 180 of the 930 with near-zero engagement while the rest of the list engages normally, that domain is a delivery problem and should be pulled out of the follow-up cadence entirely rather than sent three more messages.

That is the practical yield of the whole exercise: 30 rows removed as non-delivery, 40 removed as replies, roughly 180 pulled out as a delivery investigation, and about 750 rows that are genuinely a copy-and-timing problem. Writing your follow-up for 930 people when 180 of them cannot see it is how a sequence gets blamed for a filter.

Autocloz's free plan covers 5 users and 10 mailboxes and includes the bounce classification and suppression list that this diagnosis depends on — start free and run the split on your own sends.

What actually stops a sequence, and what only looks like it does

If your follow-up plan assumes "it stops when they reply", check which replies you mean. In Autocloz the picture is precise, and the precision matters.

An email reply classified as human stops the enrolment. Stop reason "replied", recorded on the enrolment row, next step never fires.

A hard bounce stops it with stop reason "bounced", and the address is added to suppression.

An out-of-office or automated reply does not stop it. By design.

An SMS or WhatsApp reply does not stop an enrolment on its own. It is visible in two places: an explicit if-replied branch step, which scans both email reply events and cross-channel touch outcomes and will therefore see it, and the optional reply cooldown. The cooldown is the safety net for manual sends and re-activated enrolments — and it is set to zero by default, meaning no cooldown, so unless somebody has configured it in the workspace's autopilot caps, a cross-channel reply pauses nothing.

A STOP keyword on SMS or WhatsApp does not stop your email. It writes a do-not-contact row with a wildcard channel against the phone number, which covers calls, SMS and WhatsApp for that number. The email address is a separate identifier and is unaffected. This is the single most surprising behaviour in the whole suppression model and the one worth building a manual habit around.

The practical rule that falls out of this: if you run a multichannel cadence, put an explicit if-replied branch after every non-email step rather than assuming the reply handling covers it. The branch conditions available include if-replied, if-not-replied, if-opened, if-clicked, if-bounced, if-connection-accepted and if-email-available, and they take a within-hours window that defaults to the enrolment's lifetime when unset. The way the ceilings and the stop conditions interact across channels is worked through in sales cadence best practices, and the question of how many touches the arithmetic supports is in how many follow-ups should you send.

The five ways a follow-up set silently over-contacts

Each of these produces the same symptom — a person receiving more than you intended — and each is diagnosed differently.

Two campaigns, one person. The same lead enrolled in two sequences receives both. Nothing deduplicates across campaigns for you. Diagnose by counting distinct sends per lead per week rather than per campaign.

An out-of-office that was not an out-of-office. Some autoresponders are indistinguishable from a short human reply and get classified as human, and some human replies from a shared mailbox look automated. The classifier is conservative in both directions, which is correct, and it means a small tail of misclassification in each direction.

A reply on a channel with no branch. Covered above. This is the most common one.

A re-enrolment that resets the row. Putting a dormant lead back into a sequence starts the state fresh, which is what re-engagement needs and also what erases the record of why they went quiet the first time. The re-enrolment mechanics and what they overwrite are covered in how to re-engage cold leads.

A manual send on top of an automated one. A rep who emails a lead directly while a sequence is running has just doubled the cadence for that person, and nothing warns them.

What follow-up cannot fix, and what Autocloz does not do

Follow-up cannot fix relevance. If the first message was aimed at the wrong person or made a claim that does not apply to them, message four does not accumulate into a fit. Repetition does not create interest; it creates a memory of being contacted repeatedly.

Follow-up cannot fix delivery. Every touch after a filtering decision reinforces the decision. This is the single most common way a follow-up sequence makes its own outcome worse.

Autocloz does not run one universal compliance gate before every touch. There is a single-call evaluation function in the codebase and it has no callers; each channel dispatcher runs its own checks. Email, SMS, WhatsApp, LinkedIn and calling therefore do not enforce an identical set, and per-contact consent is checked on WhatsApp only, where it is off by default. Do not model this as one gate.

Autocloz does not A/B test message bodies. Subject-line variants rotate deterministically per send and are attributed in analytics. The body-variant picker exists in the codebase and has no production call sites — the dispatcher reads the step's single body template directly — so any "body A/B" you configure is not what is being sent. Test subject lines; treat body testing as a manual, sequential exercise.

Autocloz cannot tell you whether a message was read. Nobody can. Open tracking is a pixel request, and prefetching by mail providers means an open is a weak signal about a human and a strong signal about a proxy. Build your follow-up logic on replies and on the absence of replies, and treat opens as directional at the cohort level only.

Nothing here is a promise about reply rates. The mechanisms above change what you send and to whom; whether any given cohort answers depends on the offer, the list and a hundred things happening in someone else's week. If you are comparing tools on this specific behaviour, the Autocloz and Woodpecker comparison sets out where the reply handling differs.

Frequently asked

What should you send when a prospect does not reply?

That depends entirely on why they did not reply, and there are six mechanically different reasons. If the message never arrived, the next message is pointless until you fix delivery. If it arrived and was filtered, sending three more from the same domain makes the filtering worse. If it was seen and parked, a short message carrying one new fact works. If it was seen and silently declined, only a genuinely different angle or a clean exit is honest. Diagnose first, write second.

How do you know whether your email was delivered or filtered into spam?

You cannot know for a specific recipient, and any tool claiming otherwise is inferring. A sending platform sees acceptance by the receiving server, not the folder the message landed in. What you can see is the shape of the aggregate: acceptance rate, bounce class, and the ratio between opens and replies for a domain compared with your own baseline. A domain where acceptance is high and engagement collapses to near zero is the classic filtered signature, and Google Postmaster Tools gives you the spam-rate view for Gmail specifically.

Does a reply automatically stop the sequence in Autocloz?

An email reply classified as human does — the enrolment is stopped with reason "replied" and the next step never fires. A bounce classified as hard also stops it, with reason "bounced". An out-of-office or automated acknowledgement deliberately does not stop it, because the recipient is temporarily unavailable rather than disengaged. An SMS or WhatsApp reply does not stop an enrolment by itself; it is visible to an explicit if-replied branch step and to the optional reply cooldown, which is set to zero by default.

How many follow-ups is too many?

The honest answer is that the number is an output of your complaint budget rather than a figure to copy. A useful working limit is that each additional touch must carry something the previous one did not, and the moment you cannot name what is new, you have reached the limit for that sequence regardless of the count. Under Google's and Yahoo's bulk sender requirements, sustained user-reported spam above 0.3 percent as measured by Google Postmaster Tools is treated as a problem, and repeated valueless follow-ups are one of the fastest ways to get there.

Does a STOP text stop your emails too?

No. Suppression in Autocloz is keyed to the identifier, not to the person. A STOP keyword on SMS or WhatsApp writes a do-not-contact row with a wildcard channel against that phone number, which blocks calls, SMS and WhatsApp to that number. The person's email address is a different identifier and is untouched, so an email sequence keeps running. If someone opts out anywhere, suppress every identifier you hold for them.

Is a breakup email actually worth sending?

It has one job the other touches cannot do: it makes the end of the sequence explicit, so a person who was going to reply eventually has a reason to reply now, and a person who was never going to reply is closed out cleanly rather than left in an ambiguous state in your CRM. Send it once, mean it, and do not follow it with another message — a breakup you contradict two days later teaches the reader that nothing you write is load-bearing.

Share
Free to start

Stop reading. Start sending.

Every tactic in this article is implemented behind the Autocloz dashboard.