- Expect $8–$25 USD per click on HVAC search terms, with emergency and replacement keywords at the top of that range.
- A lead costs $50–$130 on Search and $25–$75 on Local Services Ads (median $42).
- Only about 38% of LSA leads become booked jobs, so your true cost per booked job is closer to $110–$200.
- Most single-location contractors run $1,500–$5,000/month in ad budget.
- The number that decides whether any of this works is your average ticket, not your cost per click.
Ask five agencies what HVAC Google Ads cost and you'll get five ranges, all of them wide enough to be useless. The reason isn't evasion so much as the fact that "HVAC" isn't one market. A furnace emergency at midnight and a spring maintenance plan sign-up sit in completely different auctions at completely different prices.
So here are the actual numbers, broken out by what they mean rather than mashed into one average.
Cost per click
Across North American HVAC accounts, cost per click lands between $8 and $25 USD. Where you fall inside that band is driven almost entirely by keyword intent:
| Keyword type | Typical CPC | Why |
|---|---|---|
| Emergency repair | $18 – $25 | High urgency, high conversion, every competitor bidding |
| System replacement | $15 – $25 | Large ticket justifies aggressive bids |
| General repair | $10 – $18 | Steady demand, moderate competition |
| Maintenance / tune-up | $8 – $14 | Lower urgency, lower ticket |
| Brand terms | $2 – $6 | Little competition unless rivals bid your name |
In Calgary specifically, the furnace side of this runs hotter than the national average through winter, and the AC side is compressed into a shorter window than it would be in, say, Toronto. That seasonality matters more here than the raw CPC does.
Cost per lead
A click isn't a lead. On a well-built HVAC search campaign, somewhere between 8% and 15% of clicks turn into a phone call or form fill. That puts cost per lead at roughly $50–$130 on Search.
Local Services Ads work differently. They sit above the regular ads, they're charged per lead rather than per click, and they run $25–$75 per lead with a median around $42. On paper that looks like a straight win over Search. In practice, LSA lead quality is more variable — you'll pay for wrong numbers, out-of-area calls and people shopping for a part rather than a service call.
Google lets you dispute LSA leads that shouldn't have been charged. On a $4,000/month LSA budget, consistent dispute filing typically recovers $400–$1,300 a month in credits. Most contractors never file any. Most agencies don't either — of the eight largest HVAC ad agencies, only one publishes a dispute policy at all.
The number that actually matters
Cost per booked job. Roughly 38% of LSA leads become booked work, and Search converts in a similar band once you account for tyre-kickers and no-shows. Run that through:
| Metric | Figure |
|---|---|
| Cost per lead | $42 (LSA median) |
| Lead → booked job | 38% |
| Cost per booked job | ~$110 |
| Average repair ticket | $300 – $600 |
| Average replacement ticket | $6,000 – $15,000 |
At $110 to book a $400 repair, you're at a 3.6× return before overhead — workable but not exciting. At $110 to book a $9,000 replacement, you're at 80×, and the question stops being "can I afford this" and becomes "why am I not spending more."
Why repair campaigns are undervalued
Here's the piece most contractors miss when they look at these numbers. A meaningful share of repair calls turn into replacement quotes — the tech is standing in a basement next to a nineteen-year-old furnace, and the conversation happens naturally.
If you only credit your repair campaign with repair revenue, it looks marginal and you cut its budget. If you track the replacements it generated downstream, it's often your best acquisition channel. That downstream value has to get fed back into how you bid, or you'll systematically underfund the campaign that's actually making you money.
What you should be spending
Most single-location HVAC contractors run $1,500–$5,000 per month in ad budget. That's the budget itself — what goes to Google — not what you pay anyone to manage it.
Rather than picking a number off that range, work backwards:
- Decide how many extra booked jobs a month you want and can actually service.
- Multiply by roughly $150 (a conservative cost per booked job).
- That's your starting monthly budget.
Ten extra jobs a month is about $1,500. Thirty is about $4,500. If that math produces a number your cash flow can't support, the constraint is real and worth knowing before you start — not three months in.
One more variable worth naming: these figures move with the season. Demand and conversion rates shift hard between January and April, which is its own problem entirely.
What management should cost on top
Agency fees for HVAC contractors span an enormous range. The floor is around $399 USD/month for basic packages. The most common band for mid-market contractors is $1,200–$5,000/month. Enterprise agencies open at $10,000/month with setup fees running to $50,000.
Two structural things to check before you sign anything:
- Is the fee a percentage of your spend? If so, every dollar you add to your budget makes your agency more money for the same work — and you get penalised for scaling during exactly the weeks when demand spikes.
- Will they tell you the price without a call? Five of the eight largest HVAC agencies won't publish a rate. Quote-only pricing usually means they're pricing you rather than the work.
Sanity-checking your own account
If you're already running ads, pull these five numbers and compare them to the table above:
- Cost per click, split by campaign — not blended across the account
- Conversion rate from click to call or form
- Cost per lead, by channel
- What share of leads actually booked
- Average ticket on jobs that came from ads
If you can't produce that fifth number, that's the first thing to fix. Everything else is guesswork without it.
Want this checked on your own account?
We'll open your Google Ads and Local Services accounts, find what's wasting money, and send you a plain-English writeup within 48 hours. No charge, no sales call, and it's yours to keep whether you hire us or not.
Get a Free Audit →