← All work
RevOps · CRM cleanup

CRM Cleanup & Rebuild

I inherited a 4-year-old HubSpot CRM that several different leaders had run in and out of. In about 30 days I cut it down to what was actually real, then turned it into something the team could run sales off of.

120k → 35k
contacts, after cleanup
60k → 15k
companies, after cleanup
1,200+ → 400
deals, after cleanup

The problem

Four years of data, several leaders in and out, and nobody fully trusting what was in there. The CRM was bloated with duplicates, dead records, and junk auto-creates. 120,000 contacts, 60,000 companies, over 1,200 deals, and no clean way to tell what was real from what was noise. A CRM in that state is not just messy, it is actively misleading. People stop trusting the numbers, and then they stop using it.

What I did

Over roughly 30 days I worked it down to what held up:

  • 120,000 contacts down to 35,000.
  • 60,000 companies down to about 15,000.
  • Over 1,200 deals down to 400.

All in, that is roughly 72% of the records gone, about 130,000 dead or duplicate entries cleared out of the system.

Then I built the hygiene rules and automation to keep it clean, so it would not quietly rot back to where it started. Deduping, junk suppression, and consistent tagging baked into the system instead of done by hand.

The payoff

Once I had a CRM I could trust, I used it. I pulled the historical outbound sales and marketing attempts, the years of campaigns sitting in the data, and analyzed how they actually performed. Then I took what worked and used it to rewrite the messaging and build a net-new outreach framework. So the cleanup was not just tidying up. It became the foundation for smarter outbound, grounded in what had really moved the needle before.

Why it matters

This is the unglamorous work that everything else depends on. You cannot score leads, forecast, or run good campaigns on data you do not trust. Getting a four-year-old CRM back to clean, and keeping it there, is what makes the rest of RevOps possible.