← All posts
CRM cleanupData hygieneApril 26, 2026Clint Research Team

How to Clean Up a Contractor CRM in One Weekend

76% of organizations say less than half of their CRM data is accurate. Here's a weekend playbook to dedupe, fix phones and emails, and turn your Jobber, HCP, or ServiceTitan database into a real revenue tool.

8 min read

Key takeaways

  • 76% of organizations say less than half of their CRM data is accurate and complete per Validity's 2025 State of CRM Data Management report
  • B2C contact data decays at 25-30% per year, so a database untouched for 12 months is already a third wrong
  • Workers spend 13 hours per week hunting for basic information in the CRM per the same Validity 2025 report
Contents
  1. 01What "Clean Enough" Actually Looks Like
  2. 02Friday Night: Take a Backup and Set the Scope
  3. 03Saturday Morning: Hunt the Duplicates
  4. 04Saturday Midday: Fix the Phone Numbers
  5. 05Saturday Afternoon: Fill the Email Gaps
  6. 06Saturday Evening: Standardize Addresses
  7. 07Sunday Morning: Audit Your Tags
  8. 08Sunday Midday: Resurrect the Customers Worth Reactivating
  9. 09Sunday Afternoon: Set the Maintenance Schedule
  10. 10Sunday Evening: Write the One-Page Brief
  11. 11Sources
  12. 12Frequently Asked Questions

76% of organizations say less than half of their CRM data is accurate and complete, according to Validity's 2025 State of CRM Data Management report.

That number is worse for contractors. Field service CRMs absorb data from CSR phone notes, tech tablets, online booking forms, QuickBooks syncs, and eight years of CSV imports nobody remembers approving.

You can fix the worst of it in a weekend if you go in with a plan. This is that plan.

What "Clean Enough" Actually Looks Like

Insycle, a leading CRM data tool, publishes benchmark targets every contractor should aim at: duplicate rate under 5%, field completion above 85%, email validity above 95%, stale records under 20%.

You will not hit those numbers in two days. You will hit "good enough to text customers without embarrassment" in two days, which is the whole point.

The goal of this weekend is one trustworthy customer record per household, with a working phone number and address, tagged so you can find your top 200 customers tomorrow morning.

Friday Night: Take a Backup and Set the Scope

Before you touch anything, export everything. Customers, jobs, invoices, and tags as separate CSVs.

In Jobber, that lives under Reports. In Housecall Pro, the Customers list has an Export action. In ServiceTitan, the Customer List report under Reports does the job.

Stash the export in a folder named with today's date. If you break something on Saturday, you can restore from Friday.

Text Clint: "how many customers do I have in my CRM and when was each last touched?"

Saturday Morning: Hunt the Duplicates

Duplicates are the highest-impact problem in any contractor CRM. They split job history across two records, blow up reactivation campaigns, and corrupt every revenue-per-customer report you run.

Housecall Pro has the easiest path. Their built-in duplicate manager auto-groups customers by name, mobile, home phone, work phone, or email. Click Actions, choose Manage Duplicates, expand a group, select records, and Merge.

ServiceTitan also has a native flow. From the customer or location record, open the gear menu and pick Merge Customer or Merge Location. Note: locations can only merge under the same customer, so you may need to relocate first.

Jobber is the painful one. Jobber does not let you merge clients natively. One contractor on the Jobber community forum reported it takes 30 minutes per pair to manually copy data between two duplicate records before deleting the dupe. If you are on Jobber, expect this step to eat half of Saturday.

Sort your customer export by phone number, then by address, then by last name. Anything that lines up across two of those three is a candidate. Mark the keeper, copy notes and tags into it, then delete the dupe.

Text Clint: "find duplicate customers in Jobber where the phone or address matches"

Saturday Midday: Fix the Phone Numbers

Bad phone numbers kill SMS campaigns and bleed CSR time. Industry guidance on phone validation calls for E.164 format with country code, all ten US digits present, and special characters stripped.

Sort your customer list by phone number. Look for:

  • Empty phone fields on customers with completed jobs
  • Numbers shorter than 10 digits
  • Numbers that start with 555, 000, or 111
  • Office numbers stuck in the mobile field
  • The same number on 6+ different customers (usually a CSR's cell number entered as a placeholder)

Delete the placeholder and ghost numbers. Standardize the rest to (555) 555-5555 format. Move office lines into the office number field if your CRM has one.

A roofing operator on the Jobber forum said the most common dupe trigger he sees is customers typing "NJ" while autofill writes "New Jersey," which means address standardization and phone hygiene tend to live next to each other.

Text Clint: "list customers without an email address but with a completed job in the last 24 months"

Saturday Afternoon: Fill the Email Gaps

Email is the second cheapest channel after SMS, and most contractor CRMs have 30-50% of customers with no email at all because the CSR never asked.

Pull the customers with completed jobs in the last 36 months and no email on file. That is your phone-out-and-ask list for the next CSR shift, not a Saturday task. Tag them with needs-email so you can find them again.

For customers with old emails, validity checks matter. Verum's CRM data quality work points out that B2B contact data decays at 25-30% annually, and residential email is not far behind. Run the addresses through a validator like NeverBounce or ZeroBounce. Anything that bounces hard, mark it dead and move it to a secondary field so you do not text it accidentally.

Jobber's reports are missing several views that would make this triage faster, so most owners end up exporting and filtering in a spreadsheet.

Text Clint: "show me all customers with bounced emails and a completed job in the last 12 months"

Saturday Evening: Standardize Addresses

Address chaos is the silent killer of property-level analytics. "123 Main St", "123 Main Street", and "123 Main St., Apt 2" all look like three different houses to your CRM.

USPS standardization handles most of it. Run your address column through a service like SmartyStreets or the free USPS Web Tools API. The output is one canonical address per household.

Watch for:

  • Apartment numbers in the street field instead of the unit field
  • ZIP+4 formatting that breaks routing
  • Customers with two physical addresses where one is the billing address (this is a real second property, not a duplicate)
  • Property managers tied to 30 addresses (these are not duplicates either, leave them)

The last two distinctions matter. A customer with multiple addresses is often your highest-LTV account, and merging them is a mistake.

Sunday Morning: Audit Your Tags

Most contractor CRMs end up with 80+ tags because every CSR adds a new one instead of finding the existing match. You will see "VIP", "VIP Customer", "vip", and "VIP - High Value" all on different records.

Pull the tag list. Group obvious duplicates and pick one canonical version per concept. Bulk update the rest in your CRM's bulk-edit screen.

Kill any tag used on fewer than 5 customers. If a tag was only ever used twice, it was a one-time idea that never became policy.

Housecall Pro's tag documentation recommends keeping a published tag taxonomy so the front office knows which tags exist before adding new ones. Same principle works in any CRM.

Text Clint: "list every tag in my CRM with a count of how many customers use it"

Sunday Midday: Resurrect the Customers Worth Reactivating

Now that the data is clean, run the reactivation list while the records are fresh.

Pull customers with at least one completed job, a valid phone number, a valid email, and no activity in the last 12-24 months. That is your reactivation pool.

Most $1M-$10M contractors find 1,500-4,000 customers in this bucket after cleanup. Reactivation closes at 60-70% versus 5% for cold leads, which is the highest-ROI workout you can do with the freshly cleaned data.

Tag this segment reactivation-eligible-q2-26 so it does not blur into the rest of the database.

Text Clint: "rank customers by jobs in the last 24 months and flag anyone who hasn't been touched in 12+ months"

Sunday Afternoon: Set the Maintenance Schedule

Cleanup that does not get maintained is just a project that ages back into the original mess. Verum's data decay analysis recommends re-verifying contacts every 90 days and enriching new records at point of entry.

Block these recurring tasks on your calendar:

  • Weekly: scan for new duplicates created in the past 7 days
  • Monthly: bulk-validate any new email addresses captured that month
  • Quarterly: re-pull the dormant customer list and tag for reactivation
  • Annually: full address standardization pass

If you have a CSR who answers calls, the front-office side of this is asking for email, asking for confirmation of address, and using the existing customer search before creating a new record. That single behavior change cuts duplicate creation by more than half.

Tommy Mello's $220M build at A1 Garage Door is grounded in CRM discipline. He moved A1 to ServiceTitan in 2017 specifically to track every customer touch in one place, and his entire database-marketing operation depends on that data being clean.

Sunday Evening: Write the One-Page Brief

Before you close the laptop, write a one-page summary of what changed and what you found.

Include before/after counts for: total customers, duplicates removed, phone numbers fixed, emails validated, customers in the reactivation pool. Tape it on the wall in the office.

Two months from now, when someone asks why you spent a weekend on the CRM, the page will answer the question for you.

The questions a contractor actually wants to ask their data are the ones that need clean records to work. Cleaning the database on Saturday is what makes the questions answerable on Monday.

Sources

Frequently Asked Questions

6 questions home service owners actually ask about this.

  • 01How long should a contractor CRM cleanup take?

    A focused weekend works for shops with 2,000-8,000 customer records on Housecall Pro or ServiceTitan, where bulk merge is native. Jobber owners should plan for two weekends because the merge step is manual.

  • 02Do I need a tool like Insycle for a contractor CRM?

    Insycle and similar tools are built for HubSpot and Salesforce, so they will not connect to Jobber, Housecall Pro, or ServiceTitan directly. Most contractors do the cleanup in spreadsheets plus their CRM's built-in merge tool, then maintain it with chat-based queries.

  • 03What is the highest-ROI cleanup task to start with?

    Duplicate removal. Duplicates corrupt every revenue report and split job history across records, which makes reactivation campaigns target the wrong half of a household.

  • 04Should I delete customers with no recent activity?

    No. Dormant customers are your reactivation pool. Tag them and segment them, but keep the records. Deleting them throws away the cheapest leads you have access to.

  • 05How often should I re-clean my contractor CRM?

    Quarterly for duplicates and stale flags, annually for a full address standardization pass. Verum and Validity both recommend re-verifying contacts every 90 days for any database used in active outbound.

  • 06Will my QuickBooks sync break duplicates again?

    It can. The Jobber community forum has long threads on QuickBooks-introduced duplicates. Sync one direction first, accept that side as the master, and avoid bulk imports into both ends at the same time.

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.