Lead Databases Β· Troubleshooting

Data QA: Bounce Risk Scoring

Diagnose why your list contains high-risk emails, score every address by bounce probability, and apply sending rules before your sender reputation takes the damage.

Written for operators No vendor influence Practical, not theoretical

Fast Diagnosis

Catch-all addresses are the #1 cause of bounce risk

The most common cause: catch-all domains sent to without a risk tier applied. Catch-all servers accept every incoming email without confirming the individual mailbox exists, so verification returns "catch-all" not "valid." Bounce rates exceed 5% within a single campaign if this segment runs untreated.

Cause 1
Catch-all addresses sent to as valid
Check your verification output for a "catch-all" or "risky" status column. If more than 15% of your list is flagged, apply a separate risk tier before sending.
Jump to fix β†’
Cause 2
No verification run before sending
No verification date or output file in the list's history means every address is unscored. Run a bulk verification pass before any sending resumes.
Jump to fix β†’
Cause 3
List is older than 90 days
Email data decays at roughly 22% per year. A list verified more than 90 days ago needs a re-verification pass before reuse.
Jump to fix β†’
Cause 4
No bounce risk tier applied post-verification
Verification returns a status label per address. Most teams send to everything except "invalid" and skip the scoring layer that prevents repeat exposure.
Jump to fix β†’
Not sure?
Work through all causes in order
Start with the catch-all check. If more than 15% is flagged catch-all or risky, apply the risk tier framework first, then check verification date and sending rules.
Full diagnosis β†’

Root Causes

6 root causes that build bounce risk in outbound lists

Root causeHow to confirmUrgency
Catch-all addresses sent as validVerification output: over 15% flagged "catch-all" or "risky"High
No verification before sendNo verification date or output file in the list's historyHigh
Stale list (over 90 days old)Last verification date more than 90 days before current send dateHigh
No post-verification risk tier appliedSending to all non-"invalid" statuses without a scoring layerMedium
Toxic or spam-trap addresses in listBouncer toxicity score above 2/5 on any segment, or spam-trap detection triggeredHigh
Data source with low inherent accuracyProvider accuracy below 90% or no accuracy guarantee publishedMedium
🚨
Toxic addresses: suppress before activation

Bouncer's toxicity scale (0-5) covers spam traps, blocklisted addresses, and known complainers. Any address scoring 3 or above must be suppressed before the list activates. Sending to a known trap flags your sending domain with major mailbox providers within one campaign.

The Fix

5-step bounce risk scoring framework for every list

Work through these steps in order. Steps 1 and 2 apply to every list. Steps 3 and 4 apply if catch-all or risky addresses make up more than 10% of your list.

  1. Step 1: Run a full bulk verification pass

    Upload your list to Bouncer, ZeroBounce, NeverBounce, Emailable, or Clearout. Each address returns a status: valid, invalid, catch-all, risky, unknown, or disposable. Do not send until this pass is complete.

  2. Step 2: Apply a bounce risk tier to every address

    Tier 1 (send): valid only. Tier 2 (limit or test): catch-all and risky. Tier 3 (suppress): invalid, disposable, unknown, and any address with a toxicity score of 3 or above. Add a tier column to your list before loading leads into the sending tool.

  3. Step 3: Handle catch-all addresses with a controlled test

    Route Tier 2 catch-all addresses to a secondary sending domain. Send a test batch of 50 to 100 addresses per domain and check bounce rates before releasing the full catch-all segment.

  4. Step 4: Re-verify lists older than 90 days before reuse

    Run the full bulk verification pass again on any list not actively sending for 90 or more days. Use the "last verified" or "data freshness" field from your data source as the re-verification trigger.

  5. Step 5: Set a 3% bounce threshold in your sending tool

    Instantly and Smartlead both support bounce detection thresholds that pause a campaign automatically. Set a hard stop at 3%. A pause triggered by bounce rate is always a data QA signal, not a deliverability configuration issue.

⚠️
Verification status is not bounce risk score

Verification confirms whether a server accepted or rejected an address. Bounce risk scoring adds domain behavior, historical bounce patterns, and toxicity signals. The scoring layer in Step 2 prevents repeated exposure to the same risk.

Prevention

3 rules to keep bounce risk out of your next list

Verify at the enrichment stage, not just before sending. Add a verification column inside your Clay or Findymail workflow so risk data travels with every lead record from the start.

Establish a 90-day re-verification rule for any list not actively sending. Add a "last verified" date field and flag any contact past 90 days before including them in a new sequence.

βœ…
Automate the tier column in Clay

Add a formula column in Clay that maps verification status to Tier 1, 2, or 3. Set your Instantly or Smartlead filter to push only Tier 1 rows. This runs bounce risk scoring automatically on every table refresh without manual review.

FAQ

5 questions on bounce risk scoring, answered

Q What is the pre-campaign bounce risk checklist?

Five items: verification pass within 90 days, bounce risk tier column populated for every row, Tier 3 addresses in suppression, Tier 2 routed to a secondary domain for testing, and bounce threshold set to 3% in the sending tool. Any unchecked item means the campaign runs without a data quality gate.

Q What are the bounce risk scoring rules by verification status?

Valid: send on primary domain. Catch-all or risky: route to secondary domain, test 50 to 100 per domain, suppress any domain where the test batch exceeds 3% bounces. Invalid, disposable, or toxicity score 3+: always suppress.

Q Which verification tool handles catch-all addresses best for cold email?

Bouncer provides the deepest catch-all handling and toxicity scoring on a 0-5 scale. Findymail offers a bounce-rate guarantee below 5% on verified results. ZeroBounce allows additional catch-all scoring at 1 credit per address as a secondary step.

Q What bounce rate threshold should trigger a campaign pause?

Set your sending tool to pause at 3%. Google and Microsoft use hard bounce rate signals for domain reputation scoring, and a single campaign exceeding 5% on Gmail-hosted addresses can depress inbox placement for subsequent sends.

Q Does verification from Apollo or Clay replace a dedicated bounce risk tool?

Apollo and Clay cover core verification statuses including catch-all detection. They lack toxicity scoring and spam-trap detection depth. Use a dedicated tool like Bouncer when catch-all rates are high, lists come from multiple sources, or your domain is already under pressure.

Bounce risk scored. Next: verify the full data quality chain.

The Data Quality to Deliverability guide covers the upstream root causes that produce risky lists before verification is ever needed.