How to Build an HVAC Marketing Plan (With a Sample and Seasonal Calendar)

How to Build an HVAC Marketing Plan (With a Sample and Seasonal Calendar)

By Christoph Olivier, Founder, CO Consulting

Last reviewed: July 2026

Most HVAC marketing plans are just a list of tactics. Run some Google Ads, post on Facebook, buy a few Angi leads. That is not a plan. A plan starts with your numbers, decides what a booked job is allowed to cost, and paces spend across the year so you are not broke in April and buried in July. Here is how to build one a technician-owner can actually run.

What an HVAC marketing plan actually is

An HVAC marketing plan is a written system that ties your marketing spend to booked jobs and revenue, not clicks or leads. It sets a budget as a share of revenue, picks a small number of channels, assigns a target cost per booked job, and schedules that spend against your seasonal demand. The goal is a full board year-round, not a busy summer and a dead fall.

Skip the vanity. You are not buying impressions. You are buying confirmed appointments on the board and, from those, replacement sells and membership signups.

Start with two numbers: average ticket and cost per booked job

Before you pick a single channel, know your average ticket and your cost per booked job. Average service ticket for residential HVAC runs $400 to $700, while a system replacement runs $4,800 to $13,000 or more. Cost per booked job is what you paid in marketing to put one confirmed appointment on the board. Those two numbers decide how much you can afford to spend and still profit.

Cost per lead lies. Cost per booked job tells the truth. A $140 Local Services Ads call becomes a $240 cost per booked job at a 90% answer rate and 65% booking rate. The same $140 call becomes a $514 cost per booked job at a 68% answer rate and 40% booking rate. Same ad spend, double the cost, and the difference is how your office answers the phone. That is why HVAC marketing has to include the booking step, not just the ad.

Blended customer acquisition cost across HVAC lands around $296 to $350. Top operators hold it under $350 while spending 8% to 12% of gross revenue on marketing. If you cannot measure cost per booked job yet, that is your first project. Put call tracking on every number and tag booked jobs in your CRM.

The seven parts of every HVAC marketing plan

  1. Budget: a fixed share of projected revenue, usually 5% to 8% in maintenance mode, 7% to 10% for growth, and 12% or more for aggressive expansion.
  2. Targets: a cost-per-booked-job ceiling and a monthly booked-job goal, split by service calls and replacements.
  3. Core channels: Local Services Ads, Google Business Profile, and reviews. These carry the plan.
  4. Membership growth: a monthly target for new maintenance agreements.
  5. Speed to lead: missed-call text-back and a booking process that converts the call.
  6. Seasonal pacing: a month-by-month budget that funds peak and defends shoulder season.
  7. Measurement: booked jobs, cost per booked job, close rate, average ticket, and membership count.

The core channels, ranked by booked-job value

Put money where high-intent buyers already are. For HVAC, that means Local Services Ads and the map pack first, then reviews to feed both, then a membership engine that lowers next year’s acquisition cost. Everything else is secondary.

ChannelWhat it deliversRough economics
Local Services Ads (Google Verified)Top-of-page, pay-per-lead, high intent~$51 per lead, 44% book rate, ~$168 per booked job
Google Business Profile and map pack“Near me” visibility, compounding, cheapest long runRanks on relevance, distance, prominence
Reviews (volume and recency)Map-pack ranking factor and trust signal6 to 10 new reviews per month hold positions
Membership reactivation (email/text)Cheapest revenue you ownMaintenance-customer acquisition ~$100 vs $300 to $500 for install
Shared leads (Angi/HomeAdvisor)Same lead sold to several contractors~$542 per booked job, over 3x Local Services Ads

The move is simple. Shift budget out of shared leads at roughly $542 per booked job and into Local Services Ads at roughly $168, plus your own Google Business Profile and reviews. Measure it in cost per booked job, not cost per lead. A specialist in local SEO for HVAC contractors can build the map-pack and review-velocity side so it compounds instead of resetting every month.

Membership growth is the engine, not a nice-to-have

Maintenance agreements are the strategic core of the whole plan. They run $15 to $30 a month, carry 50% to 65% gross margin, and pull through $1 to $3 of repair and replacement work for every $1 of contract. Members generate about 2.1x the repair revenue and far higher lifetime value than one-time callers. A membership-attached customer is worth roughly $47,200 over the relationship versus about $15,340 for a non-member.

A strong membership base can cover 40% to 60% of fixed costs and fills truck time in the dead months. Set a monthly signup target and put it in the plan next to your booked-job goal. This is also what raises your sale multiple if you ever exit, because recurring revenue is what buyers underwrite.

Do not lose the calls you already paid for: missed-call text-back

You paid $51 for that Local Services Ads lead. If the phone rings while a tech is under a house and no one picks up, that money is gone. Missed-call text-back fires an automatic text the second a call goes unanswered, so the homeowner gets “Sorry we missed you, can we book you in?” instead of dialing the next contractor. In a no-heat or no-cool emergency, the buyer is in pain and calling three shops at once. First to respond usually wins the job.

Note the rules. Marketing and review-request texts generally need clear opt-in and opt-out language under the TCPA, so build consent into your intake.

A sample HVAC marketing plan

Here is a worked example for a five-truck residential shop doing $1.5M a year. At 8% of revenue, the marketing budget is $120,000 a year, or about $10,000 a month before seasonal pacing.

Line itemMonthly (average)Target
Local Services Ads$3,500Cost per booked job under $200
Google Search Ads (repair intent)$2,500Feed replacement sells
Local SEO and Google Business Profile$1,800Map-pack top 3 in core towns
Reviews and reputation system$7008 or more new reviews per month
Membership email/text reactivation$50020 or more new agreements per month
Website, tracking, missed-call text-back$1,00090% or higher answer rate

Targets for the year: hold blended cost per booked job under $300, grow the membership base by 240 agreements, and keep the close rate above 55%. Those are goals, not promises. Real numbers depend on your market, your pricing, and how your team runs the call.

The seasonal calendar: fund peak, defend shoulder season

HVAC demand is not flat, so your budget should not be flat either. Cooling peaks June to August, heating peaks December to February, and the shoulder seasons of April to May and September to November are the killers. Emergency-only shops see revenue drop 50% to 75% from peak to shoulder. The plan funds peak to capture urgent demand and defends shoulder season with membership and tune-up campaigns so the trucks stay full.

SeasonMonthsFocusBudget posture
Winter peakDec to FebNo-heat emergency capture, replacement sellsFund heavy, max Local Services Ads and search
Spring shoulderApr to MayAC tune-ups, membership drive, pre-summer list warmupDefend, push maintenance agreements
Summer peakJun to AugNo-cool emergency capture, fast mobile bookingFund heavy, protect answer rate
Fall shoulderSep to NovHeating tune-ups, membership renewals, reviewsDefend, note the October furnace-failure spike

Timing matters. Launch spring AC campaigns in February or March and fall heating campaigns in August or September, at least a month before demand rises. October often spikes on its own as dormant furnaces get fired up and fail, so keep emergency budget live through fall instead of cutting it. The owners who say “I am slammed in July anyway” are missing the real gap, which is April and October, and that is exactly where a paced plan earns its keep.

What changed in 2025: the Google Verified badge

Your trust story changed on November 7, 2025. Google consolidated Google Guaranteed, Google Screened, and License Verified into a single “Google Verified” badge and ended the money-back Google Guarantee. The old badge reimbursed unhappy homeowners up to about $2,000 per market. The new blue badge signals vetting and legitimacy only, with no money-back promise.

What that means for your plan: lean your trust story on reviews, warranties, and your own written guarantees to replace the Google-backed one that vanished. Keep the badge by renewing your license and insurance on schedule. It still requires a verified Google Business Profile, license verification, insurance, and background checks, which is a real barrier and a moat once you clear it.

How to know the plan is working

Track five numbers monthly: booked jobs, cost per booked job, close rate, average ticket, and membership count. If cost per booked job climbs, look at answer rate and booking rate before you blame the channel. If membership count is flat, your recurring revenue and your shoulder season are both at risk. Review the plan every quarter and shift budget toward whatever produces the cheapest booked jobs.

Building and running this while also running trucks is a lot. If you want an owner-level operator to set the targets, pace the budget, and hold the channels accountable, a fractional CMO for HVAC contractors gives you that layer without a full-time hire. Book a consultation to map your numbers to a plan.

Frequently asked questions

How much should an HVAC company spend on marketing?

Most HVAC companies spend 5% to 8% of revenue in maintenance mode, 7% to 10% for steady growth, and 12% or more when pushing hard. Top operators hold blended customer acquisition cost under $350 while spending in the 8% to 12% range. Set the number as a share of projected revenue, then pace it across the season.

What is a good cost per booked job for HVAC?

Aim for under $200 to $300 per booked job on high-intent channels. Local Services Ads average about $168 per booked job, while shared Angi leads run around $542. Your actual number depends heavily on answer rate and booking rate, so a $140 call can cost $240 or $514 depending on how your office handles it.

When should I start seasonal HVAC campaigns?

Launch about a month before demand rises. Start spring AC tune-up campaigns in February or March and fall heating campaigns in August or September. Keep emergency budget live through October, because dormant furnaces often fail then and create a spike. Do not wait for peak to start advertising, since your competitors are already there.

Do HVAC maintenance memberships really matter for marketing?

Yes, they are the engine. Memberships carry 50% to 65% gross margin, pull through $1 to $3 of work per $1 of contract, and produce roughly 2.1x the repair revenue of non-members. A membership-attached customer is worth about $47,200 versus $15,340 for a one-time caller, and the base fills shoulder-season truck time.

What replaced the Google Guarantee money-back badge?

On November 7, 2025, Google ended the money-back Google Guarantee and folded Google Guaranteed, Google Screened, and License Verified into one “Google Verified” badge. The new badge signals vetting only, with no consumer reimbursement. Shift your trust story to reviews, warranties, and your own guarantee, and renew license and insurance to keep the badge.

Can a marketing plan guarantee more booked jobs?

No honest plan guarantees results. Markets, pricing, and how your team answers the phone all move the numbers. What a good plan does is set targets, measure cost per booked job, and pace budget so spend follows demand. That discipline improves your odds, but treat any firm promising guaranteed jobs with caution.