HVAC SEO Case Study: How a Ventura County HVAC Company Nearly Tripled Inbound Calls
When we started, the owner of a Camarillo HVAC company couldn’t tell whether new calls came from SEO or word of mouth. Their agency at the time reported rising impressions (how often the site showed up in Google). The call count hadn’t changed. So we measured our HVAC SEO work for them in calls, over the first 36 weeks.
Key Points to Review
- One anonymized HVAC company in Camarillo, California. Calls rose from 84 in September, the baseline month, to 244 a month in weeks 27 to 36, up 190% and nearly triple.
- Booked jobs rose 436% versus September.
- Calls from the Google Business Profile call button rose from 29 in September to 116 a month, four times the baseline.
- The intake audit found 14 issues. We fixed four foundation problems first: the wrong Google Business Profile category, mismatched directory listings, missing service pages and a robots.txt rule that hid the service section from Google.
- Leads first rose in week 13. That was when the new service pages were indexed and the first backlinks went in. Backlinks, Google Business Profile posts and reviews then took calls from 30% above the September baseline at week 18 to 190%.

The Client: A Camarillo HVAC Company
The client was a family-owned HVAC company in Camarillo, California, with 11 years in business and two trucks. They served Ventura County: Camarillo, Oxnard, Ventura and Thousand Oaks. Calls had been flat for two years. Their previous SEO agency had focused only on spammy backlinks and a blog.
In September, the baseline month, the company got 84 phone calls from all sources. Of those, 29 came through the “call” button on their Google Business Profile (GBP). Every call figure here comes from CallRail call tracking, including calls answered by the voice agents we added in weeks 27 to 36. The site ranked first for branded searches. It did not rank in the top 10 for any commercial service term in their service area.
Their GBP was a mess. Wrong primary category. No services configured. New reviews came in at one a month, and the owner had never responded to a single one. Off the profile, their name, address and phone number didn’t match across three directories.
The Audit: 14 Findings, Four Foundation Fixes
Our intake audit found 14 issues. Four were foundation problems: the wrong GBP category, the mismatched directory listings, the missing service pages and a robots.txt rule blocking the service section. We started with those.
Finding 1: The GBP primary category was wrong
The GBP primary category was set to “Furnace repair service.” It should have been “HVAC contractor.” That category covers the whole business.
Fix: we changed the primary category to “HVAC contractor” and added “Furnace repair service” and “Heating contractor” as secondary categories. We also added eight services to the profile, each with a description. The change took 20 minutes.
Finding 2: NAP mismatched across three directories
Their name, address and phone number (NAP) were inconsistent across Yelp, BBB and Angi. Two of those listings still showed the office address from before a 2019 move. One had a phone number routed through an old call-tracking line that no longer forwarded. Calls to that number went nowhere. Mismatched listings can hold a local business back in the map pack (the map and the three businesses Google lists under it for local searches).
Fix: we cleaned up the top 22 directories. It took six weeks because BBB is slow. Worth it.
Finding 3: No individual service pages and no schema
The site had a single “Services” page listing all 14 services in a bulleted block. No individual service pages. No LocalBusiness or Service schema (code that labels a page’s business details for Google). No FAQ schema. To Google, the site said almost nothing about any single service.
Fix: we built 11 standalone service pages. Each one defined the service in the first 100 words. Each one included pricing ranges. Many HVAC owners resist this. We think they’re wrong to. Each one had FAQs covering the questions homeowners actually ask, plus Service and FAQPage schema. We linked them from the homepage and from a new “Service Areas” hub. The pages were indexed in weeks 13 to 18.
Finding 4: Robots.txt was blocking the service section
The site’s robots.txt file, which tells Google what it may crawl, was blocking the /services/ subdirectory. The rule was left over from the dev shop that built the site in 2017. They’d unblocked everything else and forgotten that one line. Nobody had caught it since.
Fix: we removed it in week 1. Google couldn’t index the new service pages until the rule was gone.
The Other 10 Findings
The other 10 findings ranged from cosmetic to serious. They weren’t where the lift came from.
- Missing alt text on 38 of 41 images
- Homepage H1 was just the brand name, with no service or city
- Page speed score of 47 on mobile (Largest Contentful Paint above 4 seconds)
- Two pages had duplicate title tags
- No SSL renewal monitoring (their certificate had lapsed twice in 18 months)
- No favicon
- Contact form sent submissions to an email no one checked
- Three blog posts from 2019 still ranked for branded queries and had broken phone links
- No XML sitemap submitted to Search Console
- No call tracking installed on any service page
What Drove the Rest of the Lift: Backlinks, GBP Posts and Reviews
Backlinks, GBP posts and reviews took calls from 30% above the September baseline at week 18 to 190%. The first lift, in weeks 13 to 18, came as the new service pages were indexed and the first backlinks went in. Each started at a different point.
Backlinks
We built the first set of high-quality, relevant backlinks in weeks 13 to 18, the same stretch the new service pages were indexed. Rankings on commercial queries like “furnace repair Camarillo” and “heating contractor Oxnard” first moved in that window too. We kept adding links through week 26. Core keywords reached the top 3 of the map pack in weeks 27 to 36.
GBP posts
We started publishing GBP posts in weeks 19 to 26. Clicks and calls from the profile improved. Over the same weeks, with more backlinks going in and service page rankings still rising, map pack appearances climbed for 9 of the 11 service and city pairs we targeted.
Reviews
The reviews program started in weeks 27 to 36. The owner began responding to every review within 24 hours. New reviews went from one a month to nine a month. The company’s map pack share rose too.
The Timeline: When Each Lever Started Producing
Calls sat flat for 12 weeks. Then they climbed in stages as each lever started producing.
- Weeks 1-6: Removed the robots.txt block. GBP category fix and services setup. Service page work started. By month 2 the caller mix had shifted toward more AC calls. Total calls hadn’t moved yet.
- Weeks 7-12: NAP cleanup propagating across directories. Fixed internal links with bad anchor text (the clickable words in a link) and reorganized how pages linked to each other. No measurable lead lift yet.
- Weeks 13-18: Service pages indexed and supporting pages added. First set of backlinks built. First rank movements on commercial queries. First measurable lead lift in week 13. Removed required fields from the contact form, which got more visitors to submit it. Calls up 30% over the September baseline.
- Weeks 19-26: GBP posts started, and clicks and calls from the profile improved. More backlinks and content. Map pack appearances climbing for 9 of the 11 service and city pairs we targeted. Calls up 90% over the September baseline.
- Weeks 27-36: Reviews program started, with the owner responding to every review within 24 hours. New reviews went from one a month to nine. Core keywords reached the top 3 of the map pack. We added voice agents to pick up missed calls and book appointments. Missed calls fell from 7% to 0.3%. That is an estimated 2-4 extra jobs a month. Calls rose from 84 in September to 244 a month, up 190%. Calls from the GBP call button rose from 29 to 116, four times the baseline.

Why Most HVAC SEO Engagements Stall
HVAC SEO engagements stall when the agency reports activity while the GBP, directory listings and service pages stay broken. We see it at almost every intake. Monthly reports full of “5 blog posts published and 15 keywords tracked.” No mention of the GBP category, NAP consistency or schema coverage.
This company’s previous agency had focused only on spammy backlinks and a blog. At intake, the GBP category, directory listings and service pages were still broken, and a robots.txt rule was still blocking the service section. We built backlinks too. Ours were high-quality, relevant backlinks that actually improve rankings. They started in week 13, once those fixes were underway. GBP posts followed in week 19 and the reviews program in week 27.
The other failure mode is impatience. Most owners we talk to give up between weeks 8 and 12. On this account, neither total calls nor commercial rankings had moved by week 12. The first measurable lead lift came in week 13, and calls were up 30% over the September baseline by week 18.
What This Means If You Run an HVAC Company
If you’re evaluating an HVAC SEO agency, start by asking them to walk you through the intake audit they’d run. A vague answer or a generic checklist means generic work. Next, ask what they’d ship in the first 30 days. If the answer is “we’ll start by writing blog posts,” keep looking. The first 30 days should cover your GBP, schema and NAP. Then give it at least 16 weeks.
To see our approach first, read about our local SEO service or use our local SEO checklist. If you want us to look at your company, book a 30-minute strategy call. We’ll go through your GBP, service pages and call numbers with you. There’s no sales pitch.
FAQs
How long does HVAC SEO take to produce calls?
On this account, total calls didn’t move in weeks 1 to 12, and the first measurable lead lift came in week 13. Calls were up 30% by week 18 and 190% in weeks 27 to 36. Competitive markets can take longer. Anyone promising more calls within 30 days is selling something cosmetic.
How do I know if my HVAC SEO agency is doing real work?
Look for changes to your Google Business Profile (category, services, posts and review responses), new or updated service pages on your site, cleaned-up listings on the major directories, and links from relevant sites. A report that only lists blog posts published and keywords tracked shows activity. Ask what changed in calls.
Why did my rankings go up but calls stay flat?
Rankings go up while calls stay flat when you rank for queries that don’t match buyer intent. A top-3 map pack spot for “AC repair Camarillo” produces calls. Ranking #1 for “what is a heat pump” produces traffic and almost no calls. Ask your agency which queries ranked. If they can’t connect each ranking to a call type, the rank chart is decoration.
Do HVAC companies need backlinks?
HVAC companies don’t always need backlinks, but backlinks can speed up a campaign once the foundation is in place. Here, they paid off. We built the first set in weeks 13 to 18, as the new service pages were indexed. Backlinks then drove the rest of the lift, joined by Google Business Profile posts in week 19 and reviews in week 27.