Bad outreach lists aren't built in one mistake — they're built from a hundred small ones: scraped vendor emails, unverified catch-alls, duplicate domains, and addresses that bounced six months ago but nobody removed.
If you sell services to agencies (web dev, email marketing, SEO, SaaS), list quality is your deliverability strategy. Here is the exact process we use on Email Validator before any campaign goes out.

Step 1: Source Real Company Contacts
Avoid these common scrape traps:
| Bad source | Example | Why it fails |
|---|---|---|
| Platform pages | sales@klaviyo.com |
Vendor inbox, not your prospect |
| Generic directories | Aggregator "contact us" forms | No direct email |
| Aged purchased lists | 12-month-old CSV | 22%+ decay per year |
Better sources:
- Company websites (/contact, /about, footer emails)
- Company Finder search by niche + country
- Conference speaker pages, podcast guest bios
- Your inbound leads and referrals
Step 2: Verify Every Address (Not Just New Ones)
Run SMTP verification on the full list — not just net-new rows. Bulk upload handles thousands; Company Finder handles search-and-save workflows.
Keep:
- valid — confirmed inboxes
Remove or quarantine:
- invalid, disposable, spam_trap
- Vendor domains (klaviyo.com, mailchimp.com, hubspot.com)
- Domain mismatches (email @widgets.hr but site is widget.solutions — fix or drop)
Do not cold-email:
- catch_all — see our catch-all outreach guide
Step 3: Organize With Named Lists
Create lists by campaign intent, not one mega-file:
Email marketing Agency — UKWordPress Woo — DACHRe-verify Q3 2026
Use copy vs move deliberately:
- Copy when testing a sub-segment
- Move when curating a final send audience (removes from source list)
Filter "Not on any list" to catch contacts you scraped but never filed.
Step 4: Preflight Before Every Send
Even with a verified list, run preflight the day of send:
- Select recipients in mass mail admin
- Click Verify selected — live SMTP check
- Review: X sendable (valid) · Y blocked
- Type
SENDonly when valid count matches expectations
Rules enforced automatically:
- Valid only — catch_all blocked
- Suppression list — prior bounces never re-sent
- Weak inboxes — legal@, datenschutz@ skipped
- Already sent — per-campaign deduplication
Step 5: Maintain Suppressions
Every hard bounce should land on a do-not-mail list:
- SES bounce webhooks → auto-suppress
- Verified invalid → auto-suppress
- Manual adds for unsubscribes and complaints
Sending to suppressed addresses is blocked at preflight — protecting SES quota and reputation.
Sample Quality Metrics
Before a 100-recipient agency campaign, aim for:
| Metric | Target |
|---|---|
| Valid rate after verify | > 60% of scraped (varies by niche) |
| Catch-all in send queue | 0% |
| Bounce rate post-send | < 2% |
| Vendor domain leaks | 0 |
The 30-Minute Weekly Routine
- Monday: Add new Company Finder results to lists
- Wednesday: Verify unverified rows
- Friday: Remove invalids, check suppressions
Lists decay ~2–3% monthly. Verification isn't a one-time event.
Build your first clean list — Company Finder →