Data Governance — Enrichment Strategies
How to enrich CRM data: tools, waterfall approach, automation, and quality control.
Why Enrichment Matters
B2B data decays at 2.1% per month (22.5% annually). Without enrichment:
- Job titles are 50-65% outdated within a year
- Email addresses decay 37% annually
- Phone numbers decay 43% annually
Enrichment keeps your CRM current and your outreach effective.
Enrichment Hierarchy
Not all enrichment sources are equal. Prioritize by accuracy:
| Source |
Accuracy |
Coverage |
Cost |
Best For |
| Manual research |
95%+ |
Low |
High (time) |
High-value accounts, executives |
| LinkedIn Sales Navigator |
90%+ |
High |
$$$ |
Job titles, company info |
| Clay |
85-90% |
High |
$$ |
Bulk enrichment, waterfall approach |
| ZoomInfo |
80-85% |
Very High |
$$$$ |
Enterprise, comprehensive data |
| Apollo |
75-80% |
High |
$ |
Cost-effective bulk enrichment |
| Clearbit |
80-85% |
Medium |
$$$ |
Tech stack, firmographics |
| Lusha |
75-85% |
Medium |
$$ |
Phone numbers, emails |
| Hunter |
70-75% |
Medium |
$ |
Email finding only |
Waterfall Enrichment Strategy
Don't rely on one source. Use a waterfall approach where each step fills gaps from the previous:
Step 1: Check existing CRM data (free)
↓ If missing fields
Step 2: Clay enrichment (uses multiple sources)
↓ If still missing
Step 3: ZoomInfo/Apollo lookup
↓ If still missing
Step 4: LinkedIn Sales Navigator
↓ If still missing
Step 5: Manual research
↓ If still missing
Step 6: Flag for human verification
Clay Waterfall Example
Clay Column Configuration:
1. Find Email (Waterfall)
→ Apollo → ZoomInfo → Lusha → Hunter
→ Takes first valid result
2. Find Phone (Waterfall)
→ ZoomInfo → Apollo → Lusha
→ Takes first valid result
3. Enrich Company (Waterfall)
→ Clearbit → ZoomInfo → Apollo
→ Takes first valid result
4. Find LinkedIn URL
→ Apollo → ZoomInfo
→ Validate with LinkedIn profile lookup
Enrichment Triggers
Real-Time Enrichment
| Trigger |
Fields to Enrich |
Priority |
| New lead created |
Email verification, phone, job title, company size, industry |
High — do immediately |
| Lead becomes MQL |
Full firmographics, tech stack, LinkedIn URL |
High — before sales touches |
| Deal created |
Decision-makers, org chart, recent news |
Medium |
| Form submission |
Verify and complete missing fields |
High |
| Website visit (known) |
Refresh stale data if >90 days old |
Medium |
Batch Enrichment
| Trigger |
Scope |
Frequency |
| Scheduled refresh |
Active contacts/companies |
Weekly/Monthly |
| Before campaign |
Email verification, phone validation |
Before each campaign |
| Quarterly refresh |
Job title verification, company size update |
Quarterly |
| Annual audit |
Full database enrichment |
Annually |
Enrichment by Field Type
Contact-Level Enrichment
| Field |
Enrichment Source |
Frequency |
| Email |
ZoomInfo, Apollo, Hunter |
On creation + verify before campaigns |
| Phone |
ZoomInfo, Lusha, Apollo |
On creation + verify before call campaigns |
| Job Title |
LinkedIn, ZoomInfo, Apollo |
On creation + every 6 months |
| LinkedIn URL |
Apollo, ZoomInfo |
On creation only |
| Personal Bio |
LinkedIn Sales Navigator |
For high-value contacts |
Company-Level Enrichment
| Field |
Enrichment Source |
Frequency |
| Industry |
Clearbit, ZoomInfo |
On creation + annually |
| Employee Count |
ZoomInfo, Clearbit, Apollo |
On creation + annually |
| Revenue |
ZoomInfo, Clearbit |
On creation + annually |
| Tech Stack |
BuiltWith, Clearbit, Wappalyzer |
On creation + every 6 months |
| Funding Info |
Crunchbase, PitchBook |
On creation + quarterly |
| News/Signals |
Bombora, G2, News APIs |
Real-time or weekly |
HubSpot Enrichment Configuration
Workflow: Auto-Enrich New Leads
Trigger: Contact created with Email filled
Actions:
1. Delay 5 minutes (allow HubSpot native enrichment)
2. Branch: If Company Name blank
→ Use Clay webhook to find company from email domain
→ Update Company Name, Industry, Employee Count
3. Branch: If Phone blank
→ Use Clay webhook to find phone
→ Update Phone property
4. Branch: If Job Title blank
→ Use Clay webhook to find title
→ Update Job Title and Seniority Level
5. Set "Enrichment Status" = "Completed"
6. Set "Enrichment Date" = Today
Workflow: Pre-Campaign Enrichment
Trigger: Added to list "Campaign - [Name] - Outreach"
Actions:
1. Branch: If "Email Verified" != "Valid"
→ Use NeverBounce webhook to verify
→ Update "Email Verified" status
2. Branch: If "Last Enriched" > 90 days ago
→ Trigger full enrichment workflow
→ Update all stale fields
3. Branch: If "Email Verified" = "Invalid"
→ Remove from list
→ Add to "Bad Emails" list
4. Set "Ready for Campaign" = Yes
Workflow: Scheduled Refresh
Trigger: Scheduled daily at 2:00 AM
Enrollment: Contacts where:
- Last Enriched > 180 days ago
- Lifecycle Stage = [MQL, SQL, Opportunity]
- Limit: 500 contacts per day (cost management)
Actions:
1. Use Clay webhook for full enrichment
2. Update enriched fields
3. Set "Last Enriched" = Today
4. Log activity "Enrichment refresh completed"
Enrichment Quality Control
Validation After Enrichment
| Field |
Validation Check |
Action if Failed |
| Email |
Valid format, verified deliverable |
Flag, don't use in campaigns |
| Phone |
Valid format, 7-15 digits |
Flag for manual review |
| Job Title |
In approved list OR reasonable |
Flag if nonsensical |
| Company Size |
Within expected range for industry |
Flag if outlier |
| Industry |
From standardized list |
Map or flag |
| Revenue |
Positive number, reasonable for size |
Flag if outlier |
Quality Metrics to Track
| Metric |
Formula |
Target |
| Enrichment coverage |
Records enriched / Total records |
>80% |
| Field fill rate post-enrichment |
Filled fields / Target fields |
>90% |
| Email verification rate |
Valid emails / Total emails |
>85% |
| Enrichment accuracy |
Spot-check sample for correctness |
>90% |
| Cost per enriched record |
Total enrichment cost / Records enriched |
Track trend |
Cost Management
Credit Allocation Strategy
| Priority |
Segment |
Enrichment Level |
Budget % |
| 1 |
MQLs and SQLs |
Full enrichment |
40% |
| 2 |
Target accounts (ABM) |
Full enrichment |
30% |
| 3 |
New leads |
Essential fields only |
20% |
| 4 |
Database refresh |
Verification only |
10% |
Credit Optimization Tips
1. Don't re-enrich unnecessarily
- Check existing data first
- Set minimum time between enrichments (90 days)
2. Prioritize high-value records
- Enrich MQLs before raw leads
- Enrich target accounts first
3. Use appropriate sources
- Free sources first (LinkedIn public data)
- Cheap sources for low-value records
- Premium sources for high-value only
4. Batch for efficiency
- Batch requests where possible
- Off-peak pricing if available
Cost Tracking Dashboard
| Metric |
Calculation |
Benchmark |
| Cost per enriched contact |
Enrichment spend / Contacts enriched |
$0.10-0.50 |
| Cost per verified email |
Verification spend / Emails verified |
$0.01-0.05 |
| Enrichment ROI |
(Pipeline from enriched contacts - Cost) / Cost |
>5x |
| Budget pacing |
Month-to-date spend / Monthly budget |
<100% |
Multi-Source Integration
API Integration Pattern
For each enrichment request:
1. Check cache (Clay, CRM)
IF found AND fresh (< 90 days)
→ Return cached data
2. Waterfall through providers
FOR each provider in priority order:
→ Make API request
→ IF valid data returned
→ Save to cache
→ Return data
→ Exit loop
→ ELSE continue to next provider
3. If no provider returns data
→ Flag for manual research
→ Return partial data with flag
Provider Selection Matrix
| Use Case |
Primary |
Secondary |
Tertiary |
| Email discovery |
Apollo |
ZoomInfo |
Hunter |
| Phone discovery |
ZoomInfo |
Lusha |
Apollo |
| Job title verification |
LinkedIn |
ZoomInfo |
Apollo |
| Company firmographics |
Clearbit |
ZoomInfo |
Apollo |
| Tech stack |
BuiltWith |
Clearbit |
Wappalyzer |
| Intent signals |
Bombora |
G2 |
ZoomInfo |
Common Enrichment Mistakes
| Mistake |
Impact |
Fix |
| Single source reliance |
Low coverage, single point of failure |
Waterfall approach |
| No validation |
Bad data enters CRM |
Validate after enrichment |
| Over-enriching |
Wasted budget |
Prioritize by value, set limits |
| Under-enriching |
Stale data, missed opportunities |
Regular refresh schedule |
| Ignoring cost |
Budget overrun |
Daily/weekly cost monitoring |
| No tracking |
Can't measure ROI |
Enrichment source tracking |
Implementation Checklist
Phase 1: Setup (Week 1)
Phase 2: Automation (Week 2)
Phase 3: Launch (Week 3)
Phase 4: Optimization (Ongoing)
Cross-References
- Data Governance Framework: See
data-governance-framework.md
- Validation Rules: See
data-governance-validation.md
- Quality Metrics: See
data-governance-framework.md#data-quality-kpis-and-targets
Built by ColdIQ & Ivan Falco. For questions on implementation or anything not covered here, reach out to Ivan directly on LinkedIn.