← All posts
CRM auditContractor operationsApril 26, 2026Clint Research Team

The Contractor CRM Audit: 12 Checks Every Owner Should Run

37% of CRM users say poor data quality directly cost them revenue. These 12 audit checks tell a contractor exactly where their CRM is leaking money before the next quarter starts.

10 min read

Key takeaways

  • Validity's 2025 State of CRM Data Management report found 37% of CRM users lost revenue directly because of poor data quality
  • Hatch reports that quote follow-up within 5 minutes converts 21x higher than follow-up after an hour, which only happens with clean contact data
  • ServiceTitan's 2025 AI in the Trades report found 73% of contractors say data quality is the top blocker to using AI in their business
Contents
  1. 011. The Phone-Match Duplicate Count
  2. 022. The Address-Match Duplicate Count
  3. 033. Lead Source Completion Rate
  4. 044. Email Validity Check
  5. 055. Open Jobs Older Than 30 Days
  6. 066. Quote-to-Job Conversion by Tech
  7. 077. Customer-to-Property Hierarchy
  8. 088. Tag Taxonomy Audit
  9. 099. Stale Records Over 24 Months Inactive
  10. 1010. Review Request Coverage
  11. 1111. Lead Response Time by Source
  12. 1212. Cost Per Booked Job by Source
  13. 13How to Score the Audit
  14. 14What Tommy Mello Does Differently
  15. 15What to Do With the Results
  16. 16Sources
  17. 17Frequently Asked Questions

37% of CRM users said poor data quality directly cost them revenue last year, per Validity's 2025 State of CRM Data Management report of 602 CRM users.

For a $3M home service contractor, a 5% revenue leak from bad data is $150,000 a year. Most owners do not know which records are leaking, where the leaks are, or how to find them. The audit below is the diagnostic.

Run these 12 checks against your Jobber, Housecall Pro, ServiceTitan, Workiz, or GoHighLevel database. Each one takes 5 to 30 minutes. Score yourself, fix the worst three first, and re-audit in 90 days.

1. The Phone-Match Duplicate Count

Pull every customer with the same phone number and count the matches. Duplicate rate over 5% is the Insycle benchmark line for a healthy CRM.

Most contractor databases run between 8% and 20%. After a multi-year QuickBooks sync, worst cases hit 30%+.

A duplicate customer breaks every downstream report. Lifetime value is split, repeat-rate is understated, and reactivation campaigns hit the same person twice.

Text Clint: "show me my current duplicate customer rate by phone match and address match"

2. The Address-Match Duplicate Count

Same physical address, two different customer records. This is the silent driver of duplicate creation in CRMs that do not enforce USPS standardization.

"123 Main St" and "123 Main Street" look like separate properties. So does "123 Main St Apt 2" versus "123 Main St #2".

Run the address column through SmartyStreets or USPS standardization once. The output is one canonical address per household, with apartments stored in a unit field rather than appended to street.

A contractor on the Jobber community forum reported the most common new-duplicate trigger he sees is customers typing "NJ" while autofill writes "New Jersey." Standardization eliminates that source.

3. Lead Source Completion Rate

Pull every customer record from the last 12 months and check the lead source field. The benchmark is 80% completion. Most contractor databases sit at 30 to 50%.

Without lead source, you cannot calculate cost per lead by channel. Every marketing dollar after that is allocated on guesses.

The CSR script is where this gets fixed. "How did you find us?" needs to be a non-skippable field on the intake form with a picklist, not a free-text entry where 40% of values end up as "Other".

Text Clint: "show me lead source completion rate by month for the last 12 months"

4. Email Validity Check

B2C contact data decays at 25 to 30% per year, and email is the worst offender. Customers switch providers, abandon AOL accounts, and change addresses without telling you.

Run the email column through NeverBounce, ZeroBounce, or any modern validator. Hard bounces become a dead-email tag and exit the active marketing pool.

The benchmark target is 95% deliverability or higher. Anything below that, your reactivation campaigns are flagging themselves into spam complaints and hurting domain reputation.

Text Clint: "list customers with bounced or invalid emails and a completed job in the last 24 months"

5. Open Jobs Older Than 30 Days

Pull every job with status "pending", "in progress", or "scheduled" and a last-activity date older than 30 days. The benchmark is fewer than 5% of active jobs in this state.

Most are completed jobs that never got marked done by the tech. The rest are real exceptions worth chasing for revenue or invoicing.

Housecall Pro reports often hide the true open-job count because labor and parts get assigned but close-out never happens. The report distorts dispatch dashboards and revenue forecasting until it is reconciled.

Text Clint: "show me every job tagged 'pending' or 'in progress' that's older than 30 days"

6. Quote-to-Job Conversion by Tech

Pull every quote sent in the last 90 days and break conversion rate down by the tech who created it. The healthy benchmark for a residential trade is 35 to 50% on quotes presented in person.

Hatch's contractor data shows quote follow-up within 5 minutes converts 21x higher than follow-up after one hour. If a tech's quotes are sitting at 15% conversion, it is rarely a pricing problem. It is a follow-up problem.

A garage door contractor on Owned and Operated reported a 9 percentage point lift in quote conversion after putting an automated 5 minute, 24 hour, and 5 day follow-up on every open quote. That lift came from the data already in the CRM finally being used.

7. Customer-to-Property Hierarchy

Residential CRMs treat customers and properties as the same thing. That works until a customer owns multiple properties or is a property manager with 30 service addresses.

The audit step: differentiate customers from properties or service locations. ServiceTitan separates them natively. Housecall Pro added a property layer. Jobber stores additional properties under one client.

A property manager tied to 30 addresses is not 30 duplicates. A homeowner with a primary residence, vacation home, and rental is one customer with three properties. Get the structure right and your highest-LTV accounts stop looking like a mess.

8. Tag Taxonomy Audit

Pull every tag in your CRM with a count of customers using it. Tags used on fewer than 5 customers are usually one-off entries from a CSR who did not know the canonical tag existed.

A healthy contractor CRM has 20 to 50 tags total, each used on at least 25 customers, with a published list the front office references before adding new tags.

Most contractor CRMs have 200+ tags with most used on 1 to 2 customers. The clean-up is to consolidate variants ("VIP", "vip", "V.I.P", "high value" all become vip) and delete tags used fewer than 5 times.

Text Clint: "list every tag in my CRM with a count of customers using it, sorted lowest first"

9. Stale Records Over 24 Months Inactive

Pull every customer with no completed job, quote, or interaction in the last 24 months. The benchmark is fewer than 20% of total records in this stale state.

Stale does not mean delete. Stale means flag for reactivation. Pete & Gabi's reactivation guide reports reactivation campaigns close 12 to 14x higher than cold lead campaigns when the segment is properly defined.

A roofer in Austin reported on r/roofing that his reactivation campaign on 3,200 dormant customers generated $87,000 in booked work in 60 days. The records were already in the CRM. Nobody had segmented them.

Text Clint: "show me customers with no activity in 24 months and a completed job over $500"

10. Review Request Coverage

BrightLocal's 2025 Local Consumer Review Survey found 79% of consumers regularly read reviews for local businesses, and 88% are influenced by recent reviews when choosing a contractor.

Pull every job completed in the last 90 days and check whether a review request was sent. The benchmark is 90% coverage with at least one outbound request per completed job.

Most contractors send a request on 30 to 50% of completed jobs because the trigger is manual and gets skipped during busy weeks. Automated triggers based on job-completion timestamp solve the problem at the data layer.

Automating review generation off CRM events is one of the highest-leverage uses of clean job data, since it requires nothing more than an accurate completion timestamp and a valid customer phone or email.

Text Clint: "show me jobs completed in the last 90 days with no review request sent"

11. Lead Response Time by Source

Invoca's 2025 Home Services Call Conversion Benchmarks and similar data sets show response time under 5 minutes converts 4 to 8x higher than response over an hour.

Pull every inbound lead from the last 30 days, log the timestamp the lead arrived, and the timestamp of the first outbound contact. Group by source.

Healthy benchmarks: under 5 minutes for high-intent calls, under 30 minutes for web forms, under 2 hours for ad form-fills.

A Houston HVAC owner ran this audit on his GoHighLevel database and found average response time on web leads was 4 hours and 12 minutes. After implementing instant SMS confirmation and a 5 minute callback rule, his web-lead conversion rate doubled inside 60 days.

12. Cost Per Booked Job by Source

This is the master audit check that depends on the previous 11 being clean. Pull every booked job in the last 90 days, attach the lead source, then divide ad spend by job count per source.

The benchmark depends on the trade. Residential HVAC sits at $80 to $200 per booked job from paid sources. Roofing sits at $150 to $400. Plumbing emergency sits at $40 to $120.

If your numbers look 2 to 5x too good, your lead source attribution is broken. If they look 2 to 5x too bad, your booked job count is wrong.

LocaliQ's 2025 search advertising benchmarks report home services average a $73.70 cost per lead on Google Ads, with cost per acquisition between $200 and $600. If your data tells you you are paying $50 per booked job from Google Ads, the math is wrong somewhere upstream.

Text Clint: "show me cost per booked job by source for the last 90 days"

How to Score the Audit

Each check is pass or fail against the benchmark. Run all 12 in a single afternoon, score yourself out of 12, and write the number on a whiteboard.

ScoreStatus
11 to 12Excellent. Re-audit in 6 months.
8 to 10Healthy. Fix the 2 to 4 misses, re-audit in 90 days.
5 to 7At risk. Stop running paid ads until checks 1, 3, 4, and 11 pass.
Under 5Critical. Spend a weekend on a full CRM cleanup before continuing.

ServiceTitan's 2025 AI in the Trades report found 73% of contractors said data quality was the top blocker to using AI in their business. The audit above is what a contractor uses to find out which side of that 73% they are on.

What Tommy Mello Does Differently

Tommy Mello scaled A1 Garage Door past $220M annual revenue on the back of a ServiceTitan database the entire marketing operation depends on.

He runs a version of this audit monthly, not quarterly. Lead source attribution and customer-to-property hierarchy are the two checks he runs hardest because both feed his ad-spend decisions and his repeat-customer engine.

Most $1M to $10M contractors run zero versions of this audit, ever. The gap between Mello and the median operator is not the CRM software they use. It is the discipline of running the audit on a calendar.

What to Do With the Results

The audit is the diagnostic. The fix is a recurring hygiene calendar that hits the highest-leverage misses first.

Top three priorities for most contractors:

  1. Lead source completion above 80% (Check 3)
  2. Duplicate rate under 5% (Checks 1 and 2)
  3. Quote follow-up automation (Check 6)

Together those three items recover the revenue described in the cleanup playbook. The dashboard metrics most owners ignore become readable only after the underlying data passes this audit.

A clean CRM is not a vanity project. It is the prerequisite for every marketing, AI, and operations investment a contractor makes after.

Sources

Frequently Asked Questions

6 questions home service owners actually ask about this.

  • 01How long does the full 12-check audit take?

    Three to five hours for a contractor running Housecall Pro or ServiceTitan with native reporting. Six to ten hours for a Jobber or Workiz database that requires CSV exports for cross-system analysis.

  • 02Which check should I run first if I only have one hour?

    Lead source completion (Check 3). It is the single most damaging blind spot in most contractor CRMs because every marketing dollar gets allocated based on it. If you cannot tell what percent of last quarter's revenue came from each channel, you cannot make a good ad-spend decision.

  • 03How often should the audit be repeated?

    Quarterly for the full 12-check version. Monthly for Checks 1, 5, and 10 (duplicates, open jobs, review request coverage) because they accumulate damage between full audits.

  • 04What if my CRM cannot run these reports natively?

    Export to CSV and run the analysis in Google Sheets or a tool like Clint. Jobber and Workiz often need CSV export for the more complex checks. Housecall Pro and ServiceTitan run most natively.

  • 05Should I delete records that fail the stale-record check?

    No. Tag them as dormant and route them into a reactivation campaign. Dormant customers close 12 to 14x higher than cold leads per Pete & Gabi's data, so they are an asset, not garbage.

  • 06What is the typical revenue lift from passing this audit?

    Validity's 2025 report found 37% of CRM users lost revenue directly because of poor data quality. For a contractor at $3M, recovering even half of a 5% data leak is $75,000. The audit identifies where that leak is.

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.