
Bad CRM data is never one big problem. It is the same six small ones, in company after company.
I have now worked inside about ten CRM systems, across different companies, industries and platforms. I have never once found one where keeping the data clean was a real job that someone owned and someone funded. Not once.
What I found instead, every single time, was some version of the same six problems. And a company paying for them without knowing that was what they were paying for.
Here is the one that stayed with me. I once went through every automation running in a company’s marketing system. Hundreds of them, built up over years by a string of agencies and staff who had all since left.
About 80% of them existed only to fix data.
Rewriting a location value. Filling in a blank field. Correcting something that had been entered wrong in the first place. Not one of those automations sent a customer an email. Not one moved a deal forward.
That is what a marketing platform turns into when nobody owns data quality. It becomes a repair shop, running cleanup jobs in the background, while still being paid for as a growth tool.
This post is the bill. Everything below comes from real audits. I have removed the names and blurred the details.
Let’s start with the honest reason, because it isn’t laziness.
Clean data has no launch date. No demo. No chart that goes up and to the right. You can’t put it on a slide. Nobody has ever been promoted for merging duplicate records.
It is also invisible when it works. You only notice good data as the absence of a problem. Leads reach the right person, so nobody thinks about lead routing. The forecast holds up, so nobody praises the forecast.
You notice data quality on the day it breaks. By then it has been breaking slowly for two years.
So this work loses every argument about priorities. It loses to the campaign launch, the new website, the AI project. It loses because the person defending it is arguing against a problem that hasn’t happened yet. The person on the other side is arguing for something good that could happen next month.
And it builds up. That is the part people miss. Bad data is not a fixed bill you can settle later at the same price. It grows. I’ll come back to what that eventually does to your ability to settle it at all.

At one company, more than 9 out of 10 leads were sent to a salesperson based on location. That one field decided who got the lead, which campaign it belonged to, which language it was contacted in, and which forecast it landed in.
At least 40,000 contacts had no location value at all. Possibly more than double that.
The vagueness is part of the story. Three people gave me three different figures in three different meetings, because nobody owned the number. It grew every time somebody looked harder.
One empty field broke lead routing, campaign targeting, language selection and the forecast at the same time. It just never showed up as four separate problems.
Go and check yours. Take the one field your lead routing depends on and count the blanks.
Here is the fastest CRM check I know. Open your list of fields and search for anything starting with “true_”.
At one company I found six fields that all held some version of location. The original one. One called true_country. A plain text version. Three more variants. Plus a true_state sitting next to them.
Somewhere else, eight fields all holding a job title.
Nobody sat down and decided to build six versions of the same thing. What happens is that one person stops trusting the original field. Rather than fix it, they make a new one and call it “true_”. Then the next person does the same thing to that one.
That “true_” prefix is a marker. It shows you the exact moment the company gave up on the field underneath.
The real cost isn’t storage. It’s that every form, every automation, every list and every report now has to pick one of six. Different people picked differently. Which leads straight to the next problem.
Across three years of leads, more than 1 in 10 had a location that contradicted itself. The wider region said one thing. The country said something else entirely.
The cause was almost clever. The region field wasn’t filled in from the lead’s own address. It was filled in from the region of the salesperson who owned the lead.
Someone had changed that years earlier, most likely to make a dashboard filter work. They never renamed the field.
So the field was doing exactly what it had been built to do. It just had a name describing something else. Nobody was wrong. The field was.
Here is the part that should worry you more than the number. The data team already knew. They had been correcting it further down the line in their reporting models for years. New location appears, add a fix. And another. Forever. Rather than repair it at the source.
At some point it stopped being a bug and became somebody’s job.
Name your fields for what they hold. Not for what someone once wanted to filter by.
Over 150,000 contacts with no owner assigned.
The reason was dull. The owner field was filled in from the CRM, so a record that was never assigned there simply stayed blank. Nothing ever went back to check.
These records are not just “not worked yet”. They are unworkable. They don’t show up in anyone’s list, don’t trigger anyone’s reminders, don’t count toward anyone’s target. The company paid to bring them in, then built a system that guarantees nobody will ever call them.
Decades of data. Spreadsheet to spreadsheet to one CRM, then to another. Never checked at a single step.
Records inherited from systems that no longer exist. Loaded in by an agency during setup, from a pile of spreadsheets. The notes explaining what they did were never handed over.
Every migration is a chance to clean up. Almost every company treats it as a reason to hurry. Moving the data is the deliverable. Checking it isn’t on the plan, because checking it would delay go-live, and go-live is what everyone is watching.
So the mess just changes address.
The clearest symptom I have seen: a company switched on personalised emails, then switched them back off. The data was wrong often enough that personalised messages performed worse than sending nothing personal at all. They had built the capability and could not use it.
Clean data isn’t only about records. It’s about who can change them.
One access review found close to 300 paid seats, and more than 100 people who hadn’t logged in for over a year. Dozens of those seats could have been cancelled or downgraded on the spot.
More seriously: half a dozen outside agencies still had full access to the live system. Several were no longer working with the company. Developers had full access to the live system when they only needed a test one. And all changes were being made directly in the live system, which meant test records were reaching real salespeople who had no way of knowing they were fake.
Underneath all of it, several thousand of the company’s own employees were flagged as marketing contacts. Every one counted toward the platform bill and sat inside campaign audience numbers.
They were paying to market to their own staff, and paying agencies they had stopped working with for the privilege of editing the database.

Everything above is a cause. Here is what it bought.
Money spent on nothing. Several thousand employees billed as marketing contacts. More than 100 unused seats. Two full language translations paid for and produced for a market where the database held a few dozen reachable people. A data subscription up for renewal that nobody could show a return on. Most of the database was too old to be worth paying to improve, so only the last two years were worth touching at all.
Sales processes that quietly stopped working. At least 1,300 records completely blocked from reaching the CRM — more than 700 stuck on permission problems, about 600 on mismatched location data. Because of how the connection worked, one bad field on one person blocked everything that person did from then on, including orders. Elsewhere, a blanket “do not contact” list swallowed an entire lead source without anyone noticing. Money was owed on records that never arrived, and staff eventually invented workarounds to get past it.
Reports nobody believed. The same report, run by two different people, gave two different answers, because nothing said which fields to use. Marketing leadership stopped logging in altogether. Nobody could show what a lead was worth, so nobody could show whether marketing was working. Once your leadership stops trusting the numbers, you no longer have a data problem. You have a trust problem, and it belongs to you.
Customers who noticed. One large cleanup pushed months-old enquiries back into the CRM, and salespeople started ringing people about something they had asked about a season earlier. A single visit to the website could create five copies of the same record and five separate follow-up tasks, sent to five different people. Every form submission was marked as a qualified lead, so the sales team had quite sensibly stopped treating that label as meaningful.
Plans that couldn’t start. AI projects put on hold until the data was fixed. Website personalisation parked. And leadership’s own conclusion: there would be no serious planning conversation until the data was in a defensible state.
That is the real cost. Not the cleanup hours. The plans you don’t get to make while you wait.
Here is how it builds up.
One company knew its location data was missing. They had a data provider ready. Budget approved. A list of more than 10,000 records they could have fixed that week.
They couldn’t do it.
Filling in that field on 10,000 records would have pushed all 10,000 into the CRM at once, dropping thousands of records and follow-up tasks on the sales team overnight. And they knew exactly how that goes, because a much smaller cleanup had already done it. More than 500 old tasks landed on one salesperson. Reps started ringing people about enquiries from months earlier.
The fix had become the bigger risk.
That is what neglect does over time. It makes your data worse, and then it takes away your ability to repair it. The cleanup turns into a project that needs a quiet deployment window, alerts switched off, and a warning sent to sales leadership first.
Cleaning the data started as a task. It became a project. Then it became a risk. And companies postpone risks indefinitely, with everyone’s agreement.
Keeping a CRM clean is not a project you schedule. It is a habit you run. If you don’t run it, you pay for it forever, in wasted budget, missed opportunities and plans you never get to act on.
None of the companies I worked with failed because they chose the wrong CRM. Every one had a perfectly good system. They failed because nobody was responsible for what went into it. The cost was spread so thinly across so many teams that it never landed heavily on any one desk.
So here is the check I would run this week. Four questions, and you can answer all of them before lunch.
If any of those answers make you uncomfortable, you already have your business case. You just hadn’t measured it yet.
Next post: what a proper CRM cleanup routine looks like. What to do weekly, monthly and quarterly, the rules worth never breaking, the steps most checklists miss, and the words that finally get this work funded.
I’m Harish. I spend most of my working life inside CRMs and marketing platforms, usually the ones that have quietly got out of hand. Audits, cleanups, lead routing, connecting systems that were never meant to talk to each other, and putting in the rules that stop it all happening again.
I’m open to new work at the moment. That covers MarTech and marketing operations leadership, revenue and sales operations, product roles on data or internal platforms, and shorter consulting projects where a team needs someone to come in, work out what is actually wrong, and fix it.
If any of the six problems above sounded like your CRM, I’d be glad to hear about it — even if it’s just to tell me which one you recognised.
By PS Harish
25 August 2026No comments yet.
© 2026 PS Harish
Leave A Comment