Order queue open · Verified lists delivered within 24–48 hours
Blog/Guide

B2B email list cleaning guide: reduce bounces before you send

B2B email list cleaning guide: why contact lists decay at 30% annually, bounce thresholds to monitor, verification methods, and what Quarvio verifies on delivery.

S

Sarah Okonkwo

Sales ops specialist, deliverability obsessive · Updated June 24, 2026

Last updated: July 2026 · Sarah Okonkwo, Sales ops specialist, deliverability obsessive


TL;DR — 5 things to know before reading

  • B2B contact lists decay at approximately 25–30% per year — a list that was accurate 18 months ago has roughly one-third invalid contacts by now
  • Hard bounce rates above 2% are a direct threat to domain reputation and inbox placement — Google's email sender guidelines require spam complaint rates below 0.3%, and high bounce rates precede high complaint rates
  • Email verification catches four categories of problems: invalid syntax, non-existent mailboxes, role accounts (info@, support@), and catch-all domains — each requires a different response
  • Quarvio verifies contacts at the point of delivery, which eliminates the highest-risk invalid addresses before you send — but catch-all domains and role accounts still require your judgment
  • Cleaning a list before sending is not optional for sustained cold email deliverability — one bad send on an uncleaned list can take weeks to recover from

Our take

Email list hygiene is the most overlooked deliverability variable in cold email. Senders spend hours on subject lines, sequence structure, and warmup but send into unverified lists and wonder why their inbox placement drops after two weeks.

The math is straightforward. A B2B contact list loses roughly 25–30% of its valid addresses per year to job changes, company shutdowns, email domain migrations, and contact record updates. Mailmodo's B2B email marketing statistics confirm that list decay is the primary driver of increasing hard bounce rates in campaigns that were previously performing well. A list purchased or built 18 months ago and sent to without re-verification will produce hard bounce rates that damage domain reputation before the campaign has any chance to generate pipeline.

This guide covers why lists decay, how verification works at each stage, what the specific bounce thresholds mean for deliverability, and the practical workflow for cleaning a list before it goes into Instantly.

For more on building a clean list from the start, the how to build a cold email list guide covers the sourcing and initial verification steps. For broader deliverability context, the cold email deliverability guide covers all the variables that affect inbox placement.

Why B2B contact lists decay

Contact data has a shorter shelf life in B2B than most people expect. The primary drivers:

Job changes: The average B2B professional changes roles every 2–3 years. When they change companies, the old email address either bounces immediately (if the account is closed) or sits as a dead mailbox that eventually times out and starts bouncing. Either way, contacts that were valid at point of collection become invalid without any action on your part.

Company shutdowns and acquisitions: In a typical year, a small but significant percentage of companies in any B2B list go through shutdowns, mergers, or acquisitions that change their email infrastructure. Acquired companies often migrate domains; shut-down companies simply stop accepting email.

Email domain migrations: Companies migrating from one email provider to another sometimes carry forward old addresses into the new system and sometimes do not. A migration that fails to carry over an address turns a valid contact into a hard bounce with no warning.

Data collection age: Any contact list built by collection rather than real-time verification has a timestamp on its accuracy. A list built from a directory, an event attendee list, or a database download reflects the state of the world at collection time — not now.

The cumulative effect: a 10,000-contact list that was 95% valid at purchase is approximately 66–73% valid 18 months later, assuming 25% annual decay. That is 2,700–3,400 invalid contacts that will bounce on send.

Bounce rate thresholds and what they mean

Hard bounce rateStatusAction required
Below 1%AcceptableMonitor; no immediate action needed
1–2%Warning zonePause and verify the list before continuing
2–4%Danger zoneStop sending immediately; verify and clean before resuming
Above 4%CriticalDomain reputation already damaged; stop, verify, and begin recovery warmup

Thresholds based on Google's email sender guidelines and Mailmodo cold email statistics.

A single campaign to an unverified 10,000-contact list with 25% decay will produce 2,500+ hard bounces — a 25% bounce rate. The domain used for that send will be flagged by major email providers within hours. Recovery requires stopping all sends from that domain, completing a fresh warmup cycle, and rebuilding sender reputation over 4–8 weeks. Cleaning the list first costs 30–60 minutes. Recovery costs weeks.

The four categories of invalid contacts

Email verification identifies four distinct problems, each requiring a different response:

Hard invalid (invalid syntax or non-existent mailbox): The email address does not exist. Any send to this address produces a hard bounce. These should be removed from every list before sending. No exceptions.

Role accounts (info@, support@, hello@, admin@, team@): These are shared inboxes, not individual contacts. They are typically monitored by multiple people or by ticketing systems, not by a decision-maker. Sending cold email to role accounts produces low reply rates, elevated unsubscribe rates, and higher spam complaint rates because no individual owns the inbox. Remove these from cold outreach lists.

Catch-all domains: A catch-all domain accepts email to any address at that domain, even if the specific mailbox does not exist. Verification services cannot confirm whether sarah.johnson@company.com is valid or not when company.com has a catch-all configuration — the server accepts all mail regardless. Catch-all addresses carry higher bounce risk than verified addresses. Many teams choose to send to catch-alls at a reduced volume or not at all on new campaigns.

Risky (spam traps, honeypots, litigious domains): These are addresses that exist specifically to catch senders using unverified lists. Hitting a spam trap produces immediate and severe deliverability consequences. Good verification services flag these as high-risk. Remove any contact flagged as risky before sending.

The verification workflow

Step 1: Export and format the list

Export your contact list as a CSV with a column for email address. This is the input for verification. Additional fields (first name, company, job title) can stay in the file — they do not affect verification.

If the list was built from multiple sources (event attendees, inbound form fills, purchased data), label each source in a separate column. This allows you to compare bounce rates and verification results by source after the process is complete, which informs where to source from in the future.

Step 2: Run verification

Upload the CSV to an email verification service. Common options include NeverBounce, ZeroBounce, and Millionverifier — all of which provide categorized results (valid, invalid, risky, catch-all) rather than binary pass/fail. The process takes minutes for lists under 10,000 contacts.

Quarvio verifies contacts at the point of delivery — if you source your contact list from Quarvio, the verification has already been completed against the highest-risk invalid categories. The verified B2B contacts guide explains what the verification process covers.

Step 3: Apply the results

Download the verification results and filter:

  • Remove all contacts marked "Invalid" or "Bad syntax"
  • Remove all contacts marked "Role account" or "Generic"
  • Remove all contacts marked "Risky" or "Spam trap"
  • Decide on your catch-all policy: send to 50% of catch-alls as a test, or exclude entirely for new campaigns

The resulting list contains only verified valid contacts plus catch-all contacts (if you chose to include them). This is what goes into Instantly.

Step 4: Set up bounce monitoring in Instantly

Before launching the campaign, configure bounce thresholds in Instantly so you receive an alert if the campaign reaches 2% hard bounce rate. Instantly's campaign analytics show hard bounces in real time. Check the first 100–200 sends closely for bounce rate before scaling.

If the bounce rate on the cleaned list is still above 1% in the first 200 sends, stop and investigate. Either the verification service missed a significant portion of invalid addresses, or the list has a source quality problem that verification alone cannot fix.

Step 5: Monitor bounce rate by source

After the campaign runs, segment the bounce report by the source column you set up in Step 1. If contacts from one source have a 5% bounce rate while contacts from another source have a 0.5% bounce rate, the source — not the verification process — is the problem. Stop purchasing or building from the high-bounce source. This is the most actionable insight from a structured verification workflow.

What Quarvio's verification covers

Quarvio verifies B2B contacts before delivery to eliminate the highest-risk invalid categories. Specifically, Quarvio's verification process confirms:

  • The email domain exists and is active
  • The MX records for the domain accept email
  • The specific mailbox accepts email (where the email server permits mailbox-level verification)
  • The contact is not a known role account or shared inbox

What Quarvio's verification does not guarantee:

  • Catch-all domains (by definition, the mailbox cannot be individually confirmed)
  • Contacts whose employment changed after the point of verification
  • Future validity (contact data has a timestamp; re-verify lists older than 6 months before sending)

This is not a limitation unique to Quarvio — it is a limitation of the underlying verification technology. No verification service can guarantee a catch-all mailbox or predict future job changes. The value of verification is eliminating the known invalid contacts before they produce hard bounces.

Bounce rate recovery

If your domain has already taken damage from a high-bounce campaign, recovery requires:

  1. Stop all sends from the affected domain immediately. Every additional send before recovery is complete increases the damage.
  2. Verify and clean the full contact list. Remove every invalid, risky, and role address before resuming.
  3. Begin a fresh warmup cycle. Instantly's cold email benchmarks recommends 4–8 weeks of warmup for a domain with damaged reputation before resuming cold sends at full volume. Instantly's warmup feature handles this automatically.
  4. Check blacklists. Run the domain through MXToolbox blacklist checker to confirm whether the domain has been listed. A blacklisted domain requires delisting requests in addition to warmup.
  5. Monitor Google Postmaster Tools. Google Postmaster Tools tracks domain reputation in real time. Recovery is confirmed when domain reputation returns to "Good" status.

The full recovery cycle from a serious bounce rate incident is 6–10 weeks. Building new domains alongside the recovery warmup is typically more efficient than waiting for a single damaged domain to recover.

List cleaning cadence

The correct cleaning cadence depends on how old the list is and when it was last verified:

List ageAction
Under 3 months (from Quarvio or fresh verification)Safe to send without re-verification
3–6 months oldRun through verification before next campaign
6–12 months oldFull verification required; expect 10–15% invalid rate
Over 12 months oldFull verification required; expect 15–30% invalid rate; may be more efficient to source a fresh list

For any list sourced externally (not verified at point of collection), verify before the first send regardless of stated age.

What practitioners say

"We had a batch of 8,000 contacts from a conference attendee list — no verification, just raw export. Sent to 2,000 of them before we checked bounce rates. Hit 6% hard bounce on that domain in two days. Took six weeks to recover. Now we verify every list before touch 1 goes out, no exceptions. The verification cost is a rounding error compared to the time we spent rebuilding sender reputation." — G2 reviewer, Instantly reviews on G2

Our actual stack

NeedToolNotes
Verified B2B contacts at point of deliveryQuarvioVerification baked in — reduces pre-send cleaning overhead
Email inboxes for bounce-safe sendingInframailMicrosoft 365 inboxes, each with independent reputation
Campaign sending with bounce monitoringInstantlyReal-time bounce rate tracking, auto-pause on threshold
LinkedIn outreach as alternative channelAimfoxReach catch-all domain contacts via LinkedIn instead of email

Frequently asked questions

What is the acceptable hard bounce rate for cold email?

Keep hard bounce rate below 2% for any campaign. Google's email sender guidelines flag senders with spam complaint rates above 0.3%, and high bounce rates are a leading indicator of high complaint rates. The safe operating range is under 1% hard bounce rate. Above 2%, stop the campaign and verify before continuing.

How often should I re-verify my B2B contact list?

Any list older than 6 months should be re-verified before sending. Lists sourced from Quarvio should be re-verified if they are more than 6 months old, as contacts change roles and email addresses change even after verification. For active campaigns sending to the same list over multiple months, monitor bounce rates in Instantly and re-verify any segment that shows an upward bounce rate trend.

What is a catch-all domain and should I send to those contacts?

A catch-all domain accepts email sent to any address at that domain, regardless of whether the specific mailbox exists. This means verification cannot confirm individual mailbox validity. Catch-all contacts carry higher bounce risk than verified contacts. A conservative approach: exclude catch-all contacts from new campaigns until the domain reputation is established, then test with 25–50% of your catch-all contacts in a separate campaign to measure actual bounce rate.

Can email verification guarantee zero bounces?

No. Verification eliminates known invalid addresses but cannot predict contacts who change jobs after the verification date, catch-all domain validity, or server configurations that reject email from certain senders. The goal of verification is reducing bounce rate to below 1%, not eliminating bounces entirely. Ongoing monitoring in Instantly is still required even with a verified list.

What should I do if my domain gets blacklisted from a high-bounce campaign?

Stop all sends from the affected domain immediately. Run the domain through MXToolbox to identify which blacklists have listed it. Submit delisting requests to each blacklist. Begin a fresh warmup cycle on the domain using Instantly's warmup feature — this takes 4–8 weeks minimum. Meanwhile, build a new domain and inbox stack for active outreach. Monitor recovery via Google Postmaster Tools.


Start with verified data and skip the list-cleaning overhead

Quarvio delivers B2B contacts that have already been verified against invalid mailboxes, non-existent domains, and role accounts. One-time purchase, credits valid 12 months, no subscription. Start sending to a clean list from day one.

Start your order on Quarvio →

b2b email list cleaningemail verificationreduce email bouncesemail list hygiene