---
title: "CRM Contact Management: Fields, Decay and a 1-Hour Audit"
description: "Run a CRM contact management audit in one hour: which fields decide routing, how fast records decay, and how to dedupe and refresh them at scale."
canonical: "https://derrick-app.com/crm-data-enrichment/contact-management"
category: "CRM Data Enrichment"
updated: "2026-09-14"
---

# CRM Contact Management

> CRM contact management is the practice of deciding what a contact record must contain, where each field comes from, how often it is refreshed and who owns it when it breaks. It matters because records do not stay correct on their own: B2B contact data decays at roughly 22 to 30 percent a year, driven by job changes rather than typing errors, and nothing in the CRM turns red when it happens. The working version is a field contract of about fifteen fields, a monthly measurement of fill rate, normalisation, verified rate and duplicates, and a refresh cadence scoped to the active tier rather than the whole base.

*Canonical: https://derrick-app.com/crm-data-enrichment/contact-management* · *CRM Data Enrichment*

---

Every revenue team says it has a CRM problem. Open the records and the problem is almost always narrower than that: the tool works fine, the fields inside it do not. Half the job titles describe a role the person left eighteen months ago, a third of the mobile numbers ring a desk nobody sits at, and the segment you built last quarter quietly stopped meaning anything.

That gap has a name. CRM contact management is the practice of deciding what a contact record must contain, where each field comes from, how often it gets refreshed and who is accountable when it breaks. It is not the same thing as buying a CRM, and it is the part almost nobody writes down. This guide covers the definition, the audit you can run in an hour, the arithmetic of what a stale base costs, and the refresh cadence that stops the rot.

## What CRM contact management actually means

CRM contact management is the set of decisions and routines that keep the people in your database identifiable, reachable and segmentable. Three requirements, and they are not the same job. Identifiable means the record points at one real human, not two half records and a typo. Reachable means the email still delivers and the phone still rings the right person. Segmentable means the fields you filter on hold normalised values rather than free text a rep typed at 6pm.

Most definitions stop at storage: a place to keep names, emails, companies and notes. Storage is the easy half. The hard half is that none of those values are stable. A contact record is a photograph of a person at the moment someone created it, and people move. The practice is what keeps the photograph current.

Put plainly, CRM contact management answers four questions for every field you hold:

- **What does this field mean?** One sentence, written down, so two people filling it produce the same value.
- **Where does it come from?** A named source of truth: the rep, the form, a registry, an enrichment pass.
- **How stale can it get?** A maximum age before the value is treated as suspect.
- **Who owns it?** A person, not a team, who gets told when the fill rate drops.

## CRM contact management versus a CRM: the distinction that still matters

A CRM is a system of record for relationships: pipeline stages, activities, deals, forecasts. Contact management is the older, narrower discipline underneath it, and it survives as a separate idea because you can run a beautiful pipeline on records that are wrong. The forecast will still compute. It will just be confidently incorrect.

The practical difference shows up when something breaks. If a deal stalls, that is a CRM question: stage definitions, next steps, ownership. If a sequence bounces at nine percent and the marketing team cannot explain which accounts are mid market, that is a contact management question: the email field and the headcount field failed, and no dashboard will tell you that.

| Question | CRM layer | Contact management layer |
| --- | --- | --- |
| Where is this deal? | Pipeline stage, activity log | Not its job |
| Who do we call first? | Scoring model output | The fields the model reads |
| Why did the send bounce? | Not its job | Email freshness and verification |
| Why are there two Acme records? | Not its job | Dedup key and merge rules |
| Can we segment by headcount? | Filter builder | Whether the field is filled and normalised |

Teams that skip this distinction buy a second CRM every three years and get the same result, because the records are migrated intact. The tool changes. The data does not improve, which is why a [CRM comparison](https://derrick-app.com/crm-data-enrichment/hubspot-vs-pipedrive) should be read through what each tool lets you store and refresh, not through its feature grid.

![CRM contact management: how fast each field decays and when to refresh it](/illustrations/articles/contact-management/cm-v1-decay-by-field.webp)Decay is uneven. Refreshing every field on the same schedule wastes most of the effort.

## The record rots on its own, and no alert fires

This is the single fact that reframes everything else. A contact record is not neutral when you ignore it. It degrades, silently, at a rate that is measurable and roughly predictable.

Industry measurements of B2B contact decay cluster between 22 and 30 percent a year, driven overwhelmingly by people changing jobs rather than by data entry errors. On a base of 20,000 contacts, the low end of that range is around 4,400 records a year drifting out of accuracy. Roughly 85 a week. Nothing in your CRM turns red when it happens.

### Decay is uneven, and that changes the cadence

Decay is also uneven, which matters more than the headline number. Company domain is close to stable: a business keeps it for years. Job title and seniority are volatile, because promotions and reorganisations touch them constantly. Direct dial numbers sit in between, and deliverability of a work email fails the moment the person leaves, often while the address itself still accepts mail for a grace period.

| Field | Volatility | Sensible refresh |
| --- | --- | --- |
| Company name and domain | Low | Yearly |
| Industry, country | Low | Yearly |
| Headcount, funding stage | Medium | Quarterly on active accounts |
| Job title, seniority | High | Quarterly on active accounts |
| Work email deliverability | High | Before every send |
| Direct phone | High | On demand, before calling |

![Anatomy of a CRM contact record you can route on](/illustrations/articles/contact-management/cm-v2-record-anatomy.webp)Four groups of fields, plus the two details that turn a list of fields into a contract.

## Anatomy of a contact record you can route on

Most CRMs end up holding between 40 and 120 properties per contact. Ask the revenue team which ones actually change a decision and the honest answer is usually fewer than 15. Everything else is a field someone created for one campaign in 2023.

The fields that earn their place are the ones a routing rule, a [scoring model](https://derrick-app.com/crm-data-enrichment/hubspot-lead-scoring), a segment or an outreach template reads. A workable minimum looks like this:

- **Identity:** first name, last name, one canonical company, one LinkedIn profile URL.
- **Reachability:** work email plus a verification status and the date of that check, direct phone where it exists.
- **Routing:** country, seniority level, function, company headcount band.
- **Context:** industry, and one or two signals your team genuinely acts on, such as recent hiring or a technology in use.

### The two details that turn a list into a contract

Two details make the difference between a list of fields and a contract. First, every reachability field carries a date, because a verification with no timestamp is an opinion. Second, routing fields hold normalised values from a closed list. If *Industry* is free text you will find eleven spellings of software and your segment will silently miss two thirds of the accounts it should have caught.

## Run a CRM contact management audit in one hour

Before buying anything, measure what you hold. The audit is the second layer of a wider [CRM data strategy](https://derrick-app.com/crm-data-enrichment/crm-data-strategy), and four of its six steps cost nothing but an hour. It also sits in the [CRM enrichment hub](https://derrick-app.com/crm-data-enrichment), next to the rest of the workflow. The audit below fits in a spreadsheet and gives you a number you can defend in a meeting.

1. **Export a sample, not the base.** 200 contacts from your active segment. A full export invites a full cleanup, and a full cleanup is how these projects die.
2. **Fix the columns.** Keep only the 15 contracted fields. Delete the rest from the sheet so they stop distracting you.
3. **Compute fill rate per field.** Count of non empty cells divided by 200. Write the percentage above each column. This is the only number most teams have never seen.
4. **Compute normalisation rate on routing fields.** Count distinct values in *Industry* and *Seniority*. If 200 contacts produce 60 distinct industries, the field is decorative.
5. **Test reachability on a slice.** Take the 50 most recently touched contacts and check whether the work emails still verify. That percentage is your realistic deliverability ceiling, before any copy work.
6. **Count duplicates.** Sort by company domain plus last name. Anything that appears twice is a candidate.

An hour of this produces four numbers: fill rate, normalisation rate, verified rate, duplicate rate. Track them monthly and CRM contact management stops being a feeling and becomes a metric. Derrick covers the mechanical parts of that audit directly in the sheet: [Find Duplicates](https://derrick-app.com/features/find-duplicates) is unlimited and costs nothing, [Enrich Leads](https://derrick-app.com/features/enrich-leads) re-derives profile fields at 1 credit per profile, and [Email Verification](https://derrick-app.com/features/email-verification) checks an address at 1 credit per email on the paid plans.

![Which key to merge CRM contact duplicates on](/illustrations/articles/contact-management/cm-v3-dedup-key.webp)Email feels canonical and is not. Domain plus normalised last name catches the alias problem.

## Duplicates: where they come from and which key to merge on

Duplicates are not a hygiene failure, they are a structural one. They appear wherever two intake paths write to the same object without agreeing on an identity key: a rep adding a contact by hand, a form submission from a personal address, a list import from an event, a sync from a support tool.

The common mistake is deduplicating on email. It feels canonical and it is not. The same person exists as firstname@company.com and f.lastname@company.com, and a genuine job change gives them a third address at a new domain, which is a new record on purpose. A more reliable key for B2B is **company domain plus normalised last name**, with first name used as a tiebreaker. It catches the alias problem and it does not merge two different people who happen to share a mailbox.

### Merge rules, decided before the first merge

Merge rules matter as much as detection. Decide up front which record survives, which fields win when they conflict, and what happens to the activity history. The usual answer: keep the oldest record identifier so reporting continuity survives, take the most recently verified value for every reachability field, and never let a blank overwrite a filled cell.

## A LinkedIn profile is not a contact record

A very large share of B2B contacts now enter the CRM from LinkedIn, and the import is where records are born incomplete. A profile gives you a name, a current company, a headline and a URL. It does not give you a work email, a direct number, a normalised industry code or a headcount you can filter on. The rep pastes what they have, the routing fields stay empty, and the record is broken from day one.

The fix is to treat import and completion as one step rather than two. When a batch of profiles arrives, the missing routing and reachability fields get derived before the records reach the CRM, not after someone notices the segment is empty. In practice that means the profiles land in a sheet, the columns get filled, and only the completed rows are pushed.

Derrick does that part from the sidebar in Google Sheets: [Enrich Leads](https://derrick-app.com/features/enrich-leads) turns a profile URL into the profile fields at 1 credit per profile, and [Enrich Companies](https://derrick-app.com/features/enrich-companies) does the same for the account side at 1 credit per company. Email Finder, at 5 credits per email, and Email Verification, at 1 credit per email, sit on the paid plans. Both are billed per result, which is the right shape for this job: Email Finder charges only when it returns an address. Resolving a profile URL from a first and last name is billed too, at 1 credit per profile.

## What a stale base costs, in numbers you can defend

The argument for contact management is usually made with adjectives. Make it with arithmetic instead, because the arithmetic is not subtle.

Take a modest base: 5,000 accounts, 12,000 contacts, a team of 6 reps. Apply a conservative 22 percent annual decay to the contact side and roughly 2,600 records go stale in a year. Suppose half of them were in an active segment. That is 1,300 outreach attempts landing on the wrong person, a bounce rate that pushes your domain reputation in the wrong direction, and a forecast built on account fields that no longer describe the account.

The cost of preventing it is countable in a way the damage is not. One condition decides the figure: whether each record already carries the LinkedIn URL that enrichment reads. A CRM export rarely does, so from names and domains you resolve the URL first, and that is a second billed step. Count steps, not features.

| Operation | Volume | Credits, URL already held | Credits, from names and domains |
| --- | --- | --- | --- |
| Complete the account side | 5,000 accounts | 5,000 | 10,000 |
| Complete the contact side | 12,000 contacts | 12,000 | 24,000 |
| Quarterly refresh, active tier | 3,000 records | 3,000 | 6,000 |
| Deduplication | Any volume | 0, unlimited | 0, unlimited |

The plans read the same way: 100 credits a month at zero euro on the free plan, then 9 euro on Mini, 20 euro on Standard, 47.5 euro on Plus, 175 euro on Pro and 320 euro on Scale, where the unit cost floors at 0.0016 euro per credit. The comparison teams should run is not licence against licence, it is cost per fresh record against the cost of a quarter spent selling to people who left.

![Where to run a CRM contact management refresh: Sheets, an AI chat, or the API](/illustrations/articles/contact-management/cm-v4-refresh-surface.webp)A cleanup is an event, a cadence is a system. Scope every pass to the active tier.

## Refresh cadence: from Sheets, from an AI chat, from the API

A cleanup is an event. A cadence is a system, and in HubSpot it can be [wired into native workflows](https://derrick-app.com/crm-data-enrichment/hubspot-enrichment-workflows) so it runs on record creation rather than on someone's memory. The difference decides whether your numbers hold twelve months from now, and the right surface depends on who runs it.

- **Google Sheets** when a human should look at the batch before it lands. Export the active tier, fill the columns from the sidebar, eyeball the result, push it back. This is the safest default and the one most RevOps teams start with.
- **An AI assistant over MCP** when the question is one off and conversational: ask for the current company of a list of contacts, get the answer in the chat, act on it. Derrick MCP works with Claude, ChatGPT and any MCP compatible client. Check the plan page for the tier it starts on.
- **The REST API** when the refresh should happen without anyone remembering to run it: on record creation, on a schedule, or triggered by your CRM workflow engine.

A web app is coming soon as a fourth surface for teams that would rather not live in a spreadsheet. Whichever you pick, scope every pass to the active tier. Refreshing the whole base quarterly is how budgets get spent on records nobody will ever call.

![A 30 day plan to fix CRM contact management](/illustrations/articles/contact-management/cm-v5-30-day-plan.webp)No migration and no new tool. A sequence, run in order, on a scope small enough to finish.

## A 30-day plan to fix CRM contact management

Nothing above requires a migration or a new tool. It requires a sequence, run in order, on a scope small enough to finish.

- **Days 1 to 3.** Write the field contract. 15 fields, one sentence each, a named source and a maximum age. Two pages, no more.
- **Days 4 to 7.** Run the one hour audit on 200 rows. Publish the four numbers where the revenue team can see them.
- **Days 8 to 14.** Deduplicate on domain plus last name and agree the merge rules before touching anything. Free and unlimited, so there is no reason to defer it.
- **Days 15 to 21.** Complete the active tier: account fields first, then contact fields, then verification on the addresses you intend to use.
- **Days 22 to 30.** Choose the cadence and the surface, put a date on the next pass, and give each contracted field an owner by name.

Re-run the audit at day 30. If fill rate and verified rate moved and duplicate rate fell, the practice is working and the only remaining question is how often to repeat it. If they did not move, the field contract was too long. Cut it to 10 fields and try again.

## Use Derrick in Claude (MCP) or via API

Derrick isn't only a Google Sheets add-on. The same B2B data enrichment runs as an MCP server (use it directly inside Claude and other AI agents) and as a REST API:

- **Claude / AI agents (MCP)**: connect the Derrick MCP server, then enrich from chat. Setup: /mcp
- **REST API**: call the same enrichment endpoints from your own stack (PLUS plan and up). Docs: https://app1.derrick-app.com/api/v1/docs/

## FAQ

### What is CRM contact management?
CRM contact management is the practice of keeping the people in your database identifiable, reachable and segmentable. It covers which fields a contact record must hold, where each one comes from, how stale it is allowed to get and who is accountable when it breaks. It is narrower than CRM strategy: it governs the data inside the records rather than the process around them, and it is usually the part nobody writes down.

### How is contact management different from a CRM?
A CRM is a system of record for relationships: pipeline stages, activities, deals and forecasts. Contact management is the layer underneath, concerned with whether the records those processes read are correct. You can run a well designed pipeline on contacts whose job titles are eighteen months out of date, and every report built on it will be confidently wrong. The two are complementary and the data layer is the one usually left implicit.

### How fast does CRM contact data decay?
Measurements of B2B contact decay cluster between 22 and 30 percent a year, driven mostly by people changing jobs rather than by data entry errors. On 20,000 contacts, the low end is roughly 4,400 records a year, about 85 a week, with no alert firing. Decay is uneven: company domain is close to stable, while job title, seniority and email deliverability move constantly.

### How many fields should a contact record have?
Fewer than most teams hold. CRMs commonly end up with 40 to 120 properties per contact while the revenue team uses under fifteen. Keep the fields that a routing rule, a scoring model, a segment or an outreach template actually reads: identity, reachability with a verification date, routing fields on closed lists, and one or two signals the team acts on. Deprecate the rest, because unused fields make fill rate meaningless.

### Which key should I use to deduplicate contacts?
Company domain plus normalised last name, with first name as a tiebreaker. Deduplicating on email feels canonical but misses the alias problem, since the same person exists as firstname@company.com and f.lastname@company.com. A genuine job change creates a third address on a new domain, and that one is a new record on purpose. Decide merge rules up front: oldest identifier survives, most recently verified value wins, a blank never overwrites a filled cell.

### How often should CRM contacts be refreshed?
Tie the interval to the field, not to the calendar. Company name, domain, industry and country can wait a year. Headcount, funding stage, job title and seniority deserve a quarterly pass on active accounts. Email deliverability should be checked before every send, and direct phone numbers on demand before calling. Scope every pass to the active tier: refreshing the whole base quarterly spends budget on records nobody will call.

### How much does it cost to keep a CRM base complete?
Count it in operations rather than licences. On 5,000 accounts and 12,000 contacts, a first pass is 5,000 credits for companies at 1 credit per company and 12,000 credits for profiles at 1 credit per profile, assuming each record already carries the LinkedIn URL that enrichment reads. From names and domains alone you resolve that URL first, which is a second billed step, so budget 10,000 and 24,000 instead. Resolving a person's profile URL from a name is on the paid plans, so the free allowance covers deduplication, the company side, and any contact whose profile URL you already hold. A quarterly refresh scoped to a 3,000 record active tier is 3,000 credits. Deduplication is unlimited and free. Derrick starts at 100 credits per month at no cost on the free plan, then 9 euro on Mini, 20 euro on Standard, 47.5 euro on Plus, 175 euro on Pro and 320 euro on Scale.

### Should enrichment happen in the CRM or in a spreadsheet?
A spreadsheet is the safer place to stage it, because a CSV export is the one interface every CRM has and a sheet lets a person inspect a batch before it touches production records. Once the routine is stable, move it to the API so it runs on record creation or on a schedule, or drive it from an AI assistant over MCP for one off questions. Derrick MCP works with Claude, ChatGPT and any MCP compatible client; check the plan page for the tier it starts on.

## Related

- [CRM Enrichment: How to Enrich Your HubSpot or Salesforce Data (Complete Guide)](https://derrick-app.com/crm-data-enrichment/hubspot-vs-pipedrive)
- [HubSpot Data Enrichment: How to Automate It With Workflows](https://derrick-app.com/crm-data-enrichment/hubspot-enrichment-workflows)
- [The State of CRM Data Quality 2026: Decay, Cost and the Enrichment Gap](https://derrick-app.com/crm-data-enrichment/crm-data-quality-report-2026)
- [CRM Data Strategy](https://derrick-app.com/crm-data-enrichment/crm-data-strategy)
- [HubSpot Lead Scoring: Why Your Fit Scores Are Probably Wrong](https://derrick-app.com/crm-data-enrichment/hubspot-lead-scoring)
- [Who Uses HubSpot: 299,458 Companies, and None of Them on a Public List](https://derrick-app.com/crm-data-enrichment/who-uses-hubspot)
- [Lead Scoring Software: A Score Is Only Its Fields](https://derrick-app.com/crm-data-enrichment/lead-scoring-software)
