Skip to content
Back to skills

Data Governance Enrichment

ASecurity

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

  • 57 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 31, 2026
businessgosqlgitapidatabase

Works with

  • api

Security analysis

A100/100

Scanned May 31, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill data-governance-enrichment --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Governance Enrichment?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data Governance Enrichment
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-data-governance-enrichment/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-data-governance-enrichment)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-governance-enrichment
description: "Enrich CRM data: tools, waterfall approach, automation, quality control. Use when designing or improving data enrichment in rev ops."
---

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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.