Definition

Match the enrichment tool to the data object

B2B contact and account enrichment are different from product-catalog enrichment. If the job is completing product attributes, categories, images or SKU descriptions for commerce, evaluate tools for that catalog and its publishing destinations. The contact and company workflows covered here should not be read as a product-information-management recommendation.

For a file upload, define the input identity and validate the file before calling providers. The incoming CSV validation guide covers that gate. For a trial signup, preserve the signup event and enrich independently using the signup workflow.

A prebuilt enrichment package should still expose its input fields, output contract, current stages and failure behavior. Inspect the maintained Play before running it, then review a representative pilot as shown in the waterfall guide. A package name alone does not establish that it fits your data or destination.

What data enrichment adds to a record

Data enrichment adds missing or updated attributes to an existing record. For a B2B contact, that might be a work email, current employer, role, or profile URL. For a company, it might be an industry, location, or technology signal. The output is useful only if it belongs to the right identity and satisfies the decision you need to make.

This guide helps you design the acceptance contract for enrichment: what counts as a usable record, which source can establish it, and when a proposed value is safe to use. For execution commands, use the waterfall enrichment guide. For the product layer behind it, see Deepline's GTM execution layer.

Email enrichment finds or verifies an address. Email delivery services send messages. A verified work email does not establish consent, satisfy your channel rules, or guarantee delivery to an inbox.

Start with the decision, then choose the fields

DecisionMinimum useful outputReject or review when
Route an inbound companyMatched company identity and the territory field your routing rule usesA shared domain or conflicting location makes the match ambiguous
Find a buying-committee contactMatched person, current employer and a role that meets your definitionA title is plausible but the employer or role evidence is stale
Prepare outreachMatched person and work email accepted by your validation policyThe address is invalid, catch-all status is unresolved, or channel rules prohibit contact
Refresh CRM dataExact CRM record, proposed field, source and a permitted updateThe current value has a trusted owner or changed since the proposal

Do not buy or collect fields merely because an API returns them. Each additional field adds a validation and maintenance obligation. Preserve the original record identifier so an output can be joined back without fuzzy matching a second time.

Choose single-source, waterfall or parallel lookup

PatternUse it whenAcceptance rule
Single-sourceA known source can provide the field with adequate evidenceValidate the result; a successful HTTP response is not a verified identity
Sequential waterfallAnother source can fill missing or rejected valuesStop only when a field passes the declared rule
Parallel comparisonConflicting evidence needs comparison, and extra requests are justifiedResolve agreement, freshness and authority explicitly; more responses do not automatically mean better data

Provider order should come from a representative evaluation of your inputs. A low advertised request price can become expensive if most outputs are unusable. Conversely, do not keep calling sources after the required fields have passed.

A worked acceptance example

The following records are illustrative, not customer data or a provider benchmark. The task requires a matched person at the current employer and a validated work email. A CRM field owned by sales must not be overwritten.

RecordEvidence receivedDecisionReason
ACurrent employer matches; email passes validation; destination field is emptyPropose the email updateAll required checks pass; still read the CRM record before writing
BValid email but a different employerReview identityDeliverability does not prove the person is the intended contact
CIdentity matches; email is missingContinue lookup if the budget permitsA successful lookup with no field is not a transport error
DRequest failed before a result was establishedReconcile the attemptDo not treat an ambiguous request as a completed no-result or assume a retry is free
EIdentity and email pass; CRM value is protectedKeep the existing valueA valid enrichment result does not override field ownership

This example separates usable enrichment from authorized CRM updates. Record E can count as a usable enrichment result while still being ineligible for an automatic write. Keep those denominators separate.

Measure cost per usable record

Use the customer-facing Deepline charges actually recorded for the evaluation. A tool quote is a planning input, not a settled charge. Include charged lookup, validation and retry work; do not substitute internal provider cost for the customer's cost.

Cost per usable record = total charged amount for the evaluation / distinct records meeting every required acceptance rule.

For an illustrative calculation updated September 13, 2026, suppose the recorded charge is $12.00 and 80 distinct records pass. The result is $0.15 per usable record. If 100 requests returned data but only 80 records pass, dividing by 100 would understate the cost. These numbers demonstrate the calculation; they are not Deepline rates, a measured benchmark or a prediction.

Report the input count, duplicate count, accepted records, rejected records, unresolved errors and actual charge together. If no record passes, report zero usable records and the amount spent; do not display $0 per usable record. For BYOK evaluations, account for separately billed vendor charges when comparing your total budget, while keeping them distinct from Deepline charges. Use current pricing and inspect the selected tool before estimating a run.

Run a representative evaluation

  1. Define the required fields and acceptance rules before seeing provider results.
  2. Select an authorized sample covering your real input quality, geographies and company types. Keep known identities for checking false matches.
  3. Deduplicate the inputs and retain stable record IDs. Record the sample date and selection method.
  4. Inspect the current workflow's input, output and pricing contract. Pilot it before scaling.
  5. Evaluate accepted results against independent evidence where available. A provider's confidence score is evidence to assess, not ground truth.
  6. Record the complete charged amount, failure states and rejected results alongside accepted coverage.
  7. Keep a holdout sample for checking the next workflow version. Compare like-for-like cohorts, not two unrelated lists.

A useful evaluation artifact contains record_id, the proposed field, source, observation time, identity decision, validation decision, workflow version and final disposition. Store sensitive contact information only in an approved system. A public write-up can show anonymized outcomes and methodology without publishing personal data.

Keep CRM changes explicit

Read the destination record before preparing the update. Compare its current value with the value the proposal was based on. If the record changed, return to review rather than replacing the new value.

Write only the approved fields with the supported CRM action, then read the record back to verify the result. Keep the prior value, proposed value and response in an audit trail. An ambiguous response requires reconciliation before retrying. An audit trail alone is not a rollback mechanism.

See the CRM validation and safe-write guide for the decision table. This is a workflow design method, not a claim that every enrichment tool automatically supplies conflict detection, approval or rollback.

Implement the workflow you evaluated

Start with the quickstart, then inspect the waterfall enrichment workflow. Use the B2B waterfall use case to check the operating rules and the Claude Code workflow collection for possible applications.

Choose a specific supported workflow, inspect its current contract and test authorized inputs. Preserve the acceptance rules when you turn the pilot into a scheduled or reusable process. A larger provider list is useful only when it improves the result you defined.

Common questions

1What is data enrichment?+

Data enrichment adds missing or updated attributes to an existing record. A useful result matches the right identity, passes a field-specific validation rule, and retains its source and observation date.

2How is enrichment different from email sending?+

Email enrichment looks up and validates a work email for a person. Sending infrastructure delivers a message. Finding a valid address does not establish permission to contact it or guarantee inbox placement.

3When should I use a waterfall?+

Use sequential lookup when another source can fill a missing or rejected field. Stop when the field passes the acceptance rule. Use parallel comparison when resolving conflicting evidence is worth the additional requests.

4How do I measure cost per usable record?+

Divide the total customer-facing charge for a completed evaluation by the number of distinct records that meet all required acceptance rules. Include charged validation and retries. If no record passes, report zero usable results rather than a misleading zero cost.

5Can enrichment overwrite my CRM?+

An enrichment result should be a proposed change. Define field ownership, match the CRM record, review conflicts, and inspect the current write action before authorizing an update. Do not assume a provider lookup includes rollback or safe merging.