Something Inc.Schedule a free consultation
STRATEGY

Cold Email Verification: Why 'Valid' Doesn't Mean Deliverable

A "Valid" result from cold email verification proves one thing: the mailbox accepted mail the moment you checked it. Jesse Ouellette's July 2026 LeadMagic research explains why that status decays, and why "verify once, send whenever" is the actual bug in most outbound programs.

TTTyler TruffiManaging Partner · JUL 27, 2026 · 9 MIN READ

A cold email verification result is not a fact about your list. It is a fact about one moment: was this email deliverable when we checked it. Jesse Ouellette, founder of the email infrastructure company LeadMagic, made that distinction explicit in a July 14, 2026 post on the LeadMagic blog: a "Valid" result answers a point-in-time question, not a permanent guarantee of inbox placement. Most teams treat verification as a gate they clear once and then forget. That gap, between what verification actually proves and what teams assume it proves, is where a clean list quietly turns into a bounce problem three weeks later.

TL;DR · 60 SECONDSCold email verification produces four outcome buckets: Valid, Invalid, Unknown, Risky. "Valid" only means the mailbox accepted mail at the moment you checked it, per Jesse Ouellette's July 14, 2026 LeadMagic post. Verification results decay: mailboxes close, MX records change, catch-all behavior shifts. The fix isn't a better one-time check. It's a re-verification cadence tied to send volume and frequency, with the check timestamp tracked as data, not assumed.

What a cold email verification result actually tells you

Run any list through a verification tool and you get back one of four outcomes: Valid, Invalid, Unknown, or Risky. Most teams read those four words as a permanent classification, the same way they'd read a pass or fail on a test. Ouellette's post, "How to Read Email Verification Results," argues that's the wrong mental model entirely. Every one of those four buckets is a snapshot of what happened when the verification tool pinged the mail server, not a durable property of the email address. A "Valid" result means the mailbox existed and accepted mail at that exact check. It says nothing about whether that mailbox still exists next month, or whether the mail you eventually send will land in the inbox instead of spam.

RESULT BUCKETWHAT IT ACTUALLY MEANSWHAT TO DO WITH IT
ValidMailbox accepted mail at the moment of the checkSafe to send now; re-verify before the next high-volume send
InvalidMailbox does not exist or server rejected the address outrightDrop from the list; do not retry without a new source
RiskyServer behavior suggests possible catch-all, role address, or unstable mailboxSend with caution or exclude from cold volume; monitor bounce and complaint rate closely
UnknownServer did not give a clear answer (timeout, greylisting, ambiguous response)Re-check separately; don't default to including or excluding without a second pass
THE CORE DISTINCTIONValid means deliverable at check time. It does not mean deliverable forever. Treating a verification pass as a permanent fact instead of a timestamped observation is the single most common way clean-looking lists start bouncing.

This isn't a one-off argument from a single post. LeadMagic published 15 posts between July 1 and July 14, 2026, all authored by Ouellette, all working through some angle of email verification and deliverability. That's a practitioner actively iterating on the problem in public right now, not a single hot take. It's also worth reading alongside our deliverability audit framework, a companion piece we published two days before this one: that post covers why sequencer "delivered" statuses and warmup pool scores mislead you about inbox placement. This post is about a narrower, upstream problem. Verification status is a different measurement than inbox placement, and it decays on its own separate clock.

Why cold email verification results decay after the check

Ouellette's post names three specific mechanisms behind the decay, and none of them are exotic. Mailboxes get closed when employees leave companies or migrate email providers. Domains change MX records during a mail migration, which can flip how an entire domain's addresses resolve. Catch-all behavior shifts too: a domain that rejected unknown addresses last month can start silently accepting everything this month, or the reverse, and that single setting change can invalidate a batch of "Valid" results without a single mailbox actually closing.

None of that shows up in your CRM unless you go looking for it. A record marked "email_validation_status: valid" from six weeks ago looks identical to one marked valid yesterday. Nothing about the field itself tells you which is which, or how much has changed underneath it since the check ran. That's the actual bug in most outbound programs: not a bad verification tool, but a verify-once, send-whenever workflow that treats a timestamped snapshot as a standing fact.

Here's an illustrative scenario, not a measured result: a list verified 60 days ago at 98% valid could easily be sitting closer to 90% valid today, just from ordinary mailbox churn, MX changes, and catch-all drift accumulating in the background. Nobody re-ran the check, so nobody knows which addresses moved buckets. The team sends the full list anyway, because the last verification pass is still sitting in the CRM looking clean.

The stakes compound because of how reply behavior concentrates. Instantly's 2026 benchmark data found 58% of replies come from the first email in a sequence, a pattern we covered in why the first email in your sequence carries the most weight. The list you send that first email to matters more than anything downstream, which is exactly why a stale verification pass upstream quietly tanks the whole campaign. If a meaningful slice of that first send bounces or lands in spam because the verification data is weeks stale, you don't just lose those contacts. You lose the highest-reply-rate touch in the entire sequence, and every follow-up inherits a smaller, weaker base to work from.

The reputation cost runs longer than the immediate send. Bounces and spam complaints from a stale-verified list feed directly into the engagement signals that trigger automatic throttling from major inbox providers. We've covered how surviving Microsoft's bulk sender crackdown depends on keeping exactly those signals clean. A verification pass you trusted for too long doesn't just cost you one send. It can put the sending domain itself on a worse footing for every send after it.

99.5%
LeadMagic's own stated accuracy claim for its Email Validation product (company figure, not an independent audit)
58%
of replies come from the first email in a sequence (Instantly, 2026 benchmark data)
~8 pts (illustrative)
plausible drop in valid-rate over 60 days without re-verification — an illustrative scenario, not a measured figure

The verification fields your CRM should be tracking

Ouellette's recommendation is to stop treating verification as a one-time pass or fail and start tracking it as structured data attached to every contact record. That means storing more than a single status flag. He names six fields specifically: email_validation_status, email_validation_reason, email_validated_at, email_is_catch_all, email_is_disposable, and email_is_role.

FIELDWHAT IT CAPTURES
email_validation_statusThe current result bucket: Valid, Invalid, Risky, or Unknown
email_validation_reasonWhy the tool returned that status, e.g. mailbox not found, timeout, or catch-all detected
email_validated_atThe timestamp of the check. This is the point-in-time proof — the single most important field, since it's the one that tells you whether the status is still trustworthy
email_is_catch_allWhether the domain accepts mail for any address, which makes a "Valid" result far less meaningful on its own
email_is_disposableWhether the address is a temporary or throwaway mailbox
email_is_roleWhether the address is role-based, like sales@ or info@, rather than tied to a named person

The reason to track all six instead of a single yes/no field is that they answer different questions. A catch-all flag tells you a "Valid" result is weaker evidence than usual, because the domain would have accepted almost any address you threw at it. A role-based flag tells you the address might be monitored by nobody in particular, which matters for reply-rate expectations even when the mailbox is technically live. And the timestamp field is what makes every other field auditable at all: without email_validated_at, none of the other five fields tell you whether you're looking at current information or a snapshot from two months ago.

Ouellette names HubSpot and Salesforce specifically as the CRMs teams should wire these fields into, since those are the systems most cold email programs already use to store contact records. The integration work is straightforward: add the six fields as custom properties, populate them on every verification run, and build a report or view that surfaces email_validated_at against your intended send date. Once that view exists, "is this list still good" stops being a question you guess at and becomes a query you can run before every campaign.

The objection we hear most often is that this sounds like overhead a lean team doesn't have time for. In practice it's the opposite: the overhead already exists, it's just invisible. Someone is currently deciding, informally and without data, whether a list "feels" recent enough to trust. That decision happens anyway, on every send, made by whoever is closest to the campaign that week. Six structured fields and one dashboard view don't add a step to that process. They replace a guess with an answer, and they make the answer the same regardless of who's making the call or how long they've been on the team.

A re-verification cadence tied to send volume, not a calendar

A calendar-based re-verification schedule, like "we re-check lists every quarter," misses the actual risk driver. Decay isn't primarily a function of time passing. It's a function of how much you're sending, how often, and how fast a list is scaling from a small pilot to full volume. Build the cadence around those triggers instead.

01Before any high-volume send (roughly 500+ contacts in one push)Re-verify the full list, regardless of what the status field says
THE MOVES
Don't trust an existing email_validation_status field on its own, no matter how recent it looks
Check email_validated_at against today's date before you decide whether to trust it or re-run
Re-run verification on the entire send list, not a sample, since decay doesn't hit addresses evenly
DONE WHENEvery contact in the send has an email_validated_at timestamp inside your defined freshness window, not just a status you're assuming still holds
02Ongoing sends under a continuous drip or evergreen sequenceRe-verify on a rolling window keyed off the timestamp field, not a fixed calendar date
THE MOVES
Set a maximum age for email_validated_at, for example 30 days, past which a contact is excluded from sends until re-checked
Automate the re-check to run against that window rather than relying on someone remembering to schedule it
Flag catch-all and role-address contacts for a shorter freshness window than standard Valid results, since they carry more inherent uncertainty
DONE WHENNo contact ever sends on a verification result older than your defined window, enforced automatically instead of manually
03Scaling a domain or a client program from pilot volume to full territory coverageRe-verify before the ramp, not after the first week of soft results
THE MOVES
Treat the volume increase itself as a trigger, separate from any calendar-based schedule already in place
Re-check the full expanded list, including contacts that were verified before the pilot even started
Cross-reference against your deliverability audit checks so authentication and reputation are clean at the same time verification is refreshed
DONE WHENThe domain enters higher volume with both a fresh verification pass and clean authentication and reputation signals, not one without the other
04Reply rate or bounce rate drops without an obvious causeRe-verify before you touch the copy or the offer
THE MOVES
Pull email_validated_at for the affected list and check how old the data actually is before assuming the problem is creative or targeting
Re-run verification on the segment that's underperforming, since decay rarely hits an entire list evenly
Compare the new result buckets against the old ones to see how many contacts moved from Valid into Risky or Invalid since the last check
DONE WHENYou know whether the drop traces back to stale verification data before you spend time rewriting subject lines or offers that were never the problem

This is the same discipline we run for clients on our cold email lead generation service: verification isn't a box you check once when a list is built, it's a recurring operational step tied to how the program actually runs. For B2B teams sending at real volume across multiple domains and mailboxes, the cadence has to be automated, because no one remembers to manually re-check a list that already looks clean in the CRM. In our work with FMS Investor, keeping outbound infrastructure disciplined alongside paid channels was part of what made the combined program hold up at scale rather than degrading quietly in the background.

One more thing worth saying plainly: none of this replaces a verification tool, it changes what you do with the tool's output. LeadMagic, or whichever provider you use, still does the actual mailbox-level check. What most teams are missing isn't a better checker, it's the discipline to treat the checker's answer as time-stamped evidence instead of a permanent record. That distinction costs nothing to implement and it's the entire fix.

Do this next

Pick one list you're about to send to this week. Check email_validated_at, or whatever your current equivalent is, before you check anything else about the campaign. If that timestamp is older than 30 days, re-verify the full list before you send, not after you see how the numbers come in. Add the six fields Ouellette recommends, email_validation_status, email_validation_reason, email_validated_at, email_is_catch_all, email_is_disposable, and email_is_role, to your HubSpot or Salesforce contact schema if they aren't there already, and build one view that surfaces verification age against upcoming send dates. Set the cadence now: full re-verification before every high-volume push, a rolling 30-day freshness window for ongoing sends, and a mandatory re-check before any volume ramp. A verification result is a timestamp, not a fact. Once your CRM treats it that way, the list stops going stale without anyone noticing. For a closer look at how LeadMagic frames the underlying mechanics, see LeadMagic's own verification guidance.

See where you are cited today

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

TT
Tyler TruffiMANAGING PARTNER, SOMETHING INC.

Tyler 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.