Most HVAC owners who run Google Ads on their own end up with one campaign, one ad group, and a pile of broad match keywords quietly draining the budget. No booked jobs to show for it. Just spend.
The problem is almost never the keywords themselves. It is the structure holding them. When everything gets lumped into a single “HVAC Services” campaign, you lose the ability to see which service is actually profitable, which zip codes are converting, and why your cost per lead keeps climbing every month.
Structure determines everything downstream: how well your ads match search intent, how cleanly your budget gets allocated, how useful your data becomes, and how easy the account is to optimize six months from now. A messy structure does not just hurt performance today. It makes every future decision harder.
This guide walks you through building a Google Ads campaign structure for HVAC that gives you real control. We are talking about separating emergency calls from seasonal tune-ups, organizing ad groups so your ads stay relevant to the specific search, and applying the match type discipline that stops Google from spending your money on searches you would never want.
Follow the steps in order. By the end, you will have a framework you can manage, optimize, and hand off to anyone without losing context. This is the same approach we apply across HVAC accounts at Clicks Geek, a Google Premier Partner that has managed over 10,000 campaigns for local service businesses since 2015.
Step 1: Decide How Many Campaigns You Actually Need
The first instinct most HVAC owners have is to build one campaign and throw every service into it. Resist that. The number of campaigns you need is determined by one question: do these services have different budgets, different seasonality, or fundamentally different search intent? If yes, they belong in separate campaigns.
For most HVAC operators, a clean starting structure looks like this:
Emergency Repair Campaign: This catches searches like “AC not working,” “furnace out,” and “HVAC emergency.” These are high-urgency, high-value calls. They come in at unpredictable times and often convert on the first click. This campaign deserves its own budget so a spike in July heat does not drain your installation budget.
Planned Installation Campaign: “New AC unit,” “HVAC replacement,” “central air installation.” These searches come from homeowners who are researching, comparing prices, and often not ready to book today. Different intent, different sales cycle, different landing page.
Maintenance and Tune-Up Campaign: “HVAC tune-up,” “AC check,” “furnace maintenance.” Lower urgency, lower ticket, but high lifetime value if you convert them to a service agreement. These leads behave differently and should not compete for budget with emergency calls.
Brand Campaign: Only worth building if you have meaningful search volume on your company name. This protects you from competitors bidding on your brand and keeps your branded CPL low.
That is three to four campaigns to start. Do not build ten on day one. You will not have enough data to manage them well, and thin budgets spread across too many campaigns starve the bidding algorithms of the conversion signals they need to optimize.
The most common mistake we see in HVAC accounts is a single “HVAC Services” campaign with every service, every keyword, and one shared daily budget. When an emergency repair search and a planned installation search compete for the same budget, you have no visibility into which is profitable and no ability to shift spend toward what is converting. Separate campaigns fix this immediately.
One more thing: account for seasonality in how you think about campaign budgets. Your AC-related campaigns need higher allocation from late spring through summer. Your heating campaigns need it in fall and winter. Separate campaigns make those budget shifts clean and deliberate instead of guesswork.
Step 2: Build Ad Groups Around Specific Services, Not Broad Categories
Once your campaigns are defined, the work inside each one follows the same logic: tight themes. Each ad group should cover one specific service with a closely related set of keywords. The tighter the theme, the more relevant your ads, the higher your Quality Score, and the lower your cost per click over time.
Take your emergency repair campaign as an example. Do not create one ad group called “Emergency HVAC.” Instead, build separate ad groups for each distinct problem a homeowner might be searching:
AC Not Cooling: Keywords like “AC not cooling,” “air conditioner not blowing cold,” “why is my AC running but not cooling.” Ads for this group speak directly to that symptom.
Furnace Not Working: “Furnace not turning on,” “furnace stopped working,” “no heat in house.” Different season, different emotional state, different ad copy.
Heat Pump Repair: “Heat pump not working,” “heat pump repair near me,” “heat pump blowing cold air in heat mode.”
HVAC Not Turning On: Broader system failure searches that do not specify equipment type.
Here is why this matters specifically for HVAC. A homeowner searching “furnace not working” in January is panicked, cold, and wants someone at their house today. A homeowner searching “AC not cooling” in July is frustrated and hot. These are completely different emotional states, different seasons, and often need different landing pages to convert well. One ad group with generic copy cannot serve both situations effectively.
Aim for 10 to 20 tightly related keywords per ad group. If you are pushing past 20, you are probably mixing intent and should split the group. More keywords in one group does not mean more reach in a useful way. It means less relevance across the board.
The compounding effect of poor ad group structure is worth understanding. Broad ad groups produce generic ads. Generic ads get lower click-through rates. Lower click-through rates signal to Google that your ads are less relevant, which raises your cost per click. Over 60 to 90 days, this compounds into a structurally expensive account that is hard to fix without rebuilding from scratch.
Build the structure right now. It is much easier than repairing a messy account six months in.
Step 3: Choose Match Types With a Clear Strategy
Match type decisions determine how much control you actually have over who sees your ads. Most HVAC accounts that are bleeding money are running too much broad match with too few guardrails. Here is how to think about this practically.
Phrase Match as Your Default: For most ad groups in an HVAC account, phrase match is the right starting point. It gives you enough reach to gather data while keeping searches reasonably close to what you intended. A phrase match keyword like “AC repair” will catch “AC repair near me,” “emergency AC repair,” and “AC repair [city]” without matching to “AC repair school” or “DIY AC repair.”
Exact Match for High-Confidence Terms: If you know from experience that “AC repair [your city]” converts into booked jobs, lock it in as exact match. You pay a bit more per click in some cases, but you eliminate the close variants that Google would otherwise decide are equivalent. Exact match gives you certainty on your best terms.
Broad Match Only With Negatives in Place: Broad match is not inherently bad. It can surface searches you would not have thought to target. But running broad match in an HVAC account without a strong negative keyword list is how you end up paying for “HVAC school near me,” “DIY furnace repair,” “HVAC certification programs,” and “used AC units for sale.” These are real searches that broad match will find for you if you let it.
Build your negative keyword list before you launch. Do not wait for the search term report to show you the damage. Start with the obvious ones: DIY, how to, school, training, certification, used, free, rental, YouTube, Reddit, forum, parts, manual. Add industry-specific negatives: “HVAC jobs,” “HVAC career,” “HVAC apprenticeship.”
After launch, review your search term reports weekly for the first 60 days. This is not optional. Google’s matching behavior has expanded significantly in recent years, and even phrase match will occasionally match to searches you did not intend. Every irrelevant search you catch and add as a negative saves money going forward.
A practical approach: set a calendar reminder for every Monday morning to pull the search terms report for the prior week. Spend 15 minutes adding negatives. After 60 days, this becomes less frequent because the list is doing its job. Skipping this step in the early weeks is one of the most expensive mistakes an HVAC operator can make.
Step 4: Write Ads That Match the Search, Not the Company
The most common HVAC ad we see looks something like this: “ABC Heating and Cooling. Serving [City] Since 2001. Call Us Today!” That ad tells the homeowner about the company. It does not speak to what the homeowner is experiencing right now.
Responsive Search Ads are the current standard format in Google Ads. You provide up to 15 headlines and 4 descriptions, and Google tests combinations to find what performs best. This gives you flexibility, but it also means you need to be intentional about what you write.
For an emergency repair ad group, your headlines should acknowledge the urgency directly:
Urgency-first headlines: “AC Out? Same-Day Repair,” “Furnace Not Working? Call Now,” “Emergency HVAC Service Available,” “[City] HVAC Repair – Fast Response.”
Trust-signal headlines: “NATE Certified Technicians,” “Licensed and Insured,” “Carrier Authorized Dealer,” “Financing Available.”
Local confirmation headlines: “[City] HVAC Repair,” “Serving [City] and Surrounding Areas.” HVAC is hyper-local. A homeowner wants to see their city confirmed before they click.
Pin your most important headlines to position 1 and 2. Google’s auto-combination can produce awkward pairings if everything is left unpinned. Your urgency headline and your city confirmation headline should appear together consistently. Do not leave that to chance.
Use assets aggressively. Call assets with your phone number, location assets tied to your Google Business Profile, callout assets for trust signals, and sitelink assets pointing to specific service pages. These expand your ad’s footprint on the results page and give searchers more reasons to click before they even reach your site.
HVAC-specific trust signals that actually move the needle: NATE certification, manufacturer dealer status (Carrier, Trane, Lennox, Goodman), same-day service guarantees, financing options, and how long you have been in business locally. These belong in your descriptions and callouts, not buried on a page the searcher may never reach.
One more thing: write different ads for different ad groups. The headlines that work for “furnace not working” are not the same as the headlines that work for “HVAC tune-up.” The emotional state is different. The urgency is different. The ad should reflect that.
Step 5: Set Up Conversion Tracking Before You Touch the Budget
If you skip this step and come back to it later, you will spend weeks or months making optimization decisions based on incomplete data. Set up conversion tracking first. Everything else waits.
For an HVAC business, your primary conversion actions should be:
Phone calls from ads: Google Ads provides a call forwarding number that appears in your ad when someone is on mobile. Calls that come through this number are tracked directly. Set a minimum call duration threshold, 60 seconds is a reasonable starting point for HVAC, to filter out wrong numbers and spam.
Phone calls from your website: This is a separate conversion action from calls directly from the ad. Someone may click your ad, land on your site, and then call the number on the page. You need the Google Ads tag installed on your site and call tracking configured to capture this. Both conversion actions matter and they measure different behavior.
Form submissions: Contact forms, quote request forms, and online booking completions. These are generally lower volume for HVAC than phone calls, but they should still be tracked.
Why does this matter so much for HVAC specifically? Between 40 and 70 percent of HVAC leads come in by phone. If you are only tracking form fills, you are missing the majority of your actual conversions. Your bidding algorithms will think the campaign is underperforming and may suppress your ads or bid inefficiently. You will be making decisions with a fraction of your real data.
Once conversion tracking is confirmed and recording data, you can set your bidding strategy with confidence. For new campaigns with no conversion history, start with Maximize Clicks with a max CPC cap. This gathers data without overspending. Once you have 30 or more conversions recorded in a 30-day window, you have enough signal to consider switching to Target CPA bidding and letting the algorithm optimize toward a cost per lead goal.
Do not switch to Smart Bidding before you hit that threshold. The algorithm needs data to work. Without it, Target CPA will either underspend or behave unpredictably. Patience here pays off later.
Step 6: Configure Location Targeting and Ad Scheduling
You can have perfect campaign structure, tight ad groups, and strong conversion tracking, and still waste a significant portion of your budget on the wrong geography or the wrong hours. Location targeting and ad scheduling are the final layer of control that makes the structure actually efficient.
Location targeting: Target by radius around your physical location or by specific zip codes and cities you dispatch to. Do not target the entire metro area or state unless you genuinely send technicians everywhere in it. Every click from a zip code you do not serve is money gone.
One setting that trips up a lot of HVAC operators: make sure you are using “Presence” targeting only, not “Presence or interest.” The “Presence or interest” option shows your ads to people who are interested in your area but physically located somewhere else. That is irrelevant spend for a service business. Change this in your campaign settings and check it every time you set up a new campaign.
Ad scheduling: Pull your call data and booking data and look for patterns. When do your best leads actually come in? For planned work like installations and tune-ups, weekday mornings and early afternoons tend to convert well. Emergency calls can come any time of day or night.
For your emergency repair campaigns, run 24/7 if you offer after-hours service. If you do not have someone answering the phone at 2 AM, do not run ads at 2 AM. A click that reaches voicemail is rarely a booked job.
Bid adjustments by location: After 60 to 90 days, look at your conversion data by zip code. If certain areas produce higher-value jobs or convert at a better rate, apply positive bid adjustments to those zip codes. This is one of the most underused levers in local HVAC accounts. It lets you compete harder where it matters most without raising bids everywhere.
Device bidding: HVAC emergency searches skew heavily toward mobile. Someone whose AC just stopped working is not sitting at a desktop. Check your device breakdown after 30 days and apply bid adjustments accordingly. If mobile is converting at a better rate, bid it up. If desktop is underperforming, pull it back.
Putting It All Together
Here is what a working HVAC Google Ads account looks like when these steps are done correctly: three to four campaigns separated by intent, tightly themed ad groups organized by specific service and symptom, phrase and exact match keywords supported by a growing negative keyword list, RSAs with pinned headlines that match the search intent of each group, full conversion tracking for both ad calls and site calls, and location targeting set to Presence only with bid adjustments applied to your best-performing areas.
Expect a 30 to 90 day ramp period before the bidding algorithms have enough conversion data to optimize well. Do not judge the account in week one. What you are watching in the first 30 days is search term quality, conversion tracking accuracy, and whether your ad relevance is strong. Performance optimization comes after the data is there.
For a cost per lead benchmark: home services Google Ads CPL typically runs $18 to $35. If you are well above that range after 60 days, the structure or the landing page is usually the culprit, not the budget level. More spend on a broken structure just accelerates the loss.
The structure you build now determines how easy or hard every optimization decision is for the next two years. A clean account is fast to diagnose, easy to adjust, and straightforward to scale. A messy account is the opposite: every change risks breaking something else, and you can never be sure what is actually working.
Get the structure right at the start. It is the highest-leverage decision you will make in this channel.
Your Six-Step Checklist
Before you go live, run through this:
1. Campaigns separated by intent: emergency repair, planned installation, maintenance, and brand if applicable. Each with its own daily budget.
2. Ad groups organized by specific service or symptom, not broad category. Ten to twenty tightly related keywords per group.
3. Match types set deliberately: phrase match as default, exact match on high-confidence terms, broad match only with a negative keyword list in place. Search term reports scheduled for weekly review.
4. RSAs written to match the intent of each specific ad group. Urgency headlines pinned for emergency groups. City name confirmed in at least one headline. Assets configured: call, location, callout, sitelink.
5. Conversion tracking live and verified: calls from ads, calls from website, form submissions. Minimum call duration threshold set. Both conversion actions confirmed recording before launch.
6. Location targeting set to Presence only. Ad scheduling aligned with your actual dispatch hours. Device and location bid adjustments planned for 30 to 60 days post-launch.
If you want a second set of eyes on your current structure or want this built from scratch the right way, if you want to see what this would look like for your specific market, we will walk you through it and tell you honestly what is realistic. Clicks Geek has managed over 10,000 campaigns for local service businesses. We can tell you quickly what is working and what is not.