How to Clean Up Duplicate Customers in a Home Service CRM
Duplicate customer records inflate your customer count, distort retention metrics, and hide service history. Here is how to find and merge duplicates in Jobber, Housecall Pro, and ServiceTitan.
Key takeaways
- A CRM in active use for 2+ years without a dedup process typically has 10 to 22% duplicate records
- Duplicates inflate customer count, making retention rate look higher than it is and making contact for upsell harder
- Housecall Pro has built-in duplicate detection. ServiceTitan has a merge function. Jobber requires manual identification and CSV import.
- The fastest way to find duplicates: export all customer records, sort by address, look for multiple records at the same address
- After merging, the cleanup project takes 2 to 4 hours for a 500-customer CRM. Do it once a year.
Every duplicate customer record is a problem you cannot see. A customer who called twice, once under their name and once under their spouse's name, exists in your CRM as two customers. Your retention rate calculation treats them as two customers who have each used the service once, rather than one customer who used it twice. Your upsell campaign emails one of them but not the other. Your service history shows half the picture.
Duplicates are not just a data cleanliness problem. They are a revenue intelligence problem.
Why duplicates accumulate
The most common causes:
Different name, same address. A customer calls. The CSR searches for them by first name. Does not find them. Creates a new record. The spouse called previously under their name. Two records, one address.
Typo variations. "Johnsons" vs. "Johnson." "123 Main St" vs. "123 Main Street." CRMs match on exact string, so a typo creates a new record.
Phone number changes. A customer gets a new phone number. They call from the new number. The CSR searches by phone. Does not find them. New record.
System migrations. You moved from one CRM to another and the migration imported some records twice, or existing records in the new CRM did not match to imported records.
How to find duplicates in each CRM
Housecall Pro: Go to Customers → More → Find Duplicates. Housecall Pro runs its own duplicate detection and presents a list of likely duplicates with a side-by-side comparison and a one-click merge. This is the cleanest native dedup experience in the major home service CRMs. Run it monthly on a growing database.
ServiceTitan: ServiceTitan does not have a one-click dedup scanner. The merge function is accessed by opening a customer record, finding the "Merge Customer" option, and searching for the record to merge into. To find duplicates, ServiceTitan's customer list can be exported and analyzed in a spreadsheet.
Jobber: No native dedup tool. The process: export all clients to CSV (Settings → Import/Export → Export Clients). In the CSV, sort by billing address. Look for multiple rows with the same address. These are likely duplicates. Also sort by phone number for phone-based duplicate detection.
Workiz: No native dedup. Export contacts and sort by address or phone in a spreadsheet.
The spreadsheet dedup process (for CRMs without native tools)
- Export all customer records with name, phone, email, and billing address.
- In Excel or Google Sheets, sort by billing address.
- Look for consecutive rows with the same or nearly identical address. These are candidates.
- Use a VLOOKUP or conditional formatting to highlight rows where address matches another row.
- Review each flagged pair manually. Confirm they are the same customer.
- Note which record has the more complete service history (more jobs, more invoices). This is the record to keep.
- Note which record to merge or delete.
For a 500-customer CRM, this process takes 2 to 4 hours. For a 2,000-customer CRM, plan 6 to 8 hours. Do it once per year.
How to merge duplicates
Housecall Pro: Select the primary record (the one to keep). Click "Merge." Select the secondary record. Confirm. Housecall Pro merges all jobs, invoices, and notes from both records into the primary. The secondary record is archived.
ServiceTitan: Open the primary customer record. Find the "Merge Customer" option. Search for the secondary record. Confirm the merge. ServiceTitan retains all service history from both records in the merged primary.
Jobber: Jobber does not have a native merge function. The workaround: on the duplicate record, add a note indicating it is a duplicate of the primary record (include the primary client ID). Manually move any jobs or notes from the duplicate to the primary. Archive or delete the duplicate record. This is time-consuming and the main reason to consider a CRM upgrade if duplicate management is a chronic problem.
Preventing future duplicates
Three process changes that reduce new duplicate creation:
Search before creating. Train intake staff to search by phone number AND address (not just name) before creating a new record. A search by "123 Main" before creating a new "Johnson" record catches most phone-number-based duplicates.
Standardize address format. Set a standard: "Street" not "St," "Avenue" not "Ave." Consistent formatting makes the CRM's exact-match search work better.
Flag returning customers. When a returning customer calls, train the intake staff to ask: "Have you used us before?" If yes, search more aggressively before creating a record. A 15-second additional search step prevents a duplicate that takes 15 minutes to clean up.
For the full CRM data hygiene process, see the 9 dirty data problems in contractor CRMs and the 12-check contractor CRM audit. For how data quality affects reporting accuracy, see field service CRM reporting not accurate.
How Clint Finds Duplicate Candidates
Finding duplicates in Jobber or Workiz requires exporting your full customer list, sorting by address in a spreadsheet, and reviewing each flagged pair manually. A 1,000-customer CRM takes four to six hours to audit. Most shops do it once and let duplicates accumulate again within months.
Text Clint directly. "Which customers appear more than once at the same service address?" Clint returns the duplicate candidates ranked by combined lifetime value, so you know which records to prioritize merging. Ask "how many customer records have no service history attached?" and Clint surfaces the orphaned records worth cleaning up.
Sources
Frequently Asked Questions
4 questions home service owners actually ask about this.
01How many duplicate records is normal in a field service CRM?
A CRM in active use for 2 years without a dedup process accumulates roughly 10 to 15% duplicates. After 5 years without cleanup, 20 to 30% is common. A business with 1,000 customer records and 20% duplicates effectively has 800 unique customers represented as 1,000 records.
02Will merging duplicates delete service history?
In Housecall Pro and ServiceTitan, no. The merge function consolidates all jobs, invoices, and notes from both records into the primary. In Jobber, since there is no native merge, you need to manually reassign jobs from the duplicate to the primary before archiving the duplicate.
03Should I delete duplicate records or archive them?
Archive, not delete. Archiving removes the record from your active list while preserving the data in case you need to reference it later. Deleting permanently removes the record. If a merged record was incorrectly identified as a duplicate, archiving lets you recover the data. Deleting does not.
04How do I know if a duplicate is causing reporting problems?
Check your customer count against your service address count. If you have 1,200 customer records but only 950 unique service addresses, you have at least 250 duplicates. Compare this gap to your retention calculation: if your retention rate is 82%, run the same calculation after deduplicating and see if the number changes. A large change indicates duplicates were inflating the denominator.
See Clint in action
Clint is the pre-built AI for home service shops. Connect your CRM, email, and phone system in minutes and the agents run on your real data.