When CRM data gets messy, teams usually learn to live with it.
That’s what was happening at Fathom AI.
Thousands of duplicate company records (especially large universities) were cluttering their HubSpot portal. Sales reps struggled to identify the correct record. Success teams filtered through dozens of nearly identical companies. Reporting became harder than it needed to be.
Instead of accepting the chaos, they fixed it.
In just a few hours, Fathom AI merged over 13,000 duplicate company records safely and confidently.
Watch the full story below:
The Situation
Drew Frayre, RevOps lead at Fathom AI (and former HubSpot employee), joined the company and quickly noticed data inconsistencies.
Multiple users from the same domain were signing up independently. Over time, this created separate company records for the same institutions.
For large universities, this meant:
- Hundreds of duplicate company records
- Active subscriptions tied to different records
- Confusion for sales and customer success
- Friction in reporting and segmentation
Some of those records had active MRR attached.
So this wasn’t just a cleanup project.
It had to be done carefully.
Why This Wasn’t a Manual Fix
HubSpot’s native merge functionality works well, but not when you’re dealing with thousands of records that share the same underlying issue.
Going one-by-one wasn’t realistic.
At the same time, blindly merging records risked:
- Breaking subscription data
- Disrupting Stripe sync
- Losing historical accuracy
The team needed a structured, rule-based approach.
The Approach
The solution was surprisingly straightforward once the right framework was in place.
1️⃣ Define Clear Matching Logic
They created a company-level rule based on:
- Company name
- Domain
But with a critical safeguard:
Companies with active subscriptions or MRR were excluded from the merge logic.
That ensured revenue-related records were protected.

2️⃣ Review Before Merging
Before any merge happened, duplicates and primary records were surfaced in clear segments inside HubSpot.
This allowed the team to:
- Sort and inspect records
- Validate the logic
- Adjust rules if needed
- Build confidence before execution
Nothing was merged blindly.
3️⃣ Run a Simple Merge Workflow
Once validated, the actual merge process was minimal.
A single workflow action merged non-primary duplicates into their designated primary record.
The complexity wasn’t in the workflow, it was in getting the logic right beforehand.

The Outcome
In total:
- 13,000+ duplicate company records were merged
- The setup took roughly three hours
- No active subscription data was disrupted
- Salesforce sync remained stable
But the biggest impact wasn’t just the number.
It was what changed internally.
What Changed for the Team
After the cleanup:
- Sales stopped submitting RevOps tickets about duplicate companies
- Success teams could instantly identify the correct account
- Reporting became more reliable
- A new subscription object project could move forward
The CRM went from frustrating to functional.
As Drew put it:
“If you’re comfortable working in HubSpot, this just feels natural. Everything stays inside the platform.”
When a Cleanup Project Becomes a Growth Enabler
What’s interesting about this story is that it wasn’t just about fixing past mistakes.
It unlocked future projects.
Duplicate companies were blocking progress on more advanced data modeling. Once they were resolved, the team could confidently build new subscription objects and scale their reporting.
Clean data isn’t just operational hygiene, it’s an enabler.
Ready to Clean Up Your HubSpot Portal?
If you’re dealing with duplicate records, messy company data, or large-scale cleanup projects, the right rule structure makes all the difference.
Start your free trial of Koalify and take control of your CRM data — safely and confidently.
👉 Start your free trial