What counts as bad data in B2B outreach
Bad data is not only an email that bounces back. Most of it looks perfectly normal in a spreadsheet right up until you hit send. It just means the record no longer reflects reality:
Outdated emails
The person switched jobs, or the company domain does not exist anymore.
Non-decision-makers
The title on file has not been updated since a promotion or a reorg.
Role-based addresses
Inboxes like info@ and sales@ that rarely get read by an actual buyer.
Catch-all domains
Addresses that accept any inbound mail without confirming a real inbox sits behind them.
So when a campaign underperforms, the messaging usually gets blamed first. In practice, the list is often the bigger issue.
Why small sales teams suffer most from bad data
A 500-rep sales org can shrug off a bad contact here and there across dozens of warmed-up mailboxes. A 2 or 3 person team sending from one domain does not have that kind of room.
50 to 200emails a day is the typical limit for a small, well-protected domain
- A single bounce eats up a much bigger share of a day that is already capped at a low send count.
- Bounces hurt a new or lightly used domain faster than one with years of sending history behind it.
- Most small teams do not have anyone whose job is simply keeping the list clean.
- Bad contacts tend to stay in the CRM and get emailed again the next time a campaign goes out.
On a list that small, one bounce is not something you can just shrug off. It used up a send you did not have many of to begin with.
Human-verified vs. scraped data
It really comes down to one question. Did a person check this contact before it reached you, or was it pulled automatically and left alone?
| Human-verified | Scraped / automated |
|---|
| How contacts are sourced | A person confirms the contact still works there and holds the title on file. | Pulled automatically from public sources and old records, usually without a recheck. |
| Update cadence | Re-verified on a set schedule before it ever reaches you. | Depends entirely on when the record was last crawled, sometimes years ago. |
| Decision-maker accuracy | Role and seniority reviewed by hand, not just guessed from a job title string. | The title field can be out of date after a promotion, a departure, or a reorg. |
| Typical bounce risk | Low, since emails are checked before you ever send to them. | Higher, since catch-all and dead addresses are common in unverified lists. |
| Cost per accurate contact | Higher upfront, but far less time lost to bounces and list cleanup later. | Cheaper on paper, though bounces and reputation damage add up quietly. |
| Best fit | Small teams with tight sending limits and nobody dedicated to data cleanup. | Larger teams that can absorb a higher bounce rate and filter at scale. |
How to avoid bad data, step by step
1Start with verified data
Ask your provider whether contacts get checked before delivery, or whether you are just getting a static export someone scraped a while back.
2Recheck anything older than 90 days
Contact data does not hold still. People change jobs and titles constantly, so a list that was accurate in January can be shaky by April. We put together a
90-day verification cycle you can use as a starting point.
3Cut role-based and catch-all addresses
Pull them before they ever load into your sending tool. They rarely reach a real decision-maker anyway.
4Remove hard bounces right away
Do not let them pile up across campaigns. Every bounce you leave in the list is one you will pay for again next send.
5Track what it actually costs you
A bad contact is never just one wasted send once you count the cleanup time and the reputation damage that follows it.
Tools to measure your own risk