The exact audit framework we run when a company tells us their cold email is broken. Six root causes, in priority order.
TL;DR
The client who tells us their outbound is broken almost always means their copy is broken, and almost always they are wrong. We do not open the copy doc first. Six root causes account for nearly every dead campaign we have diagnosed, and they sit in a dependency chain: deliverability breaks targeting's signal, targeting breaks copy's signal, and copy is the one everyone wants to fix first because it is the only piece they can see. Fix out of order and you are optimizing a foundation that is still broken underneath.

How to use this
Nothing else matters if your emails land in spam. We start every audit here.
Quick deliverability checklist
Emails land, nobody replies. Bad targeting looks like bad copy from the outside; the symptom is the same silence. Pull your last 10 closed deals: company size, growth stage, tech stack, hiring velocity. Not the industry label on LinkedIn.
✗ Don't do this
VP of Engineering at any tech company with 50+ employees
✓ Do this instead
VP of Engineering at Series B SaaS companies hiring 3+ backend engineers, on AWS, 50-200 employees, no dedicated DevOps team
Check whether you are reaching decision makers or gatekeepers: a Director of IT at 50 people decides; the same title at 5,000 people submits a request to procurement.
Re-verify current employment on any list that has been sitting for more than a few months. LinkedIn titles go stale faster than people expect, and a sourced-then-stale contact wastes a send whether or not the email itself bounces.
Third for a reason: great copy in the spam folder is invisible, and great copy to the wrong prospects gets politely ignored. If you passed 1 and 2, copy is often the unlock. We keep cold email bodies to 50-90 words.
✗ Don't do this
I'm reaching out because we help companies like yours streamline their sales process with our AI-powered platform that integrates with your existing CRM to provide real-time insights.
✓ Do this instead
Saw that Acme just opened a second sales office in Austin. Most teams scaling that fast find their existing outbound process breaks around 5 reps.
Open with the prospect's situation, not your product. "I'm reaching out because..." tells them nothing they don't already know: someone is reaching out. Naming something specific and true about their situation is what earns the next sentence.
CTA: "Book a 15-minute demo" is a demand from a stranger. A specific, low-commitment question is an invitation, and it's what we default to across our own campaigns.
Copy checklist
"Just bumping this" is not a follow-up, it is an admission you had nothing else to say. Every follow-up needs a new angle, a data point, a case study, or a trigger event. Keep follow-ups on the same thread rather than opening a new one: it inherits context the prospect would otherwise have to reconstruct.
| Follow-up pattern | What happens |
|---|---|
| "Just following up" | Prospect feels pestered. No new reason to reply. |
| New angle on the same problem | May resonate where email 1 did not. |
| Relevant case study or data point | Shifts from "who is this" to "they know something." |
| Timely trigger (funding, hire, news) | Feels personal even at scale. |
Bad data does not just bounce, it degrades domain reputation. "Found" is not "verified." Catch-all servers accept everything, including invalid addresses, and silently discard the email. Verification has to confirm the specific mailbox is real, not just that the domain exists.
Contact verification checklist
Founders send 200 emails, get 2 negative replies, and conclude cold email does not work. That is a sample size problem, not a conclusion. A single reply swings your rate by a meaningful amount when the denominator is small, and it takes a real batch of sends before a pattern is trustworthy.
Timeline matters too: someone reads Monday, thinks Wednesday, replies Thursday. A campaign launched last week is not done for another 2-3 weeks. If you have sent a real volume with confirmed deliverability, targeted ICP, and multiple copy variants and still get close to nothing, the issue is probably product-market fit or pricing, not execution.
Passing all six and still hearing nothing back is a different problem than failing one of them, and it is the one people least want to hear: the diagnostic worked, the system is not broken, the market is telling you something about the offer. That does not automatically mean hire an agency; it might mean a one-time outside audit to confirm what your own read already suspects. Bring in help when the diagnostic instead reveals a capacity problem, because outbound run well is a daily discipline, not something that survives being a side project.
Enter your email and we'll send you this playbook, plus the open GitHub repo of setup skills when it ships.
We build and run these systems embedded with your team.