Short answer: stop selling repairs and start selling maintenance, indoor air quality and duct work — to the customers you already have — and move the ad budget across to those terms instead of switching it off. Spring demand does not disappear. The emergency demand disappears. That is a different problem with a different fix.
Every April a contractor tells us the phones have gone quiet and asks whether the marketing has stopped working. Usually it has not. Nobody types "AC not blowing cold" when it is 68 degrees outside. What has gone is the pool of people with a broken system and no choice.
What actually happens to demand in the shoulder season
Check it yourself. Put "ac repair" into Google Trends, set the region to your state and the window to five years. The same shape shows up every year: a hard ramp starting with the first genuinely hot week, a peak through July and August, a collapse in October, a smaller furnace peak in December and January, and two flat troughs — April to mid-May, and late September into October.
Two things vary by market, and they matter more than any national advice:
- When your ramp starts. In El Paso, Phoenix and the Rio Grande Valley, cooling calls start in March and the real shoulder is February. In Chicago or upstate New York the first AC call may not land until the last week of May, leaving a real two-month gap after the heating season.
- Whether you have a heating season at all. Southern contractors get one peak and one long trough. Northern contractors get two peaks and two short troughs, which is easier to staff for and harder to cash-flow.
Search volume for "ac tune up", "hvac maintenance plan" and "duct sealing" behaves differently. It never spikes the way emergency terms do, and it holds up far better in the shoulder, because it is a planned purchase rather than a panic purchase. That is the demand you are going after.
Mine your own list before you spend another dollar on clicks
This is the cheap option and it is also the right one. If you are buying clicks in April while a customer database sits untouched in ServiceTitan, Housecall Pro, FieldEdge or Jobber, you have the order wrong.
Run the arithmetic. A click on a competitive repair term in a large metro can cost $25 to $60 depending on the market and the season. Call it $40. If the landing page books 3% of clicks, that is roughly $1,300 in media per booked job before you have paid a technician. Now take an email to 3,000 past customers: the platform costs between $50 and $400 a month, and if 2% book a tune-up you have 60 jobs for close to nothing. The list wins on every measure, and unlike the auction it gets cheaper as it grows.
Segments worth pulling, in rough order of how likely they are to pay:
- Systems you installed eight to twelve years ago. This is your replacement pipeline. A spring tune-up puts a technician in front of the equipment before it fails in August.
- Declined repairs over about $500 in the last 18 months. They chose not to spend it at the time. Circumstances change.
- Anyone who has bought twice and has no maintenance agreement. They already trust you. Nobody has asked them.
- Members whose visit is due. The obligation you have already been paid for. Do not let these lapse quietly.
Email plus SMS, two touches, plain text, one offer per send. If you want that running on a schedule instead of as a manual export every spring, that is what a CRM like GoHighLevel is for — pipelines, automated follow-up, missed-call text-back. It is not magic; it is the letters you were going to send anyway, sent reliably.
The maintenance agreement is the whole game
Plan revenue is not the point. Agreements typically sit between $150 and $350 a year for two visits, and after parts and labour the margin on the plan itself is thin. What you are buying is a scheduled reason to be inside the house twice a year, in the months when nothing else fills the board.
Size it properly. Four technicians doing six tune-ups a day across twenty working days is 480 slots in a month. To fill April and May on maintenance work alone you need something in the region of 900 to 1,000 members on a spring rotation. That is a multi-year build, not a spring campaign, which is why the contractors who are comfortable in April started three seasons ago.
- Plans sold at the point of a repair convert far better than plans sold cold from an email. Train the technician, not the marketer.
- A plan you cannot service is worse than no plan at all. Oversell agreements, miss the visits, and you will spend the savings on repairing your review profile instead.
IAQ and duct work: sell what you can measure
Indoor air quality is the right spring offer and it is also where the trade earns its worst reputation. The line that keeps you clean is simple: sell what you can put a number on.
Static pressure testing, duct leakage testing, sealing, return sizing, filter cabinet upgrades and correctly specified dehumidifiers all produce a before-and-after reading you can show the homeowner. A duct system running well over the equipment's rated external static pressure is a real fault with a real fix, and it explains the hot back bedroom the customer has complained about for years.
Blanket duct-cleaning offers and UV lamps sold on health claims are a different matter. The evidence is thinner than the advertising suggests, and homeowners are getting better at spotting it. Sell airflow, comfort and measured leakage. The trade-off is a slower sale with far fewer callbacks.
Reallocate the ad spend, do not switch it off
Pausing paid media in April is the most expensive saving in the trade:
- Local Services Ads position. LSAs weigh responsiveness, review activity and consistent participation. Six weeks dark does not resume where you left it.
- Campaign signal. Paused Google Ads campaigns lose their recent conversion history. You end up rebuilding bids and audiences in June, in the most expensive week of the year.
- Review flow. Fewer jobs means fewer reviews, and review velocity feeds both the map pack and LSA ranking. The gap shows up in July, not April.
Change the keyword mix and the offer instead. Move budget off "ac repair near me" and onto tune-up, maintenance plan, duct sealing, mini-split, heat pump, and any rebate or financing terms live in your utility territory. Those clicks are cheaper and the intent is planning rather than panic, so send them to a booking calendar with a price on it, not a "request a quote" black hole. The offer change is usually worth more than the budget change, which is why the landing page is the first thing worth auditing and why a spring account looks nothing like a July account.
Spring is also the only stretch of the year with capacity to fix the slow, compounding things: Google Business Profile categories and service areas, city and service pages, site speed. Local search work and content do not produce a bill you can pause, and what you build now is what carries the summer. Our HVAC marketing page goes further into the seasonal build.
What a spring programme costs
Bands, not prices. What moves them: market size, how many contractors bid against you, and whether you are chasing installs or service calls.
| Item | Typical monthly range | What moves it |
|---|---|---|
| Google Ads spend, single metro | $2,000 – $8,000 | Population, install vs service focus, competitor count |
| Local Services Ads spend | $1,000 – $4,000 | Lead price in your market, budget cap, dispute rate |
| Paid media management | 10–20% of spend, or $500 – $2,500 | Campaign count, call tracking, reporting depth |
| Email and SMS platform | $50 – $400 | List size and SMS volume |
| Local SEO and content | $800 – $4,000 | Number of service areas, condition of the existing site |
| Tune-up landing page and tracking | $500 – $3,000 one-off | Booking integration, number of variants |
Star Force Solutions starts from $200 a month as a minimum, and scope moves it — a single-location shop reactivating a list is not the same job as a six-branch operator bidding on installs across three metros. The pricing page sets out what moves it, and the ROI calculator will tell you whether a given spend can pay for itself at your average ticket and close rate before you commit to anything.
When the honest answer is "spend less"
If your list is under about 500 households and you have no maintenance base, a big spring ad budget is the wrong purchase. Put the money into the plan programme, the technician's close-out script and the review flow, hold your LSA position on a floor budget, and buy volume back when the heat returns. Agencies rarely say that out loud because the fee scales with the spend.
The order to do it in
- Export the customer list and segment it. No spend required.
- Email and text the four segments above, one offer per send, not four.
- Rewrite the tune-up page so it books directly, with a price on it.
- Shift the ad budget from emergency terms to maintenance, IAQ and duct terms. Keep LSAs running at a floor budget.
- Put a review request into the close-out process. Review velocity is a slow build and August is the wrong month to start it.
- Use the slack for the service-area pages, tracking and site fixes there is never time for in August.
Most of that you can run yourself with software you already pay for, and with a decent office manager you should. Where an agency earns its fee is the work that does not fit around a busy season: campaign structure, tracking that ties a booked job back to the click, and the content build. That is the lead generation work we do, from El Paso, for contractors across the country. If you want a straight answer on which half you need, tell us what your spring looks like.

