The average contractor has between $50,000 and $500,000 in unsold estimates sitting in their CRM right now. These are leads they already paid to generate, jobs they already sent a tech to price, revenue that simply stopped existing the moment nobody followed up. 80% of sales require five or more follow-up touches, but most contractors make one call, get voicemail, and move on.

Why your dead estimates are not actually dead

A homeowner who asked for a quote six months ago did not stop needing the work. Their roof is six months older. Their HVAC system is six months closer to failure.

The job is still there - you just stopped asking. That gap between the estimate and the closed job is recoverable revenue, and automation is how you collect it at scale.

Amanda Mahaffey, who co-owns Tuck & Howell Plumbing, Heating and Air in South Carolina, said it plainly after growing the business from $4 million to $11 million in two years using ServiceTitan: "Imagine if we were able to pick up an additional 15% of revenue by following up on unsold estimates." That is not a hypothetical. That is money already in her pipeline.

The behavioral problem is simple. Your office manager has 40 other things to do. Your CSRs are answering inbound calls. Nobody has the bandwidth to manually work through 300 unsold quotes from the last 18 months.

So it never happens. That is the entire problem, and it is fixable in one afternoon.

What does this automation actually do?

The Unsold Estimate Reactivation Campaign pulls your unsold estimates out of your CRM, segments them by age, job value, and service type, then uses AI to generate personalized re-engagement messages. Each message references the actual estimate - the specific service, the address, the dollar amount, the tech notes.

We built a step-by-step recipe for this that walks through the full build in ServiceTitan, Jobber, Housecall Pro, and GoHighLevel. No-code flow, three hours of setup.

The output is a multi-touch campaign. Not one email blast. Five touches over 28 days, spaced and sequenced, stopping the moment the customer responds.

How much revenue can you actually expect back?

Across dozens of contractor accounts, we consistently see 5–12% reactivation on dead estimates. At a $2,500 average residential ticket, a database of 200 unsold estimates recovers between $2,500 and $6,000 in month one.

Scale that to 500 estimates at a $3,500 ticket and you are talking $8,750 to $21,000. Relentless Digital documented one client who generated over $300,000 from a single reactivation campaign that cost less than $500 to execute, with the first booked job appearing within 48 hours of launch.

The month-one range we quote, $5,000 to $20,000, is the conservative floor, not the ceiling.

Estimate VolumeAvg Ticket5% Recovery12% Recovery
100 estimates$1,500$750$1,800
200 estimates$2,500$2,500$6,000
300 estimates$3,000$4,500$10,800
500 estimates$3,500$8,750$21,000
1,000 estimates$5,000$25,000$60,000

Why every dead quote costs you $50–$181 in wasted ad spend

LocaliQ analyzed over 3,200 search ad campaigns between April 2024 and March 2025 and found that cost per lead increased for 69% of home services businesses, up an average of 10.51% year over year - roughly double the increase seen across all other industries. WebFX's 2026 benchmarks put average CPL at $144 for B2C home services.

Google Local Services Ads went from $50.46 per lead in 2023 to $60.50 in 2024, a 20% jump in a single year, according to 99 Calls' 2024 Google Ads Lead Cost Report. Every unsold estimate in your CRM is an asset you already paid $50 to $181 to create.

Writing it off is not "moving on." It is setting money on fire. If you are struggling with how to manage cash flow in your contractor business, reactivating dead estimates is the fastest lever you have - no new ad spend, no new trucks, no new hires.

How do you build the campaign without a developer?

You export your unsold estimates from your CRM. The fields you need are: customer name, service address, service type, quote amount, quote date, and any tech notes. Most CRMs let you pull this in under five minutes.

From there, the AI segments your list. Estimates under 90 days get one message angle. Estimates 90 to 180 days get a different one, and anything older gets paired with a seasonal hook or a pricing note.

High-value estimates get prioritized in sequence. The messages reference the actual job - not "we'd love to earn your business" generic copy, but something like: "Hi Mike, we quoted you in October for the panel upgrade at 4812 Westview - just checking if the timing works better now."

A ContractorTalk member documented winning back a bathroom remodel by sending a message that compared his Schluter spec line by line against the competitor's hot mop bid. The customer hired him based on scope clarity alone. The job had been sitting dead for four months.

For contractors already thinking about how to increase average job ticket in home services, reactivation messages are also a natural place to introduce good-better-best upgrade options on jobs the customer already asked about.

Build Your Reactivation Campaign

Get Started

What software do you need?

The recipe works natively with ServiceTitan, Jobber, Housecall Pro, and GoHighLevel. If your CRM does not have built-in automation, tools like n8n or Zapier can trigger the campaign based on estimate status changes. SMS platform costs run approximately $100 to $300 per month.

ForwardFirst Media documented an electrical contractor in Texas who ran a 30-day automated follow-up sequence through Chiirp and took his close rate from 15% to 35% - zero manual hours from his CSRs. That is a 20-percentage-point improvement on leads he had already given up on.

John Wilson, CEO of The Wilson Companies and host of the Owned and Operated podcast, uses Hatch to automate estimate follow-up at Wilson Plumbing and Heating. Hatch analyzed 163,000 HVAC estimate follow-up campaigns and found an average response rate of 60%, with the best-performing campaign hitting 90.06%. Wilson said: "We're selling a ton of unsold estimates, and it's easier than ever to book follow-up appointments."

If you are scaling to multiple trucks in your plumbing business or building out your HVAC service agreements, automated follow-up is not optional infrastructure at that stage - it is table stakes.

What is the right follow-up sequence length?

Five touches over 28 days is the standard that works. Touch one goes out day one, touch two on day three, touch three at day seven, touch four at day fourteen, and touch five at day twenty-eight.

Every message has a different angle: the first is a simple check-in, the second adds a seasonal or urgency hook, the third offers a soft call-to-action, the fourth introduces a limited-time offer, and the fifth is a final close. Each message stops sending the moment the customer responds.

60% of customers say no four times before agreeing. If you stop after two attempts, you are walking away from the majority of your closeable pipeline. That is not the customers saying no to the job - that is you saying no to the revenue.

For contractors who want to turn closed jobs into recurring income, layering service agreements onto reactivated estimates during the follow-up sequence is a move worth building into your template. Customers who re-engage are already warm, which makes a membership conversation much easier to open.

If you want your AI receptionist or front-office automation to handle inbound responses from the campaign, that is a natural integration once your reactivation sequence is live. Contractors investing in technician sales training will also find that reactivation campaigns surface the warm leads where those skills matter most - customers who already said yes in their head but never got called back.

Tracking results and improving over time

Once your campaign is live, track four numbers: messages sent, responses received, appointments booked, and jobs closed. Most SMS platforms report these automatically. Your response rate should land between 20% and 60% depending on message quality and list age.

If response rates are low, the first fix is message personalization. Generic copy drags down response rates faster than any other single variable. Reference the address, the service type, and the original quote amount in every first touch.

Contractors who review campaign data monthly and adjust message angles based on response patterns consistently see their reactivation rate climb from the 5% floor toward the 12% ceiling within three to four months. Building this into a monthly review cadence is how a one-time setup becomes a permanent revenue channel. For contractors managing cash flow across a growing business, that predictable monthly recovery number starts to function like a recurring revenue line.

Frequently Asked Questions

How old is too old to follow up on an unsold estimate?

There is no hard cutoff. A two-year-old HVAC estimate means the system is two years older and closer to failure - the job is more urgent now, not less. Practitioners who run reactivation campaigns regularly pull estimates going back 18 to 24 months and see meaningful response rates on every segment.

Will customers be annoyed by a reactivation message?

Not if the message references their specific job. Generic blast messages feel like spam, but a message that mentions the address, the service, and the date of the original quote feels like customer service. The conversion rate difference between the two approaches is not marginal - it is the difference between a 2% response and a 60% response, per Hatch's campaign data.

Do I need to know how to code to build this?

No. The recipe is rated a no-code flow with a three-hour setup time. ServiceTitan, Jobber, and Housecall Pro all support automation triggers natively, and GoHighLevel handles the full campaign sequence without any custom development. If you want more advanced segmentation, tools like Zapier and n8n connect your CRM to your messaging platform without writing a single line of code.

What is a realistic ROI expectation for month one?

At a 5% reactivation rate on 200 estimates with a $3,000 average ticket, that is $3,000 in recovered revenue. At 12% on 500 estimates at $3,500, that is $21,000. The $5,000 to $20,000 month-one range is conservative and based on real campaign data - SMS reactivation campaigns routinely produce 10x ROI or higher, per ForwardFirst Media's 2026 analysis.

Should I pair this with a discounting strategy?

Use discounting carefully and only on estimates over 180 days old. Younger estimates often close simply because you showed up again. For older estimates, a seasonal hook or a minor offer - free tune-up, waived diagnostic fee - can be the nudge that closes the job without training customers to wait for a deal.

Do this today

Export your unsold estimates from the last 24 months, drop them into the automation, and have your first campaign live by end of week. You already paid to earn every one of those leads. Collecting on them is the highest-ROI move in your business right now.