| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| Tools in Stack | Complete list of all enrichment tools currently licensed or in use (paid + free tier) | Maintain a documented tool registry with owner, cost, contract dates, and primary use case for each tool | |||
| Tool-to-Role Mapping | Each tool has a clearly defined primary role (core data, orchestration, intent, hygiene, activation) | Purpose-based enrichment: each tool has ONE primary job. No tool should 'do everything' | |||
| License Utilization | Are all paid seats/credits being fully consumed? Any shelfware? | 90%+ utilization of paid enrichment credits/seats. Renegotiate or eliminate tools below 70% | |||
| Contract Terms | Contract length, auto-renewal clauses, cancellation windows | Annual review cycle aligned with enrichment ROI metrics. No auto-renewals without performance review | |||
| Total Enrichment Spend | Fully-loaded annual cost including licenses, API fees, credits, and internal labor for maintenance | Enrichment cost per enriched record tracked monthly. Benchmark: $0.10-$0.50/record depending on depth |
| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| Field-Level Overlap | Which tools write to the same CRM fields? (e.g., job title from both ZoomInfo and Apollo) | One source of truth per field. Every CRM property has a single authoritative writer | |||
| Firmographic Overlap | Multiple tools enriching company size, industry, revenue, HQ location | ZoomInfo OR Cognism as primary firmographic backbone. Others as waterfall fallback only, not parallel | |||
| Contact Data Overlap | Multiple tools writing email, phone, job title to the same records | Primary source (e.g., ZoomInfo) for role/seniority. Apollo/Clay only for missing email/phone fallback. Never overwrite primary | |||
| Intent Data Overlap | Multiple intent/signal providers creating conflicting account scores | Single intent platform (6sense or Demandbase) as authoritative. Others feed signals but don't write scores directly | |||
| Consolidation Opportunities | Tools that could be eliminated or replaced by capabilities in existing tools | Review stack annually. If two tools serve the same primary function, consolidate to the one with better coverage + integration | |||
| Cost-per-Unique-Value | What unique data does each tool provide that no other tool in the stack covers? | Every tool must deliver at least one unique, high-value data point not available elsewhere. If not, it's a cut candidate |
| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| Waterfall Logic Defined | Is there a documented waterfall sequence for each enrichment scenario (new account, new contact, post-engagement)? | Documented waterfall for: (1) New Account, (2) New Contact (inbound/outbound), (3) Post-Engagement. Each with defined provider order | |||
| New Account Waterfall | Sequence: firmographics → tech stack → ICP scoring → target account designation | ZoomInfo (firmographics, industry, size) → AccountScout/similar (tech stack, signals) → Clay (ICP scoring, ABM tiering) → Then mark as Target | |||
| New Contact Waterfall | Sequence: role/seniority → cleanup → missing contact data fallback | ZoomInfo (role, seniority, dept) → HubSpot Enrichment (normalization) → Apollo/Clay (email/phone fallback ONLY if missing) | |||
| Post-Engagement Waterfall | Triggered enrichment after demo request, sales qualification, opp creation | HubSpot Enrichment (fast, lightweight) + Clay (only for strategic accounts). Triggered by specific lifecycle events, not continuous | |||
| Fallback Logic | What happens when primary provider returns no data? Is there automated fallback? | Conditional fallback in Clay or orchestration layer. If Provider A misses → Provider B → Provider C. Achieves 80-90% match rates | |||
| Match Rate Tracking | Are match rates tracked per provider, per data type, per enrichment scenario? | Track match rate by provider and field monthly. Benchmark: 80-90% aggregate with waterfall. Below 70% on any critical field = action required |
| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| Field Ownership Model | Is there a documented field ownership map? (which tool/source is authoritative for each CRM field) | Documented field ownership: Job Title/Seniority = ZoomInfo, Company Size = ZoomInfo, Tech Stack = AccountScout, Email/Phone = Apollo/Clay fallback | |||
| Write Rules | Clear rules for overwrite vs. fill-blank-only vs. always-update per field | Default to fill-blank-only. Overwrite only with explicit logic. Never parallel writes to same field | |||
| Conflict Resolution | What happens when two sources return different values for the same field? | Defined hierarchy per field. Primary source wins. Secondary only writes if primary is null. Log conflicts for quarterly review | |||
| Data Decay Management | Is there a re-enrichment cadence for existing records? | Quarterly re-enrichment of active accounts. Monthly for high-value/strategic accounts. B2B data decays 22-30% annually | |||
| Data Quality Metrics | Are accuracy, completeness, and freshness tracked at the field level? | Monthly data quality scorecard: field completion rates, bounce rates, job change detection rate. Target: 90%+ completion on critical fields | |||
| Deduplication Process | Automated or manual dedup across enrichment sources | Automated dedup (Cloudingo, LeanData, or native CRM) with match rules. Run weekly at minimum |
| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| Trigger Definition | What events initiate enrichment? (new lead, form fill, opp stage change, etc.) | Event-triggered enrichment, not continuous. Key triggers: new lead creation, form submission, opp stage change, lead score threshold | |||
| Real-Time vs. Batch | Which enrichment runs in real-time vs. scheduled batch? Is the split intentional? | Real-time for high-velocity inbound (speed-to-lead). Batch for database cleanup, list imports. Event-triggered for lifecycle changes | |||
| Tiered Enrichment | Do different lead types get different enrichment depth? | Newsletter signup = basic fields only. Demo request = full enrichment. Enterprise inbound = full + Clay ICP scoring | |||
| Downstream Automation | Does enrichment feed scoring, routing, segmentation, and personalization automatically? | Enrichment → auto-recalculate lead score → auto-route to correct rep → auto-segment for campaigns → auto-populate personalization tokens | |||
| Enrichment-to-Action Latency | How long from enrichment completion to rep receiving a qualified, routed lead? | Target: <5 minutes for high-intent inbound. Enrichment, scoring, and routing should complete before lead hits the sales queue | |||
| Error Handling | What happens when enrichment fails, times out, or returns partial data? | Failures surface for review, not silently buried. Fallback logic for partial data. Alerting for pipeline failures |
| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| CRM Integration Depth | Bi-directional sync? Native vs. middleware? Real-time vs. batch? | Native bi-directional CRM integration (HubSpot/Salesforce). Avoid custom middleware unless absolutely necessary | |||
| Data Flow Architecture | How does enriched data flow from source → CRM → downstream tools? | 4-layer architecture: (1) First-party signals, (2) CRM as system of record, (3) Third-party enrichment, (4) AI/scoring layer | |||
| Field Mapping Consistency | Are field names and picklist values standardized across all integrated systems? | Standardized field names and picklist values across all systems. Mapping document maintained and versioned | |||
| Enrichment Pipeline Monitoring | Are enrichment jobs monitored for failures, latency, and throughput? | Dashboard tracking: enrichment volume, match rates, failure rates, processing time, cost per record. Alerts on anomalies | |||
| Marketing Automation Integration | Does enriched data flow into marketing automation for segmentation and personalization? | Enriched firmographic + intent data available in marketing automation within minutes. Powers dynamic segmentation and ABM | |||
| Revenue System Alignment | Are enrichment outputs connected to forecasting, attribution, and revenue reporting? | Enriched data feeds forecast models, attribution models, and board-level reporting. Unified data eliminates 'two versions of truth' |
| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| AI Feature Adoption | Are AI features within current tools being used? (Clay AI, HubSpot Breeze, ZoomInfo intent AI, etc.) | Audit AI features in every tool in the stack. Most teams use <30% of available AI capabilities. Identify quick wins | |||
| AI Enrichment Use Cases | Is AI being used for: real-time web scraping, ICP classification, persona bucketing, unstructured data processing? | AI enrichment beyond static databases: pull 10-K data, classify accounts, bucket titles into personas, extract signals | |||
| Agentic Architecture Support | Can current tools support AI agents that enrich, score, route, and act autonomously? | Stack should support: API-first tools, webhook triggers, real-time processing, and agent-compatible data formats | |||
| Internal + External Data Fusion | Is internal data (Gong calls, email threads, CRM notes) being combined with external enrichment via AI? | Combine external enrichment with internal signals. External databases miss 90% of internal context. AI bridges this gap | |||
| AI Data Quality Controls | Are AI-generated enrichment outputs validated before writing to CRM? | AI enrichment is ~95% accurate — the 5% error rate is dangerous for customer-facing use. Human-in-the-loop validation | |||
| Tool API & Webhook Maturity | Do current tools expose APIs and webhooks sufficient for agentic orchestration? | All enrichment tools should have: REST APIs, webhook support, batch processing, rate limiting controls, and SDK availability | |||
| Prompt Engineering / Custom Models | Is anyone on the team building custom AI prompts or fine-tuning models for enrichment classification? | RevOps teams need prompt engineering skills for Clay AI, custom classification models, and AI-driven segmentation |
| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| Documented Enrichment Strategy | Is there a written enrichment strategy that maps tools → use cases → business outcomes? | Written strategy document covering: purpose per tool, waterfall architecture, field ownership, trigger events, enrichment tiers, and success metrics | |||
| ICP Definition Clarity | Is the ICP defined with specific, enrichable firmographic and technographic attributes? | ICP defined with measurable attributes: revenue range, employee count, industry, tech stack, growth signals. Each maps to an enrichment source | |||
| Enrichment ↔ Scoring Alignment | Does enrichment directly feed lead/account scoring models? | Scoring models consume enriched firmographic, technographic, and intent data. Score recalculates automatically on enrichment | |||
| Enrichment ↔ Routing Alignment | Does enriched data drive lead/account routing logic? | Routing rules use enriched company size, industry, geography, and segment. No lead routes without minimum enrichment threshold | |||
| Enrichment ↔ Personalization | Is enriched data actually used in outbound messaging, email templates, and sequences? | Enriched fields (industry, tech stack, funding, role) populate personalization tokens. 50% improvement with proper enrichment | |||
| Enrichment ↔ ABM Alignment | Does enrichment feed ABM tiering, account selection, and account-based campaigns? | Clay or similar powers ICP scoring → ABM tier assignment. Only enriched + scored accounts become Target Accounts | |||
| Signal-Based Outbound Readiness | Is the team moving from static enrichment to continuous signal-based triggers? | Market is shifting from 'enrich once' to 'continuously enrich + trigger workflows based on signals.' This separates good vs. elite RevOps |
| Item | What We Look For | Best Practice | Findings | Score | Notes |
|---|---|---|---|---|---|
| Input Metrics Tracked | Match rate, field completion rate, data accuracy, processing time — by provider | Monthly tracking: match rate by provider (target 80-90% aggregate), field completion by type, accuracy via bounce rate proxy | |||
| Output Metrics Tracked | Lead conversion improvement, sales cycle reduction, CAC reduction, rep time saved | Benchmark: 25% increase in lead conversion, 30% faster sales cycles, 15% reduction in CAC, 5+ hours/week saved per rep | |||
| Cost-per-Record Tracking | Is the fully-loaded cost per enriched record calculated and optimized? | Track monthly: total enrichment cost / total records enriched. Benchmark: $0.10-$0.50/record. Include API fees, credits, labor | |||
| ROI Calculation | Is there a documented ROI model for enrichment investment? | ROI = (Rep time saved + Conversion lift revenue + Faster cycle cash flow improvement + CAC reduction) - (Tool costs + API fees + Labor) | |||
| Enrichment Impact on Pipeline | Can you attribute pipeline and revenue influence back to enrichment-driven actions? | Track: pipeline from enrichment-scored leads vs. non-enriched. Enriched leads should convert at measurably higher rates |
Field-Level Enrichment Map
Map every CRM field that receives enrichment data. Identify overlaps, gaps, and governance issues.
| System | Object | Field Name | Primary Source | Fallback Source | Write Rule | Fill Rate % | Accuracy % | Refresh Cadence | Overlap | Notes / Action Items |
|---|---|---|---|---|---|---|---|---|---|---|
| CONTACT FIELDS | ||||||||||
| HubSpot | Contact | First Name | Form Fill | ZoomInfo | Fill blank only | On create | ||||
| HubSpot | Contact | Last Name | Form Fill | ZoomInfo | Fill blank only | On create | ||||
| HubSpot | Contact | Form Fill | Apollo / Clay | Never overwrite | On create | |||||
| HubSpot | Contact | Phone | ZoomInfo | Apollo / Clay | Fill blank only | Quarterly | ||||
| HubSpot | Contact | Mobile Phone | Cognism (Diamond) | ZoomInfo | Fill blank only | Quarterly | ||||
| HubSpot | Contact | Job Title | ZoomInfo | Apollo | ZoomInfo always wins | Quarterly | ||||
| HubSpot | Contact | Seniority Level | ZoomInfo | — | ZoomInfo only | Quarterly | ||||
| HubSpot | Contact | Department | ZoomInfo | — | ZoomInfo only | Quarterly | ||||
| HubSpot | Contact | Job Function | ZoomInfo | — | ZoomInfo only | Quarterly | ||||
| HubSpot | Contact | LinkedIn URL | ZoomInfo | Apollo / Clay | Fill blank only | On create | ||||
| HubSpot | Contact | Persona | Clay (AI) | — | Clay only | On ICP score | ||||
| HubSpot | Contact | Tenure in Role | Clay (AI) | — | Clay only | Quarterly | ||||
| COMPANY / ACCOUNT FIELDS | ||||||||||
| HubSpot | Company | Company Name | HubSpot Breeze | ZoomInfo | Normalize only | On create | ||||
| HubSpot | Company | Domain | Form Fill | Clearbit/Breeze | Never overwrite | On create | ||||
| HubSpot | Company | Industry | ZoomInfo | HubSpot Breeze | ZoomInfo always wins | Quarterly | ||||
| HubSpot | Company | Sub-Industry | Clay (AI) | — | Clay only | On ICP score | ||||
| HubSpot | Company | Employee Count | ZoomInfo | Apollo | ZoomInfo always wins | Quarterly | ||||
| HubSpot | Company | Annual Revenue | ZoomInfo | — | ZoomInfo only | Quarterly | ||||
| HubSpot | Company | Company Size Band | HubSpot Breeze | ZoomInfo | Derived from employee count | On create | ||||
| HubSpot | Company | HQ Location (Country) | ZoomInfo | HubSpot Breeze | ZoomInfo always wins | Quarterly | ||||
| HubSpot | Company | HQ Location (State) | ZoomInfo | HubSpot Breeze | ZoomInfo always wins | Quarterly | ||||
| HubSpot | Company | Funding Status | Clay | — | Clay only | On ICP score | ||||
| HubSpot | Company | Funding Amount | Clay | — | Clay only | On ICP score | ||||
| HubSpot | Company | Business Model | Clay (AI) | — | Clay only | On ICP score | ||||
| HubSpot | Company | Website | HubSpot Breeze | Form Fill | Fill blank only | On create | ||||
| TECHNOGRAPHIC FIELDS | ||||||||||
| HubSpot | Company | CRM Platform | AccountScout | Clay | AccountScout primary | Quarterly | ||||
| HubSpot | Company | Marketing Automation | AccountScout | Clay | AccountScout primary | Quarterly | ||||
| HubSpot | Company | Cloud Provider | AccountScout | Clay | AccountScout primary | Quarterly | ||||
| HubSpot | Company | Sales Engagement Tool | AccountScout | Clay | AccountScout primary | Quarterly | ||||
| HubSpot | Company | Full Tech Stack (JSON) | AccountScout | — | AccountScout only | Quarterly | ||||
| HubSpot | Company | Competitor Tools | Clay (AI) | — | Clay only | On ICP score | ||||
| INTENT & SIGNAL FIELDS | ||||||||||
| HubSpot | Company | Intent Score | 6sense | — | 6sense only | Real-time | ||||
| HubSpot | Company | Intent Topics | 6sense | — | 6sense only | Real-time | ||||
| HubSpot | Company | Buying Stage | 6sense | — | 6sense only | Real-time | ||||
| HubSpot | Company | Website Visitor (Y/N) | Warmly | Clearbit/Breeze | Warmly primary | Real-time | ||||
| HubSpot | Company | Hiring Signals | Clay (AI) | — | Clay only | Monthly | ||||
| HubSpot | Company | Recent News / PR | Clay (AI) | — | Clay only | Monthly | ||||
| HubSpot | Company | Job Postings (Sales) | Clay (AI) | — | Clay only | Monthly | ||||
| ICP & SCORING FIELDS | ||||||||||
| HubSpot | Company | ICP Score | Clay | — | Clay only | On trigger | ||||
| HubSpot | Company | ICP Tier | Clay | — | Clay only | On trigger | ||||
| HubSpot | Company | ABM Tier | Clay | — | Clay only | On trigger | ||||
| HubSpot | Company | Target Account (Y/N) | Workflow | — | Derived from ICP + ABM tier | On enrichment complete | ||||
| HubSpot | Contact | Lead Score | HubSpot | — | Recalculated on enrichment | Real-time | ||||
| HubSpot | Contact | MQL Qualified (Y/N) | Workflow | — | Derived from lead score threshold | Real-time | ||||
| DATA QUALITY & META FIELDS | ||||||||||
| HubSpot | Contact | Last Enriched Date | Workflow | — | Auto-stamp | On every enrichment | ||||
| HubSpot | Contact | Enrichment Source | Workflow | — | Auto-stamp | On every enrichment | ||||
| HubSpot | Contact | Enrichment Status | Workflow | — | Auto-stamp | On every enrichment | ||||
| HubSpot | Company | Last Enriched Date | Workflow | — | Auto-stamp | On every enrichment | ||||
| HubSpot | Company | Enrichment Source | Workflow | — | Auto-stamp | On every enrichment | ||||
| HubSpot | Company | Data Staleness Flag | Workflow | — | Auto-flag if >90 days since enrichment | Daily check | ||||
| HubSpot | Company | Enrichment Confidence | Clay (AI) | — | AI confidence score | On enrichment | ||||
| Write Rule | When to Use | Definition |
|---|---|---|
| Never overwrite | Primary identifiers (email, domain) | Field is set on creation and never changed by enrichment. Manual update only. This protects identity fields from corruption. |
| Fill blank only | Most enrichment fields | Enrichment writes only if the field is currently empty/null. Existing values are preserved. This is the safest default for most fields. |
| Primary always wins | Fields with clear authority (e.g., ZoomInfo for job title) | The designated primary source always overwrites, regardless of existing value. Use when one source is definitively more accurate. |
| Normalize only | Company names, formatting | Enrichment cleans/standardizes the existing value (capitalization, abbreviations) but does not replace the core data. |
| Derived / Calculated | Scoring, tiering, classifications | Value is computed from other enriched fields, not written directly by a provider. Managed by workflow/formula logic. |
| Auto-stamp | Meta/audit fields | Automatically set by workflow on enrichment events. Tracks when, how, and by whom a record was enriched. |
| AI only | Custom classifications, persona, sub-industry | Only AI-powered enrichment (Clay AI, custom models) writes this field. Requires confidence scoring and validation thresholds. |
| Conditional overwrite | Fields with time-decay logic | Overwrite existing value only if: (a) existing data is older than X days, OR (b) confidence score of new data exceeds threshold. |
Clay
ZoomInfo
Apollo.io
Clearbit / Breeze
Cognism
6sense
Demandbase
Unify
Warmly
AccountScout
LeanData
Openprise
FullContact
People Data Labs
Lusha
FullEnrich
SyncGTM
Mark ✓ where each tool CAN enrich this field. Multiple ✓'s = overlap to resolve. Use to assign primary ownership.
| Field | ZoomInfo | Apollo | Clearbit / Breeze | Clay | Cognism | 6sense | AccountScout | HubSpot Breeze | Warmly | Overlap Count |
|---|---|---|---|---|---|---|---|---|---|---|
| Job Title | 0 | |||||||||
| Seniority | 0 | |||||||||
| Department | 0 | |||||||||
| 0 | ||||||||||
| Phone / Mobile | 0 | |||||||||
| LinkedIn URL | 0 | |||||||||
| Company Name | 0 | |||||||||
| Industry | 0 | |||||||||
| Employee Count | 0 | |||||||||
| Annual Revenue | 0 | |||||||||
| HQ Location | 0 | |||||||||
| Website | 0 | |||||||||
| CRM Platform (tech) | 0 | |||||||||
| Marketing Automation (tech) | 0 | |||||||||
| Full Tech Stack | 0 | |||||||||
| Intent Score | 0 | |||||||||
| Buying Stage | 0 | |||||||||
| Website Visitor ID | 0 | |||||||||
| Funding Data | 0 | |||||||||
| Hiring Signals | 0 | |||||||||
| ICP Score | 0 | |||||||||
| ABM Tier | 0 |
Score Summary
Overall assessment and section-by-section scoring breakdown. Scores update in real-time as you complete the assessment.
Scoring Guide
Rate each item 1-5 using the definitions below. Section ratings are derived from the percentage of possible points scored.
Critical Gap
No capability, process, or tool in place. Immediate risk to data quality and revenue operations. Requires urgent remediation.
Below Standard
Some effort exists but is ad-hoc, undocumented, or inconsistent. Major gaps vs. best practice. Needs significant improvement.
Acceptable
Functional process in place but with notable gaps. Meets minimum requirements but leaves value on the table. Room for optimization.
Strong
Well-designed, documented, and actively managed. Aligned with best practices. Minor refinements could improve further.
Best-in-Class
Exceeds best practices. Fully automated, measured, and continuously optimized. Could serve as a reference implementation.
Section Rating Thresholds
| Score Range | Rating | Meaning |
|---|---|---|
| 80-100% | Strong | Section is well-managed and aligned with best practices |
| 60-79% | Acceptable | Functional but with meaningful gaps to address |
| 40-59% | Below Standard | Significant gaps that are likely impacting revenue outcomes |
| Below 40% | Critical Gap | Fundamental issues requiring immediate attention |
Enrichment Tool Comparison Matrix
Click cells to cycle ✓ (yes) / ✕ (no) for each tool in the client's stack. Use to identify overlaps and gaps.
| Capability | Clay | ZoomInfo | Apollo | Clearbit / Breeze | Cognism | 6sense | Demandbase | Unify | Warmly | Lusha | LeanData | Openprise | FullEnrich |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Firmographic Enrichment | |||||||||||||
| Contact Email/Phone | |||||||||||||
| Job Title/Seniority | |||||||||||||
| Tech Stack Detection | |||||||||||||
| Intent/Buying Signals | |||||||||||||
| ICP Scoring | |||||||||||||
| ABM Tiering | |||||||||||||
| Waterfall Orchestration | |||||||||||||
| Lead Routing | |||||||||||||
| Deduplication | |||||||||||||
| CRM Native Integration | |||||||||||||
| Real-Time Enrichment | |||||||||||||
| Batch Enrichment | |||||||||||||
| AI/ML Features | |||||||||||||
| API Access | |||||||||||||
| Webhook Support | |||||||||||||
| Custom Data Extraction | |||||||||||||
| Website Visitor ID | |||||||||||||
| GDPR Compliance | |||||||||||||
| Outbound Sequences | |||||||||||||
| IN CLIENT STACK? | |||||||||||||
| PRIMARY ROLE | |||||||||||||
| ANNUAL COST | |||||||||||||
| KEEP / CUT / REPLACE? |