# Data Governance Enrichment

> Enrich CRM data: tools, waterfall approach, automation, quality control. Use when designing or improving data enrichment in rev ops.

- Skill: `diegosouzapw/data-governance-enrichment` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add diegosouzapw/data-governance-enrichment`
- Raw SKILL.md: https://api.skillmd.com/api/skills/diegosouzapw/data-governance-enrichment/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: diegosouzapw (https://skillmd.com/u/diegosouzapw)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/diegosouzapw/data-governance-enrichment

---


# 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)

- [ ] Audit current data gaps
- [ ] Select enrichment providers
- [ ] Set up API integrations
- [ ] Configure Clay tables (if using)
- [ ] Create enrichment tracking properties

### Phase 2: Automation (Week 2)

- [ ] Build real-time enrichment workflows
- [ ] Build batch enrichment workflows
- [ ] Set up validation rules
- [ ] Configure error handling
- [ ] Test with sample records

### Phase 3: Launch (Week 3)

- [ ] Start with low-priority records
- [ ] Monitor accuracy and costs
- [ ] Adjust waterfall order based on results
- [ ] Roll out to all segments

### Phase 4: Optimization (Ongoing)

- [ ] Weekly cost review
- [ ] Monthly accuracy audit
- [ ] Quarterly provider evaluation
- [ ] Annual strategy review

---

## 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](https://www.coldiq.com) & [Ivan Falco](https://www.linkedin.com/in/ivanfalco/en/).** For questions on implementation or anything not covered here, reach out to Ivan directly on [LinkedIn](https://www.linkedin.com/in/ivanfalco/en/).

