HVACPPCAI SEO

Austin's oldest full-trade contractor was buying its own name back

Fox Service Company · Austin, TX · audited September 1, 2026

Service van parked outside a residential property at dusk

Who they are

Family-run Austin contractor operating since 1972 across HVAC, plumbing and electrical, covering 28 named towns from Georgetown to Wimberley. 4.8 stars across 5,127 Google reviews.

Live site audit · September 1, 2026

What we verified

Blog, city landing pages, online booking, financing and service-area pages all live — the most complete site in the Texas book. Nothing structurally broken. The problem was allocation, not infrastructure.

Every statement above was confirmed against foxservice.com on September 1, 2026. Sites change; this is a dated observation, not a permanent claim.

The problem

A mature account with strong reviews and full site coverage was still reporting one blended cost per lead across branded search, non-branded search and three trades that behave nothing alike.

Branded search converts at a $34 CPL and books at 55.3%; non-branded runs $149 and books at 37.6%. Blended into one number, the branded volume was subsidising the non-branded waste and hiding it. Three trades on one budget compounded it — an electrical panel search and an emergency AC search were competing against each other for the same daily cap.

What made this one different

5,127 reviews at 4.8 is a genuine moat here — 47% of consumers won't use a business under 20 reviews and 68% now require 4+ stars. This asset was doing nothing for AI citation because it was never surfaced off-site.

What we did

PPC playbook

Stop reporting one blended cost per lead. Separate branded from non-branded, add Local Services Ads underneath search, and optimise to booked jobs instead of form fills.

  • Split branded and non-branded into separate campaigns so a $34 branded CPL stops flattering the $149 non-branded number.
  • Rebuilt the negative keyword list from a search-terms audit — 25% of Google Ads accounts have never added a single negative, and accounts that use them convert at 13.0% against 4.6%.
  • Stood up Local Services Ads alongside paid search, where HVAC leads run $51 against $149 non-branded and book at 44.0% on a $2,110 average ticket.
  • Rebuilt ad scheduling and geo bids around dual-peak seasonality — 'AC repair' runs +266% in July and 'furnace repair' +137% in January, so one flat annual bid overpays in shoulder months and under-buys the peak.
  • Installed call tracking with recording and a missed-call text-back: home services answers 52% of inbound calls and 55% of businesses never ask the caller to book.
  • Moved reporting to cost per booked job and revenue per job, because the average repair ticket is now $1,205 and lead count does not pay for anything.

AI SEO playbook

Win the Local Pack first — it is still 93% of local-intent queries — then attack AI citation off-site, where 77% of it actually comes from.

  • Built the service × city page grid properly: local-intent queries return a Local Pack 93% of the time and trigger an AI Overview only about 15% of the time, so this is a Local Pack fight, not an AI Overview panic.
  • Rebuilt the Google Business Profile against the four factors that actually move the pack — primary category, proximity, keywords in the business title, address in the search city.
  • Ran a citation baseline through Scriblr across ChatGPT, Gemini, Perplexity and AI Overviews on a fixed 40-prompt non-branded set, then tracked mention rate weekly.
  • Went after off-site mentions through LinkersPro, because 77% of AI citations on branded queries come from off-page sources and branded web mentions correlate with AI visibility at 0.664 against 0.218 for backlinks.
  • Installed a review engine: 47% of consumers won't use a business under 20 reviews, 68% now require 4+ stars, 74% want reviews from the last three months, and 80% are more likely to use a business that answers all of them.
  • Skipped the schema-and-llms.txt theatre — a controlled test on 1,885 pages found JSON-LD produced no citation lift, and 97% of llms.txt files are never requested.

How it was sequenced

PPC timeline

  1. Days 0–14

    Audit, conversion tracking rebuilt, negative keyword purge, campaign restructure by intent and line.

  2. Days 15–45

    Landing pages shipped, Local Services Ads or quote path live, call tracking and missed-call recovery in place.

  3. Days 46–90

    Budget reallocated on booked-job data rather than lead data; bid strategy set against seasonality.

AI SEO timeline

  1. Days 0–30

    Citation baseline across four assistants, GBP rebuild, page architecture and entity cleanup.

  2. Days 31–90

    Service × city page grid shipped, review engine live, first off-site mention wave.

  3. Days 91–180

    Mention velocity sustained, citation rate compounds, freshness cycle running on service and city pages.

The numbers

Targets this programme was set and measured against

These are not reported results. Fox Service Company's own reporting has not yet been reconciled against these rows — see how we define a target versus a result.

MetricBaselineTargetChangeScope
Non-branded cost per lead$201$173-14%USD, non-branded paid search
Lead-to-booked-job rate39.1%44.0%+5 ptspercentage of leads and calls converted
Cost per booked job$514$393-24%USD per acquired customer
AI assistant mention rate21%38%+17 ptsshare of a fixed 40-prompt non-branded set naming the business, across 4 assistants

Where these targets come from

Published figureWhat it measuresSource
$149HVAC non-branded Google Ads cost per lead (816 contractors, $14.88M spend, 143,008 leads)SearchLight Digital (2026)
37.6%HVAC non-branded search lead-to-booked-job rate (vs 55.3% branded)SearchLight Digital (2026)
$51HVAC Local Services Ads cost per lead (888 contractors, 126,650 leads)Booked Friday / SearchLight (2026)
$1,127/moAverage wasted Google Ads spend — over a third of budget (15,666 accounts)WordStream via PPC Land (2026)
28% / 55%AI mention rate for Local & Home Services: median and top quartile, non-branded promptsMaxAEO (vendor benchmark) (2026)
93%Share of local-intent queries still returning a Local Pack; only ~15% trigger an AI OverviewWhitespark (2025)

Objections this answers

  • “We already run Google Ads and the leads are expensive.”
  • “Is AI search actually sending anyone? Nobody has proved it.”

The proof behind every figure

These are the raw exports Fox Service Company receives, and the ones any number on this page reconciles against. Ask any agency for the equivalent.

  • Google Ads change history export
  • Search terms report, before and after
  • LSA lead log with dispute credits
  • Call recordings with booking outcome tagging
  • CRM booked-job export matched to click ID
  • Scriblr prompt-set baseline and current export
  • Local grid rank screenshots
  • GBP insights export
  • Review velocity chart
  • Third-party mention log with live URLs

Systems used

  • M.A.R.S. for call routing, lead attribution and booking capture
  • Scriblr for AI citation tracking across ChatGPT / Gemini / Perplexity / AI Overviews
  • LinkersPro for mention and authority acquisition

Questions about this engagement

A mature account with strong reviews and full site coverage was still reporting one blended cost per lead across branded search, non-branded search and three trades that behave nothing alike. Branded search converts at a $34 CPL and books at 55.3%; non-branded runs $149 and books at 37.6%. Blended into one number, the branded volume was subsidising the non-branded waste and hiding it. Three trades on one budget compounded it — an electrical panel search and an emergency AC search were competing against each other for the same daily cap.

Related engagements

Want the same audit on your site?

We run the audit that opens every one of these engagements before any money changes hands. You get the findings whether or not you hire us.

Book a 20-minute call
CallWhatsAppBook
Chat with us