Skip to main content
TrackingConsulting
PlaybookHVAC

Google Ads for HVAC companies: the build order

Written for an owner or the ops manager running the schedule. Keyword buckets, the negative list to load on day zero, the ad group structure, ad copy inside Google's character limits, and the weekly hour that keeps it honest — in the order you would actually build the account.

The auction
Demand is weather-driven and spiky. The first heatwave triples CPCs overnight, and the accounts that win are the ones already warm when it hits rather than the ones switching on that morning.
The conversion
a completed, invoiced job
Source of truth
your job management system (ServiceTitan, Housecall Pro, Jobber)
Costliest mistake
Counting booked calls as conversions when the money is in the completed job. A booked estimate is a van, a technician and an hour already spent.
01

Decide what counts as a conversion before you spend anything

For HVAC companies the conversion that matters is a completed, invoiced job, and it lives in your job management system (ServiceTitan, Housecall Pro, Jobber) — not in the ad platform. Google can only optimize toward what you send it, so whatever you pick here decides what the algorithm spends the next ninety days chasing. Pick the wrong one and every later step in this playbook is executed perfectly in the wrong direction.

WHAT THE BIDDING ALGORITHM ACTUALLY LEARNS FROMSearchsomeone types the queryClickyou are charged hereForm or callwhat Google counts todayyour job management s…where the money is decidedthe outcome, sent back as the conversionWithout the dashed returnGoogle optimizes toward step three and buys more form fills, cheaper —including every one that never becomes a completed, invoiced job. It reportsthat as an improvement, because by its own measure it is one.
Google can only optimize toward what reaches it. Left as the solid path, it learns to buy form fills — including the ones that never become a completed, invoiced job. The dashed return is the step that changes what the algorithm is chasing, and it is the one almost no account has.
  1. 01Write down the single event that means money: a completed, invoiced job.
  2. 02Find where that event is recorded today. For most of this industry that is your job management system (ServiceTitan, Housecall Pro, Jobber).
  3. 03Check whether that system can be joined back to a click — a GCLID field, an email, or a phone number captured at the form.
  4. 04If it cannot, fix that before you launch. An account optimizing toward form fills is optimizing toward the wrong thing the moment the form is easy to fill.
  5. 05Set the conversion action to the real one, and mark every softer action as secondary so it reports but does not bid.
02

Turn off the three defaults before you turn the campaign on

Google enables these on every new Search campaign, and none of them are keyword decisions — they are switches on the settings screen that decide where the money goes before a single keyword applies. Everything else in this playbook operates on whatever is left after they have taken their cut, so a reader who skips this step spends the rest of it optimizing a remainder.

YOUR DAILY BUDGET, BEFORE ANY KEYWORD APPLIESThe searches you meant to buySearch partnersOn by default. Ads run on sites that are not Google.Display expansionOn by default. Turns a Search campaign into a banner campaign.Presence or interestThe location default. Includes people merely interested in your area.Turn all three off before launch. You can always add them back once thecore is profitable and you can tell what they contributed on their own.
All three are enabled by default on a new Search campaign, and none of them are keyword decisions — they are switches on the settings screen. The proportions here are illustrative; the defaults are not.
SettingWhat Google defaults it toSet it to
Networks — search partnersIncluded. Your ads run on sites that are not Google.Off at launch. Add it back later, as its own campaign, when you can see what it contributed on its own.
Networks — display expansionIncluded. A Search campaign quietly starts buying banner placements.Off. Display is a different intent and a different campaign; mixing them makes both unreadable.
Locations — targetingPresence or interest — people merely interested in your area count.Presence only. Under Location options, choose people in or regularly in your targeted locations.
AudiencesObservation, which measures without restricting.Leave on observation deliberately, not by accident. If you meant to narrow, you have to switch the mode.
BiddingMaximize clicks, or a target set before any data exists.Maximize conversions on the real conversion action. A target set on day one is a guess the algorithm will honor.
03

Build the keyword list in four buckets, not one

One flat keyword list is why most accounts in this vertical cannot tell which half of the budget works. Sorting terms by the intent behind them means you can bid, write and judge each group on its own terms — a problem-aware search and a competitor search convert at rates that have nothing to do with each other, and averaging them hides both.

BucketTerms to build on
Commercial intentReady to buy. Highest CPC, highest conversion rate. Exact and phrase only.
  • ac repair near me
  • furnace replacement cost
  • hvac installation [city]
  • emergency ac repair
Problem-awareSymptom searches, before they know what they need. Cheaper, longer to convert.
  • ac blowing warm air
  • furnace won't turn on
  • ac making loud noise
CompetitorPeople shopping you against someone specific. Low volume, high margin.
  • [franchise] hvac reviews
LocalProximity intent. Where most of the budget goes if you let it.
  • hvac near me
  • ac repair [suburb]
  • 24 hour hvac [city]
04

Match types, and why exact has not meant exact since 2021

Exact match includes close variants — misspellings, plurals, reordered words, dropped function words. Phrase match now behaves roughly like the old broad-match-modified. Broad match reaches as far as Google judges useful, which with a good conversion signal is genuinely valuable and without one is an open tap. Start narrow, prove the signal, then widen — in that order, because widening is reversible and a mistrained bidding algorithm is not.

MATCH TYPEHOW WIDE IT REACHESExact[ac repair near me]That search and close variants — plurals, misspellings, reordered words.Phrase"ac repair near me"Anything carrying that meaning, including wordings you did not write.Broadac repair near meno ceilingWhatever Google judges related. This is where the money goes missing.Also inside the broad lane, at the same cost per click: hvac jobs hvac technician salary
Exact match has included close variants since 2021, so none of these are literal. The width is the point: everything the broad lane catches that you did not intend is paid for at auction prices, and the only thing standing in front of it is your negative list.
  1. 01Launch on exact and phrase only. You are buying data you can read, not volume.
  2. 02Give broad match its own campaign when you add it, so its spend and its search terms are separable from everything else.
  3. 03Keep 5 to 10 tightly themed keywords per ad group. When you want an eleventh, that is usually a signal to build another ad group instead.
  4. 04Do not add the same keyword in three match types in one ad group. Google picks by relevance, not by your match type ladder, and you are only making the report harder to read.
05

Load the negatives before the first click, not after the first invoice

Every vertical has a set of searches that look commercial and are not. In HVAC companies those are job seekers, students, people looking for free help, and DIY researchers. Broad and phrase match will find all of them for you. Add this list at the account level on day zero — the first week of an unfiltered account is the most expensive week it will ever have.

Account-level negatives — paste into Shared library
  • hvac jobs
  • hvac technician salary
  • hvac apprentice
  • hvac school
  • hvac training
  • hvac certification
  • epa 608
  • how to become an hvac tech
  • hvac courses near me
  • diy ac repair
  • fix my own ac
  • how to clean ac coils
  • ac not cooling diy
  • furnace troubleshooting yourself
  • hvac parts
  • hvac supply house
  • ac units for sale
  • furnace for sale
  • condenser fan motor price
  • capacitor replacement part
  • home depot ac
  • lowes air conditioner
  • window unit
  • portable air conditioner
  • mini split diy kit
  • hvac wholesale
  • hvac software
  • dispatch software
  • hvac marketing
  • hvac business for sale
  • wikipedia
  • reddit
  • youtube
  • manual pdf
  • wiring diagram
  • free
  • cheap
  • jobs
  • salary
  • training
  • course
  • used

06

One ad group per intent, and no more than you can write ads for

Ad groups exist so the ad can match the search. The moment a group holds two intents, the ad has to be vague enough to cover both, and vague ads lose the auction on relevance before budget ever enters the picture. Build these groups, each with its own ads and its own landing page.

WHAT TO BUILDSearch campaignbudget · location · schedule live hereEmergency repair5–10 keywords, one intentits own responsive adits own landing pageReplacement / install5–10 keywords, one intentits own responsive adits own landing pageMaintenance plans5–10 keywords, one intentits own responsive adits own landing pageWHAT MOST ACCOUNTS HAVEOne ad group — everything in itEmergency repair · Replacement / install · Maintenance plans — 40 keywordsone ad that has to cover all of them, one page that answers none of them
Each ad group carries its own ad and its own landing page, so both can answer one search. Collapse them and the single ad has to speak to every intent at once — which is the same as speaking to none of them.
  1. AG01

    Emergency repair

    Now-intent, best conversion rate, bid hardest

    • emergency ac repair
    • 24 hour hvac near me
    • ac repair open now
  2. AG02

    Replacement / install

    Highest ticket, longer consideration

    • furnace replacement cost
    • new ac unit installation
    • hvac system replacement
  3. AG03

    Maintenance plans

    Recurring revenue, cheap clicks

    • hvac tune up
    • ac maintenance plan
  4. AG04

    Symptom

    Catch the problem before they name the service

    • ac blowing warm air
    • furnace not heating
07

Responsive search ads that the landing page can actually back up

Google rewards assets that match the search and the page behind it. It penalizes — and increasingly disapproves — copy that promises something the page does not deliver. Every line below is written to be provable on arrival. Character counts are shown because assets over the limit are rejected at upload, which is where most copied-from-a-blog ad copy dies.

Headlines · max 30 characters
  • Same-Day AC Repair18/30
  • Techs On Call 24/718/30
  • Upfront Pricing, No Surprises29/30
  • Licensed & Insured in [City]28/30
Descriptions · max 90 characters
  • No cool air? A licensed tech can be out today. Flat-rate price quoted before work.82/90
  • Replacement quotes in writing, financing available, and we service what we install.83/90
08

Why the advertiser bidding the most is often third

Position is not bought, it is earned and then paid for. Google ranks you on your bid multiplied by how good it expects your ad and landing page to be, plus your assets — so a relevant advertiser at half the bid outranks a vague one, and then pays less per click at the same position. This is the mechanism underneath everything above: tight ad groups and honest ad copy are not tidiness, they are the discount.

BIDAD QUALITYAD RANKPOSITION SHOWNAdvertiser A$4.00×9/10361st — top of pageAdvertiser B$6.00×5/10302ndAdvertiser C$9.00×3/10273rdYou then pay roughly the rank below you ÷ your quality — so quality discounts the click as well as winning it.
Ad Rank is your bid multiplied by how good Google expects your ad and landing page to be. Advertiser C bids more than twice what A bids and still shows third. The arithmetic is illustrative — the ratio is the point, not the dollar figures.
  1. 01Read Quality Score as a diagnostic, not a target. The 1 to 10 number is not what runs the auction; the three components underneath it tell you which of ad copy, keyword grouping or landing page is dragging.
  2. 02Ad relevance low? The ad group holds more than one intent. Split it.
  3. 03Landing page experience low? The page is not answering the search — usually because one page is serving every ad group.
  4. 04Expected CTR low? Your ad is not the one being clicked. Rewrite the headlines against the actual search terms, not against the keyword.
09

Bidding, and the point at which you are allowed to change it

Maximize Conversions on completed jobs, with a budget schedule that ramps ahead of forecast heat. Dayparting matters more here than in most verticals — an emergency ad that runs when nobody answers the phone is money set on fire. Smart bidding is a data problem before it is a strategy problem: with thin or wrong conversion data it will confidently optimize toward noise, and it does that faster than a manual account can lose money.

10

What to judge, and when you are allowed to judge it

Most accounts are killed or rescued on evidence that could not have meant anything yet. The bidding algorithm is fitting a model, and a model fitted on two weeks of data is fitted on noise. This is the shortest honest schedule: what to look at each stretch, and — more usefully — what to ignore.

  1. 01Weeks 1–2 — watch search terms and nothing else. Add negatives daily. Cost per conversion at this stage is not a number, it is a rumor.
  2. 02Weeks 3–4 — the first real read on which ad groups get impressions. Pause nothing on conversion volume yet; fix relevance where the ad and the query disagree.
  3. 03Weeks 5–8 — conversion data starts to mean something. If you are near thirty conversions in thirty days, a target becomes an option. If you are not, the answer is a narrower footprint, not a lower target.
  4. 04Weeks 9–12 — the first period worth judging on cost per outcome. Compare against your own system, not the Google column, and expect the two to disagree.
  5. 05Only now: consider broad match, Performance Max, or a second market. Each of them needs the signal you spent the quarter building.
11

The weekly hour that decides whether this works

An account left alone drifts toward the cheapest clicks it can find, because that is what the system is built to do when nobody corrects it. This is the shortest routine that keeps it honest. It takes about an hour and it is the difference between an account that compounds and one that plateaus at month three.

  1. 01Search terms — DIY and parts queries appear constantly
  2. 02Call answer rate by hour; pause hours you cannot cover
  3. 03Booked vs completed by campaign, from the job system
  4. 04Average ticket by ad group — is replacement getting its share?

When Google Ads is the wrong answer here

Three situations where running this playbook will lose money. Read them before you fund the account, not after.

  • You cannot yet record a completed, invoiced job against the click that caused it. Run the account blind and you will spend three months teaching Google to buy the wrong outcome — fix the measurement first, it is cheaper.
  • You do not have the capacity to serve what the campaign brings in. Paid search turns on demand faster than most HVAC companies can staff for it, and a lead you answer four days late costs the same as one you close.
  • Your budget cannot sustain thirty conversions a month in this auction. Below that, smart bidding never leaves the learning phase and you are paying auction prices for a sample size that cannot teach you anything.

Questions this raises

How much should I budget to start?
Enough to buy roughly thirty conversions a month at your vertical's cost per click, and enough runway to spend it for three months. Anything less and you are funding a test that cannot reach significance. Work backwards from your own numbers rather than from a figure in an article.
Should I use Performance Max instead of Search?
Not first. Performance Max needs a working conversion signal to be worth anything, and it will not tell you which of its channels spent your money. Get Search profitable on the real conversion, then let PMax expand on top of a signal you trust.
Why does my current agency's report look better than your job management system (ServiceTitan, Housecall Pro, Jobber)?
Because the ad platform counts what it can see, on its own attribution window, and it credits itself generously. Your own system counts what actually happened. When those two numbers disagree, the second one is the one you bank. Reconciling them is the single highest-leverage thing most accounts have never done.
Can I run this without server-side tracking?
You can start. You will lose signal as browsers keep shortening cookie lifetimes and blocking third-party requests, and the loss is not evenly spread — it hits the conversions that take longest to close, which in HVAC companies are the valuable ones. First-party server-side tagging is how you keep sending Google the outcome instead of the click.
How long before I know whether it works?
Three months, honestly measured. The first month buys data, the second corrects for it, and the third is the first one worth judging. Anyone promising a verdict in three weeks is reading noise.
If you would rather not run it yourself

We build the tracking underneath this, and run the account on top of it.

Everything above assumes the conversion you optimize toward is the real one. That is the part most accounts get wrong, and it is the part we fix first. Bring your account and we will tell you what it is actually reporting — before anyone talks about budget.