Four data enrichment techniques take a B2B account list from bare export to scored CRM records: a waterfall of data sources, lookups in your own systems, AI scoring with a written reason, and a write-back to the CRM. Most lists of techniques stop at firmographic, technographic, demographic, and intent instead. Those are kinds of data, and naming them adds nothing to the account list sitting in your CRM right now.
This guide walks one list through all four passes, in order. Your own systems here means the billing, support, and product tools you already run. Same accounts in, ranked and explained accounts out.
If you would rather run the passes on your own accounts as you read, connect your CRM to a free workspace first. The Free plan has 200 credits a month, 3 integrations, 3 tables, and 100 rows per table.
The data enrichment process: four data enrichment techniques, one list
Strip away the category talk and there are four working data enrichment techniques, run in a fixed order. The fourth, delivery, is the one most guides skip entirely.
Pass | Technique | What it adds |
|---|---|---|
1. Waterfall enrichment | Data sources, asked one at a time | Work emails, phones, firmographics |
2. Own-system enrichment | Billing, support, product tools you already run | Revenue, ticket history, usage |
3. AI enrichment | Scoring every record against your ICP | A 0 to 100 score and a written reason per record |
4. CRM write-back | Export to the CRM properties you choose | Everything above, on the record your team works in |
The order matters. AI scores are only as trustworthy as the data underneath them, enriched fields that never reach the CRM might as well not exist, and a one-time enrichment starts rotting the day it finishes.
The whole B2B data enrichment process is easier to follow on a concrete list, so here is the starting point for the rest of this guide: 400 accounts exported from a CRM, each with one main contact. That contact's email is missing on a third of them. Industry is a free-text field where "SaaS", "Software", and "software/tech" count as three different values. Revenue data: none. A normal export, in other words. Nobody's CRM is clean.
Load your CRM records in
Every honest answer to how to enrich CRM data starts the same way: get the records out of the CRM and into something built for bulk work. Editing 400 records one profile page at a time is not a technique. It's a punishment.
In Oneprofile, connect your CRM and import its accounts or contacts, and they are ready to enrich right away. A refresh later updates the same records instead of duplicating them. Or enrich a CSV of leads if you'd rather start from an export file.
The gaps become visible before any enrichment runs:
Missing emails, clustered in the accounts that came from a conference list
The free-text industry field in all its inconsistent glory
No data at all for the things you care about most: what they pay you, whether they're active
Open a column's value distribution and the numbers replace the impression: the most common values with their counts and shares, how many are distinct, how many are empty. On a list like this one, the industry field could easily hold a dozen spellings of four industries.
That visibility decides where the credits go. There's no reason to buy phone numbers for 400 accounts when your outreach runs on email.
Waterfall data enrichment techniques: emails, phones, and firmographics
Contact gaps close first. The complication is that no single data source covers everyone: one database is strong on US tech companies and thin in Europe, another is the reverse. Stacking data sources is how coverage climbs. A waterfall asks data sources one at a time and stops at the first one that returns an answer. Checking an email address is a separate step, Verify email, which sits beside the lookup.
Most tools make you assemble that chain yourself: pick data sources, order them, revisit the order when match rates drift. Run the automatic waterfall instead and it orders itself by accuracy and coverage. The most accurate data source runs first, the next one runs only on a miss, and a lookup that finds nothing costs nothing. You also see the run's estimated cost before you start it, which turns "enrich the whole list" from a gamble into a decision.
Each lookup is charged the price of the data source that answered it. The estimate already held the most the run could cost, so most runs come in under it.
On the 400-account list, this pass fills work emails, checked by Verify email, and phones on accounts no single data source would have covered. It also sets consistent firmographics: industry, headcount, and headquarters country, beside the free-text industry mess.
Enrichment from your own systems: billing, support, and product data
Now the pass that data marketplaces cannot run. The most valuable enrichment data about an existing account isn't for sale anywhere, because it only exists inside your own stack. What each account pays you sits in your billing tool. Your support desk knows who is frustrated, and your product database has been quietly recording who logs in and who stopped.
Source | Data it fills | What it tells you |
|---|---|---|
Billing (Stripe) | Subscription status, price, renewal date | Who pays, how much, and when it renews |
Support desk (Zendesk) | Tickets with their status and priority | Who is frustrated right now |
Product database (Postgres) | Whatever your users table holds, such as a last active date | Who uses the product and who went quiet |
Attach your own systems as sources the same way the CRM connected, and their data lands on the right account, matched on a value both sides hold, such as an email or an ID. Import the tickets as a table of their own and link each ticket to its account. A count of the tickets pointing at each account then sits beside it. The 400 accounts now carry revenue and usage context next to the data source firmographics, which is the combination that makes the next pass worth running.
A side note on data decay, since every enrichment article cites a decay statistic and rarely the same source twice. The percentages are hard to trust. The observable version is simpler: fields a system maintains stay correct, and fields a human typed once do not.
AI data enrichment techniques: score, rank, and explain every record
Score every record with AI once contact data and context are in place. The third technique reads each record on its own, against one written standard. Consistency is the point. Pasting one company at a time into a chat window answers research questions fine. Scoring is different, because a score only means something when every account was held to the same written standard.
In Oneprofile you describe your ideal customer once, and AI scores each record on its own against that description from 0 to 100, with a band (strong, possible, or poor) and the facts that drove it. The reason reads like a good rep's note: B2B software, 140 employees, sells to businesses. Reps skim scores. They act on reasons.
The billing and usage context from the second pass can weigh in too. A Use AI prompt references those fields with a forward slash, so a churn-risk read can cite the last active date and the ticket count by name.
This is also the step where the spreadsheet-and-chatbot workflow genuinely stops scaling. Pasting fifty accounts into a chat window works. At four hundred it truncates and drifts, and at four thousand it was never an option.
Write enriched data back to your CRM
An enriched list nobody's CRM ever sees is a tidy dead end, so the last pass maps the finished data to CRM properties and pushes: score, reason, subscription price, ticket count, verified email. Create those properties in the CRM once, with the right field type, and the type matters more than it sounds. A revenue figure stored as cents in your billing tool (Stripe keeps amounts in the smallest currency unit) and dollars in your CRM will be wrong by two orders of magnitude if it's mapped straight across, so check the unit before you map it. The rest of the write-back mechanics are covered on Oneprofile's data enrichment page.
Put the enrichment on a schedule and run the export after each refresh, which repeats a point from the top of this guide on purpose: enrichment that runs once is a snapshot, and snapshots rot. When a plan changes in billing or a ticket count climbs, the refresh picks it up and the next export carries it to the CRM property without another project.
One setup turns the 400 accounts from a patchy export into a ranked, explained list your CRM can act on. Export your own list and run a sample through: the Free plan gives you 200 credits a month, 3 integrations, 3 tables, and 100 rows per table. That covers at least 20 work emails at up to 10.0 credits each, or 5 phone numbers at up to 39.4 credits each, and more whenever the source that answers costs less. Get started free and run the first pass on your own accounts.

