What's a good contact enrichment workflow for a small sales team?
Run five steps in this order: build the list, find the contacts, verify the emails, dedupe against what you already have, then load the clean rows into your CRM. Do every check before the load, because a bad row costs seconds to delete from a spreadsheet and far longer to clean out of a CRM. For one rep starting about 504 new contacts a month, the data side runs roughly $35 to $50 a month in tool fees (our math, as of October 2026).
How we research this: facts come from each vendor’s public pages and named studies, dated where shown; the math is ours and labeled. Vendor prices and limits are as of October 4, 2026.
Updated
What are the five steps?
| Step | What you do | Where to go deeper |
|---|---|---|
| 1. List | Pick the accounts and titles that match your ideal customer. One row per person | Is Sales Navigator worth it? if you build lists on LinkedIn |
| 2. Find | Get each person's work email, and a direct phone number if you'll call | How to find a work email and how to find a direct phone number |
| 3. Verify | Check every email before it goes near a sending inbox | The best email verification tool |
| 4. Dedupe | Remove repeats within the file, and anyone already in your CRM or on a do-not-contact list | Below |
| 5. Load | Import the clean file into your CRM, then into your sequencer | The best CRM for founder-led sales |
Still choosing the finder itself? That's the best B2B contact data provider and the cheapest ZoomInfo alternatives. This page is about the workflow, not the vendor.
Why does the order matter?
Verification comes before the load because bounces cost you sender reputation, and reputation is what gets your emails into the inbox. Verified lists bounce less, so verify before every send (our view). Our guideline is to pause above 2% bounces; Google and Microsoft publish no bounce threshold. The logic is simple: bounces hurt, and a verifier is the cheapest fix.
Dedupe comes next because checking the same person twice burns credits, and emailing someone who's already talking to a colleague of yours burns goodwill.
Then there's decay. Lusha's 2026 study of 140,284 US sales leaders found 12.25% changed jobs in 12 months and 25.67% in 24 months (job changes only, not total decay). ZeroBounce says at least 23% of an email list goes bad each year (11B+ addresses, 2025; ZeroBounce calls that a low estimate). An older MarketingSherpa estimate quoted on HubSpot's database-decay page (the page gives no date) is 2.1% a month; compounded, a list that sat for three months would have lost about 6% of its contacts before you send a single email (our math). Re-verify any list older than 90 days (our rule). More in how fast B2B contact data goes out of date.
What does each step look like in practice?
1. List. One row per person, five columns: company, domain, first name, last name, title. Resist adding more columns at this stage.
2. Find. Give the finder first name, last name and the company's email domain. Costs per email vary a lot between tools; the per-email math is in how to find a work email, and phone numbers, which cost more, are in how to find a direct phone number. If your lists need several sources, a tool like Clay can run the finding and checking in one table; it starts at $185 a month, or $167 billed annually, so it pays off only for teams building lists every week. We break down what Clay is and whether it's worth it on its own page.
3. Verify. Run every found email through a verifier. MillionVerifier charges $89 for 50,000 credits, about $0.00178 per email, and its credits never expire. Drop every invalid. Keep risky and catch-all results out of the main send; the best email verification tool explains how to handle them.
4. Dedupe. In the spreadsheet, lowercase every email and remove exact repeats first. Then match the file against an export of your CRM contacts and your do-not-contact list, and delete anyone who appears in either. When you import, look for your CRM's option to update existing records instead of creating new ones.
5. Load. Import the clean file into your CRM first so every contact has a record, then push the same file to your sequencer. Keep one field for where each contact came from and one for the date you verified it, so you know which rows to re-check. Send from lookalike domains, not your main one; here's why a separate domain for cold email protects the business.
What does it cost for one rep? A worked example
Our house plan: 4 inboxes at about 30 sends a day (our guideline) over 21 sending days, with 5 touches per prospect. That's 4 × 30 × 21 ÷ 5 = 504 new contacts a month. Prices are from each vendor's pricing page.
| Line | Monthly billing | Billed yearly |
|---|---|---|
| Hunter Starter plan (2,000 credits a month) | $49.00 | $34.00 |
| MillionVerifier, 504 emails × $0.00178 | $0.90 | $0.90 |
| Total | $49.90 | $34.90 |
| Per contact | about $0.099 | about $0.069 |
That spreads the full plan fee over 504 contacts, so it's an upper bound for email data alone. Phone numbers, a second data source and your CRM are extra: what tools an SDR actually needs has the full-stack total. Want to see how many meetings 504 contacts should produce? Put your own numbers into the Pipe Playbook calculator.
What does a clean handoff file look like?
One tab per list, one row per person, these columns in this order:
| Column | Example | Why |
|---|---|---|
| jane@acme.com | Lowercase. The match key for dedupe | |
| first_name, last_name | Jane, Doe | For the first line |
| title | VP Operations | For segmenting |
| company, domain | Acme, acme.com | For dedupe by account |
| phone | blank or number | Only if you call |
| source | finder name | Audit trail |
| verified_on | 2026-10-01 | Tells you when to re-check |
| status | valid / risky | Lets you filter |
When should you skip each tool?
- Hunter: skip it if your list is mostly for calling. Its pricing page lists no phone data on any plan.
- MillionVerifier: skip it if you already pay for another verifier; one verifier is enough. Compare them in the best email verification tool.
- Clay: skip it if you build one list a quarter. Its free plan caps tables at 200 rows, and Launch starts at $185 monthly or $167 a month billed annually.
- A spreadsheet dedupe: skip it once your CRM matches duplicates on import and you've tested that with a 20-row file.
- A paid CRM: skip it for your first few hundred contacts if a free plan covers you. See the best CRM for founder-led sales.
Every tool we cover, grouped by job, is on the tools hub.
The sending days, sends per inbox, inboxes per rep and touches per contact on this page are our house assumptions, with one line on why we use each.
Sources
Research and vendor pages accessed October 1, 2026.
- Lusha, How fast does B2B contact data decay? Measured twice on 148,000 records (September 12, 2026): https://www.lusha.com/blog/b2b-data-decay-rate-measured/
- ZeroBounce, The Email List Decay Report for 2026 (11B+ addresses, 2025): https://www.zerobounce.net/email-list-decay
- HubSpot Database Decay, quoting an older MarketingSherpa estimate (no date given): https://www.hubspot.com/database-decay
- Hunter pricing: https://hunter.io/pricing
- MillionVerifier pricing: https://www.millionverifier.com/
- Clay pricing: https://www.clay.com/pricing
- Google, Email sender guidelines: https://support.google.com/mail/answer/81126