Get 1 month of Premium free

Use the code at checkout

00Days
00Hours
00Mins
00Secs
Claim 1 month free

BlogCRM & Sales

CRM Data Hygiene: 12 Rules That Prevent a Useless Database

Keep a CRM usable by capturing fewer fields and enforcing the ones you keep. Require an owner, a stage, and a dated next step on every record, use fixed lists instead of free text wherever you will want to count something later, and close dead records rather than leaving them open.

Why CRMs rot

Almost every rotten CRM got there the same way. Not neglect, but well-intentioned over-capture at the start.

Someone sets it up, adds thirty fields because each one might be useful for reporting later, and the team dutifully fills them in for a month. Then a busy week arrives and the optional fields get skipped. Then the required ones get filled with placeholder values so the form will save. Six months later the database is 60% populated, nobody trusts a report generated from it, and a spreadsheet has quietly reappeared beside it.

The underlying rule

A field gets filled reliably only when someone needs it to do the next thing. Fields that exist for a report nobody reads will be empty within two months, and half-empty fields make the whole record untrustworthy.

The 12 rules

  1. One owner per record, always a person

    Not a team, not a shared queue. A named human who is accountable for that record being accurate.

    Shared ownership of data means nobody notices when it goes stale, and it is the most common reason a pipeline drifts away from reality.

    Never a team
  2. Every open deal has a dated next step

    Two fields: what happens next, and when. Enforced, not encouraged.

    This one rule does more for pipeline quality than any other. A deal with no dated next step is not being worked, whatever its stage says.

    The highest-value rule here
  3. Fixed lists wherever you will want to count

    Loss reason, lead source, industry, deal type. If you will ever want to group by it, it cannot be free text.

    Free text is fine for context nobody will aggregate. It is useless for anything you will later want a number from.

    Count it later, list it now
  4. One unique key, enforced on every route in

    Usually email address. Every import, form, and integration matches on it before creating anything.

    Duplicates are not a cleanup problem, they are a capture problem. Fixing the entry points is the only thing that stops them recurring.

    Usually email
  5. Close dead records, with a reason

    A deal nobody has touched in 90 days is not open, it is clutter inflating your pipeline value.

    Closing it lost with a reason is not admitting defeat. It is the only way the forecast means anything and the only way loss reasons accumulate into something you can learn from.

    90 days, then decide
  6. Six required fields, no more

    Contact, company, stage, value, next step, next step date. That is enough to run a business.

    Every required field beyond this is a tax on every single update, paid by the people you least want doing admin.

    Six is plenty
  7. Stages describe the customer, not your activity

    "Demo Done" records what you did. "Solution Agreed" records what they confirmed.

    Activity-based stages always forecast optimistically, because activity is entirely within your control and buying is not.

    Their confirmation, not your effort
  8. Notes record decisions, not narration

    "Wants pricing for 12 seats before Friday, decides with the CFO" is worth keeping. "Good call, went well" is not.

    The test: could a colleague pick this up cold and act on it? If not, the note has recorded that a call happened, which the activity log already knows.

    Actionable, or leave it out
  9. Never let a second source of truth start

    The moment a private spreadsheet appears, the CRM is downgraded to a reporting chore and the real data lives elsewhere.

    When you find one, ask what the CRM could not do. It is usually a genuine gap, and fixing it is cheaper than fighting the spreadsheet.

    Ask why it exists
  10. Automate what people forget, not what they decide

    Stale-deal flags, follow-up reminders, and duplicate checks are safe to automate. Stage changes are not.

    Automating a judgement encodes a guess as a fact. Our guide to [what to automate first](/blog/what-to-automate-first) covers the line in more detail.

    Flag, do not decide
  11. Import with a dry run, always

    Map the columns, import ten rows, inspect them, then do the rest. Never import a thousand rows straight into a live database.

    Bad imports are the single fastest way to destroy trust in a CRM, and they are almost impossible to unpick afterwards.

    Ten rows first
  12. Review the rules quarterly, in 20 minutes

    Which fields are under 80% filled? Which have never been used in a report? Delete them.

    Removing a field is the cheapest quality improvement available, and it is the one nobody ever schedules.

    Delete more than you add

Which fields to keep

KeepReasonCut
OwnerAccountability for accuracySecondary owner
StageThe core of any forecastPer-deal probability percentage
ValuePrioritisationWeighted value as a stored field
Next step and dateThe forcing functionFree-text "status"
Decision makerWho actually says yesFull org chart
Loss reason, from a listThe only honest learning loopFree-text loss notes
Source, from a short listWhere good deals come fromNested source sub-categories

The right-hand column is not useless information. It is information that will not be maintained, and a field that is 40% filled makes every report built on it misleading in a way an absent field does not.

Cleaning one that has already rotted

A weekend of deletion, not a quarter-long project.

Close everything untouched in 90 days. Bulk action, one reason code such as "no response". You are not deleting the contacts, only the fiction that these were live deals.

De-duplicate on email. Merge, keep the oldest created date, keep the most recent activity. Do this before anything else, because every other count is wrong while duplicates exist.

Delete fields under 80% filled unless a report actually uses them. Export first if you are nervous, then delete.

Re-stage what is left against real exit criteria. Expect this to be uncomfortable. Deals you believed were close will land in earlier stages, and the pipeline total will drop. That drop is the point: you are replacing a number nobody trusted with one you can plan against.

Write the rules down on one page and put them where new joiners will see them. A process that lives only in one person's head has the same problem as a spreadsheet. Our guide to documenting a process covers what that page needs.

The reason any of this matters is what happens downstream. A clean CRM makes the weekly pipeline review a 30-minute decision meeting instead of a data-correction session, and it makes a handover possible without a two-hour briefing. Kin enforces the validation and idempotency side of this, so repeated imports and agent actions cannot quietly create the duplicates you just spent a weekend removing.

Frequently asked questions

How often should you clean a CRM?
Continuously, through rules that prevent bad data, plus one quarterly sweep for duplicates and stale records. A CRM that needs an annual clean-up project has a capture problem, and the project will be needed again next year.
What causes duplicate records?
Imports without a matching key, two people entering the same contact from different sources, and integrations that create rather than match. Pick one field as the unique key, usually email address, and make every import and integration match on it.
Should sales reps be responsible for CRM data quality?
For their own records, yes, but only if updating is faster than the alternative. If the pipeline review, the forecast, and the handover all run off CRM data, updating becomes the shortcut. If people are asked for separate status updates as well, the CRM will always be second.
How many fields should a CRM record have?
As few as the next action requires. Six required fields on a deal is plenty for most small teams. Every additional required field is a tax on every update, and optional fields that are half-filled are worse than absent ones because they look like data.
What is the most useful field most teams do not have?
A loss reason chosen from a short fixed list. Filled in every time, it becomes the only honest record of why deals do not close. As free text it is worthless, because nobody can aggregate it.
Danish Khan

Danish Khan

CEO & Founder, Siela

Danish Khan is the CEO and founder of Siela, an AI-native workspace where teams and AI agents run CRM, meetings, tasks, and daily work together on one shared context layer.

Connect on LinkedIn

Published