Every HVAC shop ends summer with the same pile: replacement quotes that got a “let me think about it,” repair estimates parked over price, and comfort advisor proposals nobody touched after the second text. By late September those estimates are 60 to 150 days old, the phones are slowing down, and the follow-up list is so cluttered your CSRs stopped trusting it.
That pile is not dead revenue. ServiceTitan’s own data shows only 37% of estimates convert immediately, which means most sold work depends on what happens after the tech leaves the driveway.
The catch is that most unsold estimate follow-up advice stops around day 14. A summer backlog needs something different: a seasonal reactivation campaign that reworks the old cooling quote into a heating-season offer, sends it on the right channel to the right segment, and tracks exactly what it recovers.
Key takeaways
- A summer backlog is a campaign, not a reminder. Estimates that are 60 to 150 days old need a new offer and a new reason to act, not “just checking in.”
- Segment before you send. Estimate age, replacement vs repair, and the reason it did not sell decide the offer, the channel and who makes contact.
- Rework AC quotes for heating season. An unsold AC replacement can become a heat pump or dual fuel offer that solves the furnace problem the homeowner has not thought about yet.
- Know your platform limits. ServiceTitan has no bulk dismissal, and Housecall Pro automation rules do not apply to estimates sent before the rule existed.
- Report recovered revenue on its own line. Tag reopened estimates to a campaign so the result is not buried in new-lead revenue.
What unsold estimate follow-up and seasonal estimate reactivation mean
Unsold estimate follow-up is the process of contacting customers who received a quote but did not buy, until each estimate is sold, re-scoped, or formally dismissed. Seasonal estimate reactivation is a planned campaign that reopens aged estimates when the season changes, with an offer rebuilt for the new season instead of a reminder about the old one.
The difference matters. A reminder assumes the customer is still weighing the same decision. A reactivation assumes their situation changed, because it did: summer is over, the AC either limped through or got patched, and the furnace is about to start running.
Why a day 14 cadence does not fit a summer backlog
The standard estimate follow-up cadence is built for fresh quotes: a same-day text, a call in a day or two, a financing nudge around day 7, a close-the-loop message near day 14. That works when the homeowner still remembers the tech’s name.
A July replacement quote opened in late September is a different animal. The pricing may be stale, the recommended equipment may not be the best fit for heating season, and the customer has likely forgotten the details. Sending the same PDF again usually gets the same answer.
Why fall is the right window
ServiceTitan’s follow-up guidance points out that when schedules slow down, unsold estimates are one of the fastest ways to fill the pipeline. Early fall is exactly that moment for most HVAC shops: cooling calls taper, heating rush has not hit, and install crews have open days.
Working the backlog now books revenue into the shoulder season instead of competing with no-heat calls in November.
How to segment unsold HVAC estimates before you send anything
Split the backlog by three things before writing a single message: estimate age, ticket type (replacement or repair), and the reason it did not sell. Each segment gets its own offer, channel and timing.

In most HVAC accounts we manage, the reason not sold is the most useful field and the most often blank. If your techs and comfort advisors did not log it, have a CSR skim the notes and assign the best guess. A rough code beats no code.
| Segment | Offer | Channel | Timing |
|---|---|---|---|
| 30 to 90 days, replacement, price | Re-quote with Good, Better, Best options and monthly payment framing | Phone call from the comfort advisor | First cool week of fall |
| 30 to 90 days, replacement, timing | Heating-season version: heat pump or dual fuel covering cooling and the aging furnace | Phone, then email with the new proposal | Before heating calls ramp up |
| Any age, financing was the blocker | Same scope, restated as a monthly payment with current financing options | Text first, call if they reply | Week one of the campaign |
| 90+ days, chose a competitor | Heating tune-up or safety check, not the old quote | Email or direct mail | Mid fall |
| 90+ days, no response | Short “is this still relevant?” check-in plus a tune-up offer | Text or email | Spread across the campaign |
| Repair estimates, any age | Re-inspect during a fall maintenance visit and re-quote on site | Text with a booking link | With your fall maintenance push |
Which unsold estimates are worth a phone call
A person should call anyone with a replacement estimate under 90 days old, anyone who gave price or timing as the reason, and anyone who opened or replied to an automated message. These are the conversations where a comfort advisor can re-scope the job, and automation cannot do that.
Low-ticket repairs, no-response estimates over 90 days, and customers who chose a competitor can usually run on automated text or email. If they engage, they move to the call list.
Pro tip: Sort the call list by estimate value and age together, not one or the other. A large replacement quote from August outranks a small repair from June, even though the June estimate is older.
How to turn a summer AC quote into a fall heating offer
Rebuild the estimate around the whole system and the coming season, then decide whether the original price still holds. The goal is to give the homeowner a new decision, not a second chance at the old one.
Rebuild the offer around the whole system
A homeowner who balked at a July AC replacement often has a furnace of similar age sitting next to the air handler. In fall, that furnace is the bigger worry. A heat pump or dual fuel proposal reframes the conversation from “replace the AC you survived summer with” to “solve heating and cooling in one install before winter.”
Good, Better, Best proposals work well here. Put the straight AC replacement as one option, a dual fuel or heat pump setup as another, and a repair or tune-up path as the entry option, so the customer has a reason to say yes to something.
Keep the message specific. Reference the system the tech inspected, the age noted on the original visit, and what the homeowner said mattered to them. Generic “fall savings” blasts read like spam to someone who already met your team.
Should you re-quote or honor the old price
Honor the old price when the scope is unchanged, the equipment is still available, and the quote is within the validity window you printed on it. That is the cleanest close and it rewards the customer for coming back.
Re-quote when any of these are true:
- The scope changed. Moving from AC only to a heat pump or dual fuel system is a new proposal, not a revision.
- The equipment changed. If the original model or a key component is no longer what you would install, quote what you would actually put in.
- The quote expired. Honoring an expired quote is a discount. Make it a deliberate one, not an accident.
- The site conditions are unknown. If months have passed and the system was patched or worked on by someone else, book a re-inspection first.
When you re-quote, say so plainly in the outreach. “We updated your proposal for heating season” is honest and gives the customer a reason to look again.
How to pull and work the backlog in ServiceTitan and Housecall Pro
Start from a full export of unsold estimates, clean out the dead ones, segment what remains, then send and log outcomes. Both platforms have quirks that change how you run each step.
Here is the reactivation process we use as a framework:
- Pull the full backlog. Export every unsold estimate from the summer months, not just what shows on the default follow-up view.
- Clean the list. Dismiss or archive estimates for customers who moved, already replaced the system, or asked not to be contacted.
- Segment. Assign each estimate an age band, a ticket type and a reason not sold using the table above.
- Rebuild offers. Decide honor or re-quote per segment and update proposals for heating season.
- Launch outreach. Automate the low-touch segments and hand the call list to comfort advisors and CSRs.
- Log every outcome. Update status after each touch, and tag anything sold to the reactivation campaign.
In ServiceTitan
The Follow Up screen tracks sold and unsold estimates, and Unsold Estimates is the first tab: estimates created but not yet sold. You can filter by business unit and job type, which helps split replacement from repair, and you can sell an estimate or log a follow-up reminder right from the screen.
For the initial pull, use the Opportunity and Estimate Follow Up report. ServiceTitan notes it can surface unsold estimates that may not appear on the Follow Up screen, so it is the safer starting point for a full summer backlog.
Cleaning takes time because bulk dismissal is not supported. Each dead estimate has to be dismissed individually under Follow Up > Unsold Estimates. Budget CSR hours for this, because the payoff is a list your team can trust.
Dismissed estimates are not lost. ServiceTitan lets you find them later and reuse them for maintenance follow-up jobs, which is exactly where the “chose a competitor” and “no response” segments belong. Use the Contacted status to mark customers reached on the last follow-up date who have not bought yet. If you run Marketing Pro, it can automate follow-up for unsold estimates, so the low-touch segments do not need manual sends.
In Housecall Pro
Housecall Pro pipeline automation has two limits that shape the plan. Automation rules only apply from the date they are created, so any estimate sent before you built the rule will not be picked up. Older summer estimates have to be resent manually to enter the flow.
Automated follow-ups also go out by email or text based on how the estimate was last sent. You cannot pick the channel by segment in the native automation, so if a segment needs a phone call or a different channel than last time, plan that touch outside the automation.
By default, approved or declined estimates move to the archive after 7 or more days. Check the archive when you pull the backlog so declined summer quotes are not missed.
Pro tip: Before texting an aged list, confirm each contact still has a valid mobile number and an opt-in record in your CRM. Old lists carry stale numbers, and a clean send protects both deliverability and your reputation.
For more on building automations that tie back to booked work, see marketing automation systems that actually support revenue and SMS marketing systems that actually support revenue.
How to track recovered revenue separately from new-lead revenue
Recovered revenue is the sold value of estimates reopened by a reactivation campaign, tagged with that campaign or source in your CRM and reported separately from new-lead revenue. If you do not separate it, a strong reactivation month looks like a strong ad month, and budget decisions get made on the wrong signal.
The point is not to take credit away from the original lead source. The estimate still came from somewhere. The point is to see what the follow-up work produced on its own, so you know whether the CSR hours and outreach were worth it.
| Metric | New-lead revenue | Recovered revenue |
|---|---|---|
| What it counts | Jobs sold from leads that arrived in the period | Sold value of aged estimates reopened by the campaign |
| How it is tagged | Original marketing campaign or source | Reactivation campaign tag, with original source kept for reference |
| Main decision it informs | Ad and channel budget | Follow-up staffing, offers and automation |
Use this checklist to set it up:
- Create a dedicated campaign. Name it for the season and year so fall results do not blend with spring.
- Tag at the moment of sale. The CSR or advisor who closes a reopened estimate applies the campaign tag, not someone reconciling at month end.
- Keep the original source. Store it alongside the campaign tag so you can still see which channel produced the first estimate.
- Report by segment. Break recovered revenue out by age band and reason not sold to see which offers worked.
- Count re-scoped jobs. A summer AC quote that closes as a fall dual fuel install is recovered revenue, even though the ticket changed.
- Track dismissals too. The number of estimates dismissed and moved to maintenance follow-up shows how clean the list is getting.
If you run ServiceTitan, our guide to ServiceTitan campaign tracking for better budget decisions covers campaign setup, and connecting CRM revenue data back to marketing decisions explains how to keep the reporting honest.
How Ad Leverage builds seasonal estimate reactivation campaigns
We treat the summer backlog as a defined campaign with its own segments, offers and reporting line. Our team works inside your ServiceTitan or Housecall Pro account to pull the full export, help your CSRs clean the list, and map each segment to the right message and channel.
From there, we build the automated text and email flows for low-touch segments, prepare the call lists for your comfort advisors, and set up campaign tagging so recovered revenue shows up as its own number. Fall heating offers, re-quote rules and timing get planned around your install capacity, not a generic calendar.
If your follow-up list has turned into a graveyard, our marketing automation team can help you turn it into a working pipeline before heating season peaks.
Frequently asked questions
How many follow-up attempts is reasonable for an unsold estimate?
There is no universal number, but ServiceTitan’s guidance is clear that one follow-up is not enough. For a fresh estimate, a few touches across text, call and email is standard. For an aged backlog, run a defined reactivation campaign with a set number of touches, then dismiss the estimate and move the customer to maintenance follow-up.
How long should an HVAC company keep following up on an unsold estimate?
Active follow-up usually ends within a few weeks of the quote, but the estimate stays useful far longer. Reopen it at the next season change with a new offer, as described above. Once the customer replaces the system elsewhere or asks you to stop, dismiss it.
How do I re-offer a summer AC quote in the fall?
Rebuild it around heating season. Present the original AC replacement alongside a heat pump or dual fuel option and a lower-cost repair or tune-up path, and tell the customer you updated the proposal for winter. Reference the system and concerns from the original visit so it does not read like a mass blast.
Will automated follow-ups go out as SMS or email?
In Housecall Pro, automated follow-ups use the same channel the estimate was last sent through, email or text, and you cannot choose by segment in the native automation. Plan any off-channel touch, like a phone call, outside the automation. In ServiceTitan, Marketing Pro handles automated unsold estimate follow-up.
Can dismissed estimates be reused for follow-up maintenance jobs?
Yes, in ServiceTitan. Dismissed estimates can be found later and reused for maintenance follow-up jobs. That makes dismissing dead quotes low risk: you clean the active list without losing the customer.
What can be automated and what needs a person?
Automate check-ins, financing reminders and tune-up offers for low-ticket and long-dormant segments. Keep a person on replacement estimates under 90 days old, price and timing objections, and anyone who replies to an automated message. Re-scoping a job is a conversation, not a template.


