← All posts
ServiceTitanRevenue leakageApril 28, 2026Clint Research Team

The ServiceTitan Lead Audit: 8 Places Revenue Is Leaking

73% of contractors with $2M+ revenue have at least 5 figures of leakage hiding in ServiceTitan. Here are the 8 places it leaks (with the actual menu paths and reports) and how to plug each one.

11 min read

Key takeaways

  • Hatch's 2025 Home Improvement Industry Report puts the multi-touch follow-up response rate at 89.86% versus 32.39% for a single touch, but the ServiceTitan Estimate Detail report does not auto-rank stale estimates
  • Invoca's 2024 conversation analytics data pegs the home services missed-call rate at 27% and the value of a single missed inbound at $1,200, even with ServiceTitan's call recording on
  • A typical $2M-$10M ServiceTitan shop has $40K to $250K of recoverable revenue sitting in cold estimates, dormant memberships, lapsed customers, and skipped recurring services per ServiceTitan and LocaliQ benchmarks
Contents
  1. 011. Estimates Over $5,000 With No Follow-Up After 3 Days
  2. 022. Customers With Last Job Over 12 Months Ago and No Contact
  3. 033. Leads in the Pipeline Marked "Called Once" That Got One Touch
  4. 044. Lead Source ROI Untracked or Wrong
  5. 055. Customers With Expired Memberships Not Re-Pitched
  6. 066. Recurring Customers Who Skipped This Season's Visit
  7. 077. Missed Calls With No Callback
  8. 088. Cancelled Jobs Never Re-Quoted or Re-Contacted
  9. 09How Clint Stitches All 8 Together
  10. 10Sources
  11. 11Frequently Asked Questions

73% of contractors with $2M+ in revenue have at least 5 figures of leakage they cannot see, between $40K and $250K per year per shop on the ServiceTitan side of the market, per LocaliQ, Hatch, and Invoca benchmarking. No single ServiceTitan view stitches the eight leakage points into a daily list.

This is the ServiceTitan lead audit. Eight places revenue leaks, with the actual report names, navigation paths, math, and what to do inside ServiceTitan. Each section ends with a Text Clint prompt that returns the same answer in seconds.

1. Estimates Over $5,000 With No Follow-Up After 3 Days

In ServiceTitan this lives at Reports > Sales > Estimate Detail, filter Status = Sold? = No, Estimate Date = last 30 days, sort by Total descending. The CRM-side view is Customer > Estimates tab.

It leaks because ServiceTitan's automated estimate follow-ups under Settings > Marketing > Marketing Pro Automations typically default to a single touch at 5 to 7 days. Hatch's 2025 Home Improvement Industry Report shows 2 to 3 days is the high-conversion window. By day 7, the customer has signed with the next shop on Google.

The math: a typical ServiceTitan shop sends 1,500 to 4,000 estimates a year. 60 to 75% sit unsold. Tightening the cadence and adding a second touch recovers 8 to 15% of the cold pile. At a $4K to $25K average ticket (HVAC change-outs and roof replacements pull this average up) that is $90K to $1.5M in recovered annual revenue.

To plug it manually: open Settings > Marketing > Marketing Pro Automations, configure a sequence with touch one at day 2, touch two at day 7, and touch three at day 14. Then every Monday morning open Reports > Sales > Estimate Detail, filter Sold = No and Estimate Date > 3 days, and assign the top 10 by total to a CSR or sales manager.

For the deeper playbook see find every cold quote in your CRM and revive cold leads in ServiceTitan.

Text Clint: "list every ServiceTitan estimate over $5,000 sent more than 3 days ago with no sale, sorted by total descending"

2. Customers With Last Job Over 12 Months Ago and No Contact

In ServiceTitan this lives at Reports > Customer > Customer Activity, or CRM > Customers with Last Service Date as a filter and a custom date range.

It leaks because ServiceTitan does not auto-flag dormant customers. Customer Activity shows last service date as a column but does not surface "no contact in 90 days" without a custom report build. Most shops never build it.

ServiceTitan's own 2025 AI in the Trades Report and Pete and Gabi's reactivation work both peg dormant-customer reactivation at a 5 to 12% conversion rate on a clean SMS sequence. A ServiceTitan shop with 5,000 active customers usually has 1,500 to 2,500 sitting dormant. Recover 8% at a $500 ticket and that is $60K to $100K of incremental revenue per year, before LTV uplift.

To plug it manually: build a custom report in Reports > Reports > Build Report filtered for Last Service Date > 365 days. Export to CSV. Use Marketing Pro > Email Campaigns or Direct Mail Campaigns to send a "we haven't seen you" sequence segmented by service line and by zone.

The full motion is in the customer reactivation from CRM playbook and AI customer reactivation for contractors.

Text Clint: "find every ServiceTitan customer whose last job was over 12 months ago, sorted by lifetime revenue"

3. Leads in the Pipeline Marked "Called Once" That Got One Touch

In ServiceTitan, CRM > Leads is the lead pipeline view. The lead status flow goes through New, Contacted, Qualified, Quoted, Won, Lost. The "called once and never re-touched" leads sit in Contacted or Qualified with high days-in-stage counts.

It leaks because the lead view does not rank by likelihood of close. A 14-day-old lead in Contacted looks identical to a 1-day-old lead. Hatch's 89.86% multi-touch response rate vs 32.39% single-touch means every one-touch lead is leaving 57 percentage points of recovery on the table.

The math: a ServiceTitan shop running 100 new leads a week with single-touch follow-up books at roughly 22%. A multi-touch sequence bumps that to 38 to 45%. Per Tommy Mello's operational benchmarks at A1 Garage Door, the contractors who hit $10M+ are the ones who run a 5-touch sequence on every inbound, with a CSR or AI agent owning touches 2 through 5.

To plug it manually: open CRM > Leads, filter Status = Contacted or Qualified, sort by Last Touch Date ascending. Build a daily Smart List for "Contacted, no touch in 3+ days" via Reports > Customer > Build a List. Hand the list to your CSR every morning.

For the daily routine see who to call next in ServiceTitan and ServiceTitan reports that move the needle.

Text Clint: "show me ServiceTitan leads with one outbound contact and no reply in the last 5 days"

4. Lead Source ROI Untracked or Wrong

In ServiceTitan this is Reports > Marketing > Lead Source Performance and Marketing Scorecard under Marketing Pro. The reports show booked revenue per source if you have campaigns and ad spend logged, which most shops do not.

It leaks because the default Lead Source picklist in Settings > Operations > Campaigns drifts. Multiple campaigns get tagged "Google" with no spend. Direct Mail campaigns get tagged generically. Without the Campaign Cost field populated under each campaign, ROI math is impossible.

LocaliQ's 2025 Home Services Search Advertising Benchmarks put the median home services CPL between $59 and $147 depending on trade. With unattributed leads, the average shop overspends on the worst-performing source by 30 to 60% and underspends on the best by similar margins. On a $250K annual ad budget (typical for a ServiceTitan shop) that is $75K to $150K of misallocated spend per year.

To plug it manually: under Settings > Operations > Campaigns, audit every active campaign. Set Campaign Cost monthly. Tighten the picklist to one row per real source (Google Search, Google LSA, Facebook, Yelp, Direct Mail, Referral, Repeat). Train CSRs to capture campaign on every booking. Run Reports > Marketing > Marketing Scorecard monthly.

For the dashboard view see contractor dashboard metrics owners ignore and the home service KPIs complete metrics playbook.

Text Clint: "show ServiceTitan lead source revenue versus ad spend for last 90 days"

5. Customers With Expired Memberships Not Re-Pitched

In ServiceTitan, memberships live under Marketing Pro > Memberships and on the customer record under the Memberships tab. The Membership Expiration Report under Reports > Customer lists expired and expiring memberships.

It leaks because the renewal flow under Settings > Marketing > Membership Renewals defaults to email-only single-touch reminders. After expiration, the member sits with a "Lapsed" status and nobody chases.

ServiceTitan's 2025 AI in the Trades Report shows membership re-pitch conversion at 18 to 25% on a structured outreach within 30 days of expiration. Lapsed members spend 2 to 3x more on service than non-members. For a 1,000-membership shop with a 15% annual lapse rate, that is 150 lapses, 27 to 38 recoverable, $50K to $100K in revenue including LTV uplift.

To plug it manually: pull Reports > Customer > Membership Expiration, filter for last 90 days. Cross-reference against Customer Activity for last service date. Build a re-pitch SMS template and run it in batches.

For the deeper play see what Titan Intelligence cannot tell you and revive cold leads in ServiceTitan.

Text Clint: "find every ServiceTitan customer whose membership expired in the last 90 days and was not renewed"

6. Recurring Customers Who Skipped This Season's Visit

In ServiceTitan, recurring services live on the membership record (Maintenance Visits) and in Reports > Customer > Recurring Services. The skipped customers are the ones whose last visit was a season ago and have nothing scheduled for this season.

It leaks because the recurring services logic assumes the customer keeps the schedule. If they cancelled or no-showed a visit, no automation flags them as needing a re-book. The Maintenance Visit count on their membership goes unused and nobody chases.

For seasonal trades (HVAC tune-ups, plumbing inspections, drain maintenance), Pete and Gabi's reactivation guide and ServiceTitan's own member retention benchmarks put the skip recovery rate at 22 to 35% on a same-week SMS. A 500-customer skip pile at a $200 average visit is $22K to $35K every season, with the LTV stack from members who actually use their visits running 30 to 50% higher.

To plug it manually: every Monday in season, pull active memberships with unused Maintenance Visits remaining and no upcoming service appointment. Cross-check against last visit date. Send a "you're on the list, want to lock in your slot?" SMS in batches.

See find your top 100 customers in your CRM for the prioritization frame.

Text Clint: "list ServiceTitan members who skipped this season's maintenance visit, ranked by lifetime value"

7. Missed Calls With No Callback

ServiceTitan's call recording (under Reports > Office > Call Logs or the Calls tab on a customer) tracks inbound and outbound calls if you have ServiceTitan Phones or a tracked-number integration. Missed-call follow-up is partial: there is a queue, but no automated callback and no first-class link between a missed call and the customer's job history.

It leaks because Invoca's 2024 conversation analytics report puts the home services missed-call rate at 27% and the average value of a single missed inbound at $1,200. Even with ServiceTitan tracking the misses, if no agent works the queue, the calls just sit.

The math: a 100-call-per-day shop is missing 27 calls a day. At $1,200 per miss, that is over $32K a day exposed. A 30% callback rate recovers $9,700 a day. Owned and Operated guests at $30M+ shops describe a 7:30 AM and 4:30 PM daily callback routine as the operational floor.

To plug it manually: open Reports > Office > Call Logs, filter for Missed in the last 24 hours. Assign a CSR to call back every miss within 4 hours. Tag each callback in Notes with "callback complete."

ServiceTitan tracks the calls but does not stitch them with the customer's quote, job, or membership history without a tool. See how to find alive leads in your contractor CRM for the cross-system view.

Text Clint: "show every missed call from yesterday that we never called back, with the customer's job and membership history"

8. Cancelled Jobs Never Re-Quoted or Re-Contacted

In ServiceTitan, cancelled jobs sit under Reports > Operations > Job Cancellation Report or CRM > Customer > Jobs filtered by Status = Canceled. The Lost Reasons under Settings > Operations > Job Cancellation Reasons capture the why if you have configured them.

It leaks because the report does not differentiate "cancelled because the customer went elsewhere" from "cancelled because the customer rescheduled and never re-booked" from "cancelled because we couldn't make the slot work." Each one needs a different recovery motion.

Owned and Operated podcast episodes with John Wilson and Jack Carr both reference cancelled-job recovery as the highest-yield outbound work for an existing CSR. Wilson Companies tracks a 28 to 40% re-book rate on cancellations called within 7 days. For a 30-cancellation-a-week ServiceTitan shop, recovering 30% at a $700 average ticket is $6,300 a week, or $325K a year.

To plug it manually: pull Reports > Operations > Job Cancellation Report weekly. Sort by Cancellation Date descending. For each one, check the original estimate total and the Lost Reason. Anything cancelled in the last 14 days with a recoverable reason (rescheduled, scheduling conflict, customer ghost) gets a re-contact this week.

For the dead-leads framing see dead leads in your CRM are worth $10K each.

Text Clint: "list every ServiceTitan job cancelled in the last 30 days that we never re-quoted"

How Clint Stitches All 8 Together

Each leak is solvable inside ServiceTitan. The reason most $2M-$10M shops do not solve them is fragmentation. ServiceTitan holds the estimate, customer, membership, and job data. Gmail holds the reply thread. ServiceTitan Phones hold the missed calls. Google Calendar holds the freed-up slots. The eight queries need data from all four systems before they fire as a daily process.

That is what Clint does. Text Clint and it audits these 8 leakage points across your CRM, email, calls, and calendar in seconds, then sends the follow-up itself.

Sources

Frequently Asked Questions

6 questions home service owners actually ask about this.

  • 01Which ServiceTitan modules do I need to run these 8 audits?

    The Estimate Detail and Job Cancellation reports are core to every plan. Memberships and Marketing Pro are paid add-ons. The Marketing Scorecard requires Marketing Pro. Most $2M+ ServiceTitan shops have all of these. The bottleneck is rarely the module, it is stitching ServiceTitan data with phone, Gmail, and ad-spend data.

  • 02How long does the manual audit take?

    A clean run of all 8 queries takes 6 to 10 hours for a CSR or office manager who knows ServiceTitan well. Building the Custom Reports for items 2, 5, and 6 takes the bulk of the time. Most shops do queries 1, 3, and 7 once and stop.

  • 03Can I use ServiceTitan AI / Titan Intelligence for this?

    Titan Intelligence covers some of items 1 and 3 with predictive lead scoring, but it does not run the cross-system audit (calls + email + calendar). See what Titan Intelligence cannot tell you for the gap analysis.

  • 04What if my CSR already runs follow-ups?

    Most CSRs run estimate follow-ups (item 1) and missed-call callbacks (item 7) when the inbound queue is calm. Items 2, 5, 6, and 8 almost never get touched because they need reports the CSR has no daily reason to open. The audit is most valuable for the unscheduled work.

  • 05Can I run these queries from a spreadsheet?

    Yes. ServiceTitan exports every report to CSV. The friction is doing the cross-system join (ServiceTitan + Gmail + CallRail + ad spend) without a tool. Most shops give up at the join step and run only the ServiceTitan-only queries.

  • 06How accurate are the dollar-amount estimates?

    The ranges quoted are based on LocaliQ, Hatch, ServiceTitan, and Invoca published benchmarks for $2M-$10M home service shops. HVAC and plumbing shops typically land at the high end. Roofing and electrical at the middle. Cleaning and landscaping below the range.

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.