Skip to Content
CoursesAutomated Outbound06 Verify before you send

Verify Before You Send

Outcome: a sending list containing only verified addresses, a catch-all routing decision, and a pre-send checklist you run every time.

Surface
App and MCP server
Level
Intermediate
Uses
verify_email
Credits
~0.3 per row
Prerequisite
Lesson 05's found addresses

What is actually at risk

Not the campaign. The sending domain.

Bounce rateConsequence
Under 2%Healthy
2–5%Providers start throttling and filtering
Above 5%Real reputation damage; recovery takes weeks
Above 10%Domain effectively unusable for cold outreach

A verified list lands under 2%. An unverified one lands between 8% and 30% depending on segment. During the recovery period every campaign you run underperforms for reasons that look like copy, which is what makes this failure so expensive to diagnose.


The statuses

StatusSend?
ValidYes
InvalidNever
Catch-allSeparate domain, or drop
UnknownTreat as catch-all
DisposableNever
Role (info@, sales@)Segment-dependent

Only valid counts as contactable in every number you report.

Reference: Verify email, verify_email.


Catch-alls in an outbound context

A catch-all domain accepts mail to any address, so verification cannot confirm the specific mailbox. These skew toward larger organizations, so dropping them removes a slice of your best accounts.

The sensible pattern for outbound specifically:

Route them to a secondary sending domain

Not your primary. The whole point is that a bad bucket cannot damage the good one.

Send lower volume

Slower ramp, smaller batches.

Measure the actual bounce rate for that bucket

After a few hundred sends you will know whether your catch-alls are mostly real. Many are.

Then decide

Promote the bucket, keep it separate, or drop it — on evidence rather than on caution.

Never mix catch-alls into your primary sending domain to “see what happens”. The experiment is not reversible: a few hundred bounces is enough to register with the major providers, and the domain carries that history forward for weeks.


Suppression is part of this step

Verification tells you an address works. Suppression tells you whether you should use it.

Check before every send:

  • Current customers, unless the play is expansion
  • Open opportunities owned by someone else
  • Anyone contacted in the last 30 days by any campaign
  • Unsubscribes and hard bounces — permanent
  • Competitors, partners, investors, your own domain
  • Manually disqualified accounts

Suppression runs at the send boundary, not at sourcing. Suppressing early hides accounts from your own market-size reporting.


The pre-send checklist

Run it every time, not just on the first campaign.

  • Every row has a valid status
  • Catch-alls are on the secondary domain or excluded
  • Suppression applied against all six categories
  • No duplicate people across the batch
  • Names properly cased — JOHN SMITH in a greeting is a tell
  • Company names cleaned for use mid-sentence
  • Every personalization variable is populated on every row
  • Rows without evidence are excluded, not sent a generic line
  • Sending domain warmed and within its daily limit

Do this now

Verify every found address

The whole column.

Count statuses and record the distribution

Set up the secondary domain

If you are keeping catch-alls.

Build the suppression check

All six categories, as a filter on the export view.

Recompute your contactable count

Valid only, after suppression. This is the real campaign size.

Run the checklist

Every item.

Export five rows first

Read them in the sequencer before the full push.


Check your work

  • Every sending row is valid
  • Catch-alls are isolated or excluded
  • All six suppression categories are checked
  • Every personalization variable is populated
  • You read five rows in the destination before the full export

Where this breaks

Sending to a customer or to an account in someone else’s open deal is the failure that costs a relationship rather than a credit, and it happens because suppression was checked once during setup and never again. Lists change, deals open, customers sign. Make suppression a filter on the export view, not a step someone remembers.


Further automation

Pull bounce and unsubscribe data back from the sequencer into the table automatically. Without that loop, the same dead address gets re-imported from a different source next quarter and bounces again — and your suppression list only ever covers what someone manually copied over.


Next lesson

07 — Research a reason to reach out, the personalization half of the course.

Reference for this lesson: Verify email, verify_email, Outreach integrations, Waterfall Enrichment.