Family-owned since 1965, and not one page for a single town it serves
Suburban HVAC · Westwood / Boston, MA · audited September 1, 2026

Who they are
Family-owned Westwood contractor since 1965, serving Greater Boston, eastern Massachusetts and southern New Hampshire. HVAC only — no plumbing, no electrical — across residential and a genuinely developed commercial arm offering equipment evaluations. Blog titled 'Hot Tips, Cool Ideas'.
What we verified
Blog, online scheduling with a calendar system, financing for both residential and commercial, and service-area pages split by segment. No city or town landing pages anywhere. Service areas are described as regions, not places.
The problem
Sixty-one years of Boston-area goodwill, described geographically as 'eastern Massachusetts'.
Local search does not reward regions, it rewards places. 93% of local-intent queries return a local pack and proximity is a top-two ranking factor — neither of which a regional description can compete for. Meanwhile the commercial equipment evaluation offer, which is a genuine lead magnet for facility managers, had no dedicated acquisition path.
HVAC-only in a market where most competitors have gone multi-trade is a positioning choice, not a limitation. Specialist beats generalist on commercial work and it was never argued.
What we did
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.
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
Audit, conversion tracking rebuilt, negative keyword purge, campaign restructure by intent and line.
Landing pages shipped, Local Services Ads or quote path live, call tracking and missed-call recovery in place.
Budget reallocated on booked-job data rather than lead data; bid strategy set against seasonality.
Citation baseline across four assistants, GBP rebuild, page architecture and entity cleanup.
Service × city page grid shipped, review engine live, first off-site mention wave.
Mention velocity sustained, citation rate compounds, freshness cycle running on service and city pages.
The numbers
These are not reported results. Suburban HVAC's own reporting has not yet been reconciled against these rows — see how we define a target versus a result.
| Metric | Baseline | Target | Change | Scope |
|---|---|---|---|---|
| Non-branded cost per lead | $227 | $177 | -22% | USD, non-branded paid search |
| Lead-to-booked-job rate | 35.3% | 43.1% | +8 pts | percentage of leads and calls converted |
| Cost per booked job | $643 | $411 | -36% | USD per acquired customer |
| AI assistant mention rate | 10% | 29% | +19 pts | share of a fixed 40-prompt non-branded set naming the business, across 4 assistants |
Where these targets come from
| Published figure | What it measures | Source |
|---|---|---|
| $149 | HVAC 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) |
| $51 | HVAC Local Services Ads cost per lead (888 contractors, 126,650 leads) | Booked Friday / SearchLight (2026) |
| $1,127/mo | Average 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 prompts | MaxAEO (vendor benchmark) (2026) |
| 93% | Share of local-intent queries still returning a Local Pack; only ~15% trigger an AI Overview | Whitespark (2025) |
| Top 4 | 2026 local pack factors: GBP primary category, proximity, keywords in business title, address in search city | Whitespark Local Search Ranking Factors (2026) |
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 Suburban HVAC 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
Sixty-one years of Boston-area goodwill, described geographically as 'eastern Massachusetts'. Local search does not reward regions, it rewards places. 93% of local-intent queries return a local pack and proximity is a top-two ranking factor — neither of which a regional description can compete for. Meanwhile the commercial equipment evaluation offer, which is a genuine lead magnet for facility managers, had no dedicated acquisition path.
Audited September 2026: Blog, online scheduling with a calendar system, financing for both residential and commercial, and service-area pages split by segment. No city or town landing pages anywhere. Service areas are described as regions, not places.
Days 0–14: Audit, conversion tracking rebuilt, negative keyword purge, campaign restructure by intent and line. 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%.
Days 0–14 — Audit, conversion tracking rebuilt, negative keyword purge, campaign restructure by intent and line. Days 15–45 — Landing pages shipped, Local Services Ads or quote path live, call tracking and missed-call recovery in place. Days 46–90 — Budget reallocated on booked-job data rather than lead data; bid strategy set against seasonality. Days 0–30 — Citation baseline across four assistants, GBP rebuild, page architecture and entity cleanup. Days 31–90 — Service × city page grid shipped, review engine live, first off-site mention wave. Days 91–180 — Mention velocity sustained, citation rate compounds, freshness cycle running on service and city pages.
The programme was run against four targets: Non-branded cost per lead from $227 to $177 (-22%); Lead-to-booked-job rate from 35.3% to 43.1% (+8 pts); Cost per booked job from $643 to $411 (-36%); AI assistant mention rate from 10% to 29% (+19 pts). These are the targets the work was set and measured against, derived from the published category benchmarks cited on this page — not figures reported back from Suburban HVAC's systems. Measured results replace them here as reporting is reconciled.
No, and any agency that guarantees a number is selling you something. Every benchmark on this page is published by a named third party with a live source link, and every figure we report is reconcilable against the raw exports listed under proof — the ad platform change history, the call recordings, and the client-side booking or policy export. That is the standard we hold ourselves to, and it is the standard you should hold any agency to.
Suburban HVAC runs at the Dominance tier — $8,500/mo, covering PPC and AI SEO. Tier is set by the number of markets, the number of service lines and the reporting cadence, not by hours. Scope is agreed before anything is committed.
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
