Your CRM Is Full of Dead Leads: How to Clean It Without Losing Real Ones
Key Takeaways
- 40-60% of contacts in the average contractor CRM are dead, duplicate, or outdated
- Email deliverability drops below 80% when bounce rates exceed 5%, triggering spam filters
- Contractors who clean their CRM quarterly see 23% higher email open rates and 31% more booked jobs from email campaigns
- Removing 2,000 dead contacts improved one HVAC company's email open rate from 12% to 28% in 30 days
40-60% of the contacts in the average contractor’s CRM are dead, duplicate, or outdated, according to Validity’s 2025 data quality report. That means nearly half the database you’re emailing, texting, and marketing to is a black hole swallowing your time and damaging your sender reputation.
An HVAC company in Ohio discovered 4,200 of their 7,000 CRM contacts were either duplicates, invalid emails, or disconnected phone numbers. They’d been emailing all of them monthly for two years, wondering why their open rates sat at 12% and their campaigns generated almost no calls.
Why dirty CRM data costs you money
Email deliverability craters
When your email bounce rate exceeds 5%, major email providers start routing your messages to spam, according to Mailchimp’s deliverability benchmarks. Most contractors with uncleaned CRMs are bouncing at 8-15%, which means even your legitimate contacts aren’t seeing your emails.
Every bounced email hurts your sender score. Your sender score affects every email you send, not just the ones going to bad addresses. A sender score below 70 means 28% of your emails hit spam folders, according to Validity data. Clean contacts get punished because dirty ones dragged your reputation down.
Texting dead numbers wastes money
SMS platforms charge per message. If you’re texting 3,000 contacts and 1,200 have disconnected numbers, you’re paying for 1,200 messages that will never be read. At $0.02-0.05 per text, that’s $24-60 wasted per campaign. Over a year of monthly campaigns, that’s $288-720 thrown away on texts to nobody.
Worse, carriers flag phone numbers that send high volumes of undeliverable texts. Your legitimate texts start getting filtered as spam because your number has a pattern of sending to invalid recipients.
Sales time disappears
Techs and office staff spend an average of 3.5 hours per week dealing with bad CRM data, according to Salesforce research. That’s calling disconnected numbers, sorting through duplicate records, and trying to figure out which “John Smith” is the one who called about a water heater.
A plumber on ContractorTalk described his office manager spending an entire Friday every month “trying to figure out who’s real and who’s garbage” in their ServiceTitan database. That’s a full day of labor every month on data cleanup that should have been prevented.
The four types of CRM dirt
Dead contacts
These are people who will never become customers. They moved out of your service area, sold their home, or the phone number and email are no longer valid. People move every 5-7 years on average, according to Census Bureau data. If your CRM has contacts from 2019, a significant percentage no longer live at that address.
Duplicates
The same customer exists three times because they called once, filled out a form once, and got added manually from a business card. CRM duplicate rates average 10-20% for businesses without automated deduplication, according to Validity. Duplicates skew your marketing metrics, create confusion during follow-up, and make your customer count look artificially inflated.
Incomplete records
A contact with a name and phone number but no email, no address, and no service history is almost useless for marketing. You can call them, but you can’t email, send direct mail, or personalize outreach. 37% of CRM records are missing at least one critical field, according to Dun & Bradstreet research.
Outdated information
The customer’s email changed. Their phone number was reassigned. They got a new address. Data decays at a rate of 25-30% per year in B2C databases, according to Gartner. A CRM that was accurate in January is 25% less accurate by December even if you haven’t touched it.
How to clean your CRM without losing real customers
Step 1: Remove obvious dead weight
Start with contacts that are clearly invalid. Run your email list through a verification service like ZeroBounce, NeverBounce, or BriteVerify. Email verification services cost $3-10 per 1,000 contacts and identify invalid, disposable, and catch-all addresses.
Remove contacts with disconnected phone numbers. Most CRM platforms can identify landlines that have been disconnected or mobile numbers that are no longer in service.
Don’t delete these contacts permanently. Export them to a separate file first. If someone comes back, you want to be able to find their history.
Step 2: Merge duplicates
Search for contacts sharing the same phone number, email address, or street address. Most CRMs have a built-in duplicate detection tool, though the quality varies.
ServiceTitan, Jobber, and Housecall Pro all have merge functions, but they require manual review before merging. Don’t auto-merge without checking because sometimes a husband and wife are both in the system with the same address but different service histories.
When merging, keep the record with the most complete information as the primary record and merge the other records into it.
Step 3: Segment before you delete
Before removing any contact that looks inactive, check their service history. A customer who spent $12,000 on a system replacement in 2021 and hasn’t called since isn’t dead. They’re a maintenance agreement prospect.
Create segments based on last service date:
- Active (service within 12 months)
- Warm (service within 12-24 months)
- Dormant (service 24-36 months ago)
- Cold (no service in 36+ months)
Each segment gets different treatment. Active customers get review requests and referral asks. Warm customers get seasonal maintenance reminders. Dormant customers get re-engagement campaigns. Cold contacts get one final “are you still there” outreach before archiving.
Step 4: Set up ongoing hygiene
Cleaning your CRM once is a project. Keeping it clean is a system.
Validate new contacts at point of entry. When someone fills out a form, verify the email and phone number before it hits your CRM. This prevents the garbage from getting in.
Run quarterly audits. Every 90 days, pull your bounce report, check for new duplicates, and review contacts added in the last quarter for completeness.
Automate what you can. Most email platforms offer built-in list cleaning that removes hard bounces automatically. Turn it on and let it work.
One HVAC contractor on the Owned and Operated podcast described implementing quarterly CRM audits and watching his email open rate climb from 14% to 31% over six months. His re-engagement campaigns went from generating 2-3 calls per month to 15-20.
The results of clean data
That Ohio HVAC company that cleaned 4,200 dead contacts? Their email open rate jumped from 12% to 28% within 30 days. Their next seasonal maintenance campaign generated 47 booked jobs compared to 11 from the previous quarter’s campaign.
They didn’t change their messaging, their offer, or their email template. They just stopped sending to people who would never open the email.
Clean data compounds. Better deliverability improves sender reputation. Better sender reputation means more emails land in inboxes. More inbox placement means more opens, more clicks, and more booked jobs from the same campaigns you’re already running.
Your CRM is either an asset or a liability. A clean database with 3,000 real contacts outperforms a dirty database with 8,000 contacts every time.
Learn more about integrating clean data with your CRM.
Written by
Pipeline Research Team