GLOSSARY

What is Contact Enrichment?

Contact enrichment is the process of attaching additional attributes (job title, company size, location, timezone, social handles, phone) to a contact record you already hold, using sources other than what that contact typed into your form.

Free forever plan · No credit card required · Cancel anytime

Quick definition

Contact enrichment is the process of attaching additional attributes (job title, company size, location, timezone, social handles, phone) to a contact record you already hold, using sources other than what that contact typed into your form.

In a single sentence: you have an email address, and enrichment turns it into a person you can decide about.

What it means

Contact enrichment starts from a record you already have. Somebody filled in a form with a name and an email, or wrote to you on Telegram with nothing but a handle, or landed in your CRM from an import with three populated columns. Enrichment fills in the rest: job title, seniority, company, company size, industry, country, timezone, other social handles, a phone number, the business category.

The word covers two quite different activities sold as one. Company enrichment attaches facts about an organisation: sector, headcount band, address, website, registry data. Most of that is public by design and the ethics are uncomplicated. Person enrichment attaches facts about a human being: their role, their phone number, their profiles. That is personal data, it carries legal duties, and it decays far faster. Treat them as separate pipelines with separate rules, even when one vendor sells both in the same call.

What enrichment is for is deciding. A record holding nothing but an email cannot be routed, scored, prioritised or written to sensibly. Enrichment exists so the next decision is better, not so a field is populated.

Sources, ranked by how much you should trust them

  1. First-party, self-reported. What the contact typed themselves. Highest trust, and the data you are most clearly entitled to use.
  2. First-party behavioural. What your own systems observed: the channel they wrote from, the pages they read, the pricing tier they looked at. Nobody else has this, and it predicts intent better than any purchased attribute.
  3. Public web and public records. Company sites, business registries, business catalogues, public social profiles. Accurate for firmographics, weaker for a named individual's current role.
  4. Third-party vendor APIs. Convenient and furthest from the source: somebody else's aggregation of the layer above, at a lag, with a confidence you cannot inspect. Never treat a vendor field as ground truth when a first-party field disagrees.

Match keys and why most of them fail

Every enrichment lookup needs a key: something on your record that can be matched against something on theirs. The quality of your enrichment is mostly the quality of your keys, and keys have to be normalised before they can match anything. The reference table below covers the four in daily use, what each needs before it works, and how each one fails.

The most common self-inflicted wound is phone numbers. A Turkish mobile stored as 0532 000 00 00 and the same number as +90 532 000 00 00 are one phone and will never match as strings. Normalise to E.164 at import with an explicit default country and the phone match rate jumps for free. The same discipline drives deduplication, which is why the two share a normalisation layer in any well-built CRM.

Match rates: plan for the misses

This is where enrichment projects go wrong. Coverage on B2B work email is commonly cited in the 40 to 70 percent range, and that figure describes a good vendor on a large, English-speaking, mid-market list. Outside that comfort zone it thins out fast: consumer contacts, sole traders, companies under ten people, and non-English markets. In Türkiye specifically, firmographic coverage from public records is decent while person-level coverage from global vendors is poor, and assuming both will land is how a launch slips a month.

The consequence for message design is concrete. If a template depends on {{jobTitle}} and only 45 percent of the segment has one, then either the fallback carries 55 percent of the sends, or you split the segment and write two versions. Run the null audit described in merge variable before you write the copy, not after.

Confidence, provenance and decay

An enriched field is not a fact. It is a claim, from a source, at a point in time. Store it that way. Every enriched value in a serious CRM carries three things alongside it:

  • Source. Which system said so. You need this to answer a data subject request, to debug a bad campaign, and to decide which value wins when two disagree.
  • Confidence. How sure the source was. A vendor that returns a probability is more useful than one that returns a string, because you can set a threshold instead of hoping.
  • Fetched-at timestamp. When you learned it. This is the field that lets you expire data instead of accumulating it.

Decay is the part people underestimate. Job changes are commonly cited at a few percent of a B2B list per month, and that compounds: leave a list untouched for two years and a large share of its titles and employers are wrong. Location, industry and headcount band age slowly enough to ignore. Personal role data ages fast, and it is exactly what people put in the first line of a cold message. Set an expiry per field type rather than per record, and treat a personalisation-critical field past its expiry as missing until it is refreshed. That one rule prevents most of the embarrassing sends.

The enrichment waterfall

A waterfall is an ordered chain of sources that stops at the first confident answer. It exists for two reasons: cost, and trust order. The cheapest sources are also the ones you should believe most, so the ordering that saves money is the same ordering that improves quality. The four-step design we use is laid out in the panel below.

Three implementation details make the difference between a waterfall that works and one that quietly burns credits. First, stop on a confident match, and define confident as a number, not a feeling. Second, cache the misses: if a vendor has nothing for an address today, record that and do not ask again for a defined period, because paying repeatedly to learn the same nothing is the most common line item on an oversized enrichment bill. Third, gate the paid step on qualification. A contact that has done nothing does not deserve a paid lookup; a contact that replied, booked, or hit a lead magnet does.

Write-back discipline

The rule that saves the most pain: enrichment writes to its own fields, never over a human's. If a contact typed their job title into your form and a vendor disagrees, the contact is right. Keep jobTitle and jobTitleEnriched separate, resolve at read time with human input winning, and show the source in the UI so whoever opens the record knows whether they are reading a fact or a guess. The same applies on re-enrichment: a newer vendor answer is not automatically better, it is newer. Compare confidence as well as recency, and keep the previous value in an audit trail, because enrichment that cannot be rolled back is a one-way write to your most valuable table.

Privacy, in plain terms

Enriching personal data from third-party sources brings duties that enriching company data does not. Under GDPR, data obtained about a person from somewhere other than that person triggers Article 14: you have to tell them what you hold, where it came from, and why, normally within a month or at your first communication with them. You need a lawful basis for the processing, and if the person asks for their data or its deletion you have to be able to identify the enriched fields and their sources. That is the practical reason provenance is not optional bookkeeping.

This is a summary and not legal advice; jurisdictions differ, and your vendor contract matters as much as the regulation.

Why it matters

Enrichment changes three things that show up in revenue. Routing: a contact with an industry and a headcount band goes to the right person automatically instead of sitting in a queue. Prioritisation: scoring cannot work on an empty record, so enrichment is what makes lead scoring better than guessing. Relevance: mentioning a real detail rather than none is the difference between a reply and a report, especially on DM channels where the report button is one tap away. It also decides what your omnichannel CRM can do at all, because a Telegram handle with no other attribute cannot be matched to the email that wrote to you last week.

Common mistakes

  • Enriching everything. Per-record pricing plus a full database equals a bill for data nobody will read. Enrich on qualification.
  • Trusting a vendor field over a human field. The contact knows their own job title.
  • No timestamp. Without a fetched-at you cannot expire anything, so your data quality only ever decreases.
  • Matching on unnormalised keys. Raw phone strings and mixed-case emails throw away match rate you already paid for.
  • Enriching data you cannot explain. If you cannot name the source when asked, you should not be holding the field.

Related concepts

  • Deduplication: the partner process. Enrichment is worthless when the same person exists three times.
  • Merge variable: where enriched fields become visible text, fallbacks included.
  • Lead scoring: the consumer of enriched attributes.
  • Cold outreach: relevance is a list problem before it is a copy problem.
  • Unified inbox: one enriched profile behind every channel the contact writes from.
  • Omnichannel CRM: the system that has to hold all of it in one record.

How Pinlyx handles it

Pinlyx enriches in the order described above. First-party data comes free with the channel: a Telegram, X, WhatsApp, Instagram or email conversation carries identity, locale and behaviour into the contact record without a lookup, and derived fields are computed at import (company domain from a work address, country from an E.164 phone, timezone from country). For the public layer we run our own data side rather than reselling somebody else's: the Pinlyx Data API covers public social profiles and our business catalogue holds public business records, so firmographic enrichment for a Turkish company runs against local data rather than a global vendor with thin coverage.

Every enriched value stores its source, confidence and fetched-at timestamp, enriched fields never overwrite what a human typed, and the record shows where each value came from. Pre-send audits count fallback hits per merge variable, so you know how much of a segment is really enriched before you write copy that depends on it.

Match keys · normalise before you match

Your match rate is mostly a normalisation problem.

Four keys, what each one needs before it can match anything, and the way each one fails in production.

Work email address

Strongest key for a person

Normalise

Lowercase, trim, strip the plus-tag on providers that use one. Do not strip dots except on providers that genuinely ignore them.

Fails when

Personal addresses match almost nothing in a B2B dataset, and a role address such as info@ or destek@ identifies a company, never a human.

Company domain

Strongest key for a company

Normalise

Lowercase, drop the www prefix, resolve the registrable domain rather than a subdomain.

Fails when

Groups sharing one domain across subsidiaries collapse into one company. Free-mail domains must be excluded before this key is used at all.

Phone number

Strong when normalised, useless when not

Normalise

Convert to E.164 with an explicit default country. A Turkish number stored as 0532 000 00 00 and as +90 532 000 00 00 are the same phone and will never match as text.

Fails when

Shared landlines, reassigned mobiles, and switchboard numbers attach several people to one key.

Social handle

Weak

Normalise

Strip the leading at sign and the URL wrapper, lowercase, and store the platform alongside it.

Fails when

Handles are recycled after deletion, so a handle you matched last year may belong to somebody else now. Store the platform user id when the platform exposes one, because the id is stable and the handle is not.

The enrichment waterfall

Cheapest source first, and stop on a confident match.

The order that saves money is the same order that improves quality, because the cheap sources are the ones closest to the truth.

Step 1Free

What you already hold

Look inside your own workspace first. The contact, or a colleague of theirs on the same domain, may already carry the field. Derive what is derivable: company domain from a work email, country from an E.164 prefix, timezone from a country.

Step 2Free

First-party behaviour

Signals your own product generated: which pages they read, which channel they wrote from, what they said in a conversation. This is the highest-trust data you will ever have because you observed it.

Step 3Cheap

Public records and public web

Company registries, business catalogues, the company website, public social profiles. Good for firmographics, weak for a specific person’s current role.

Step 4Per record

Paid vendor lookup

Only for contacts that cleared a qualification bar. Stop the waterfall on a confident match, and cache the misses so you never pay a second time to learn the same nothing.

The test that beats the checklist

Would you show the contact their own record?

Every field, plus where it came from, plus when you fetched it. If any row on that screen would make you uncomfortable, do not collect that field. The rule is stricter than the regulation and far easier to apply, and it keeps you on the right side of the Article 14 duty to name your sources.

Company data usually passes without a second thought. Personal data is where the test earns its keep. This is a summary, not legal advice.

Watch out for

A wrong field is worse than an empty one.

An empty field triggers a fallback and the message still reads like a message. A stale job title tells the recipient you bought their details and never checked them. Expire personalisation critical fields on a timer, treat anything past its expiry as missing, and refresh it only when a contact is worth the lookup.

Contact enrichment: FAQ

What operators ask before they wire a paid enrichment step into the import pipeline.

Lower than the vendor deck suggests. Coverage on B2B work email is commonly cited in the 40 to 70 percent range for English-speaking markets, and it drops sharply for consumer contacts, for smaller companies, and for markets outside the vendor’s core geography. If your plan requires 95 percent coverage to work, the plan is the problem. Build the campaign so the un-enriched majority still receives a message that makes sense.
Enrichment itself is not prohibited, but collecting personal data about someone from a third party triggers obligations. Article 14 requires you to tell the person what you collected, where it came from and why, generally within a month or at first contact. You also need a lawful basis, and you must be able to name the source when asked. Company-level data about a business is a much lighter case than personal data about an individual. This is a summary, not legal advice; check your own jurisdiction and your DPA with the vendor.
Job titles and employers rot fastest. A few percent of a B2B contact list changes role every month is the commonly cited figure, which compounds into a large share of a list being wrong within a year or two. Location and timezone are more stable. Company size and industry are stable enough to be safe. The practical rule: the more specific and personal the field, the shorter its useful life, and a stale job title in your first line reads worse than no job title at all.
No, because per-record pricing turns that into a large bill for data you will never use. Gate enrichment on lead score or pipeline stage: enrich a contact when something they did makes the extra field worth paying for. A useful default is to enrich on qualification, not on capture.
It should never be able to. Store enriched values in their own fields with a source, a confidence and a fetched-at timestamp, then resolve conflicts at read time with the human-supplied value winning. If a contact typed their own job title and a vendor disagrees, the contact is right and the vendor is a guess.
Enrichment adds facts, lead scoring interprets them. Enrichment tells you the contact works at a 200-person logistics company in Izmir; scoring decides whether that makes them worth a sales touch this week. Enrichment feeds scoring, and scoring should feed back into which contacts get enriched next.
Ready to ship

Know who you are writing to. Sources included.

Pinlyx enriches from first-party channel data, public business records and our own Data API, and stamps every value with a source, a confidence and a timestamp.

Free forever plan · GDPR-ready · No credit card required

We value your privacy

We use cookies to improve our site, analyze traffic, and personalize ads. You can accept all, reject non-essential, or customize your choices. Read our Cookie Policy.