CRM data enrichment
CRM data enrichment you can audit.
Waterfall enrichment across 15+ providers, validated before anything touches your CRM,
and written back onto the records your reps already use. Every run ships with its ledger,
so you can see what each row cost and what it actually returned.
96.7% coverage across 7,255 companies, one run
Employee counts and job titles for an L&D software company, enriched, validated, and
written back to HubSpot. Measured on 2026-04-27, not modelled. That number is on this
site because I can point at the run that produced it.
What waterfall enrichment actually does
It runs each record through several data providers in cost order instead of buying
everything from one. The first provider that returns a verified answer ends that record,
so you pay for the answer rather than for fifteen attempts at it.
This matters because no provider is good at everything. One is strong on European
firmographics, another on mobile numbers, another on job changes. Buying a single
subscription means paying full price for the 40% of your list it cannot resolve.
- 01
Cheapest first
Providers run in cost order. The first one that answers a row ends that row.
- 02
Only the gaps escalate
The expensive providers never see a record that a cheap one already resolved.
- 03
Every result is validated
Nothing reaches your CRM before it passes verification and an identity check.
- 04
Written back in place
Fields land on the existing record. No CSV to reconcile, no duplicate objects.
- 05
The run is logged
Rows in, rows resolved, cost per validated result. You get the ledger, not a summary.
HubSpot and Salesforce enrichment, written back in place
Enriched fields land on the company and contact records that already exist, so your reps
see the update where they work instead of in a spreadsheet nobody opens. I integrate to
HubSpot, Salesforce, Attio, and Clarify, and to whatever else you run.
Records are matched before they are written. Identity is gated on first name and surname
together, never on one field, because a match on surname alone is how you end up with the
right company and the wrong person, confidently.
Why a high hit rate is a warning sign
An enrichment run that resolves 95% of a cold list is usually broken, not good. Failing
optimistically is the default behaviour of most enrichment code: a loose match, a
fallback that fills the field with something plausible, and the error rate hides inside a
number that looks like success.
So results are scored on cost per validated result, never on fill rate. Emails go through
two-stage verification with catch-all domains handled separately. Phone numbers are
checked for line type before anyone dials one. When a hit rate looks too good, I treat it
as a bug report and go find the bug.
What a run costs, before you commit to it
Every run pilots on zero rows first. That returns the real per-row cost against your
actual data, and only then does the batch go. The spend is logged per run, so cost per
validated contact is a number you can see rather than an invoice you reconcile later.
Provider credits are billed to your own accounts at cost. You keep the accounts, the
pipeline, and the documentation when the engagement ends.
enrichment run
$ run email-waterfall --input leads.csv --rows 0:0
✓ pilot ok · est. 41 credits · proceeding
$ run email-waterfall --input leads.csv --rows 1:250
→ prospeo 118 · dropleads 61 · hunter 33
✓ 212/250 verified emails · validation clean
✓ pushed to CRM · run logged · 38 credits spent
Common questions
What is waterfall enrichment?
Running one record through several data providers in sequence instead of buying from one. The first provider that returns a verified answer ends that record's journey, so you pay for the answer rather than for fifteen attempts. It matters because no single provider is good at everything: one is strong on European firmographics, another on mobile numbers, another on job changes.
Can you enrich data directly in HubSpot or Salesforce?
Yes. Enriched fields are written back onto the existing company and contact records in place, so your reps see updated data where they already work. I integrate to HubSpot, Salesforce, Attio, and Clarify. If you run something else, I integrate to that instead.
How much does CRM data enrichment cost?
A scoped enrichment project starts at $6,000 and ships end to end. A quarterly retainer is $25,000 and covers as many projects as we can ship inside the 90 days. Provider credits are billed to your own accounts at cost, so you see the real price of the data and keep the accounts when we are done.
How do I know the enriched data is actually right?
Every run ships with its ledger: rows in, rows resolved, what each provider contributed, and the cost per validated result. Identity is matched on first name and surname together, never on a single field, and emails go through two-stage verification before writeback.
How long does an enrichment project take?
One to two weeks of planning, then two to four weeks to build and run the pipeline. A list-level run against an existing file is faster than that, usually days.
Send me 100 rows.
If you want the real number instead of an estimate, send a 100-row sample of your list.
I will run it through the same waterfall and send back what is stale, what changed, and
what it cost per validated result. No charge, and no obligation after it.