58% of HVAC Google Business Profiles have zero photos: the 15-minute audit that closes the gap
Key takeaways
- About 58% of the 123,000+ HVAC Google Business Profiles in the Full Stack HVAC dataset have no photos at all, and only a minority carry 10 or more. That is well below what Google's own GBP guidance recommends for an active listing.1, 2
- About 30% of HVAC GBPs list no website URL at all, the single easiest field to populate and the one most directly connected to homeowner conversion.1
- BrightLocal's annual Local Search Ranking Factors survey puts Google Business Profile signals at roughly 32% of map-pack ranking weight. Whitespark's parallel survey reports a similar magnitude. Both are practitioner surveys, not Google releases; treat the number as directional.3, 4
- The 15-minute audit at the bottom of this post is the same checklist Full Stack HVAC runs against its own GBP-scraping pipeline when a contractor asks why their listing is not surfacing.
I built the GBP-scraping pipeline that Full Stack HVAC uses to track contractor listings. We currently hold structured records on 123,000+ HVAC Google Business Profiles across the United States, refreshed on a rolling cadence. Two numbers from that dataset frame the rest of this post: about 58% of HVAC GBPs have no photos at all, and roughly 30% have no website URL at all.1
Photos are not a vanity field. Google's own Business Profile guidance recommends regular photo uploads, with the implicit assumption that an active listing accumulates a meaningful gallery over time.2 A profile with no photos, or two stock images, is reading to Google's ranking system the same way a contractor with no business cards reads to a homeowner.
Why GBP weight matters in the residential HVAC search
The map pack (the three local results Google surfaces above the organic list) is where most residential HVAC search traffic lands. BrightLocal's annual Local Search Ranking Factors survey puts Google Business Profile signals at roughly 32% of the input weight for those three slots; Whitespark's parallel survey reports a similar magnitude.3, 4 Both are practitioner surveys of local SEO analysts, not Google releases. The exact percentage is not the load-bearing claim; the directional one is that the practitioner consensus consistently puts GBP signals among the strongest inputs to map-pack visibility, on the same tier as on-page SEO, backlinks, and behavioural signals.
For a residential HVAC contractor, that means the GBP is the gate. A site can be fast, well-written, and authoritative; if the GBP is incomplete, the contractor never makes it into the three results the homeowner actually sees.
Five fields most HVAC profiles get wrong
The Full Stack HVAC dataset surfaces the same gaps repeatedly across the 123,000+ profiles. In rough order of impact:
1. Photos: about 58% have none at all
Photos that move the dial, in priority order: techs in uniform on a real job site, branded trucks parked at a real address, before-and-after install shots, the equipment platforms the operator commonly installs, and seasonal-context shots (an AC install in July, a furnace swap in January). Practitioner consensus is that stock photography is a weaker trust signal than original job-site work, and homeowners parsing the panel side by side reach the same conclusion before any algorithmic effect.
2. Website URL: about 30% missing
The single most damaging gap in the dataset. The fix is a 30-second field update. A GBP without a website URL keeps the homeowner inside Google's surface, which works against the contractor on every downstream conversion step.
3. Primary and secondary categories
Primary category should be the closest match to the contractor's actual main service (most commonly "HVAC Contractor"). Three to five additional categories should match the secondary services the operator wants ranked. Many contractors set these once at signup and never revisit them, which leaves money on the table when the service mix changes.
4. Service descriptions
Each listed service can carry its own description. Google uses those descriptions to expand the set of queries the listing can match. "AC repair" with a 200-character description that names compressor replacement, refrigerant work, and capacitor swaps will surface for those long-tail queries; "AC repair" with no description will not.
5. Posts
GBP posts surface directly inside the local panel for the duration of the post window. A weekly post about a seasonal service, a recent completed install, or a published price update is the lowest-effort recency signal on the platform. The dataset says most HVAC profiles publish zero posts.
Seasonal category rotation
One tactic the practitioner surveys do not call out explicitly but the dataset supports: rotating secondary categories with the season. A contractor who sells AC in the cooling season and furnace work in the heating season can list both year-round, but moving the primary-among-secondaries forward by season aligns the listing with the queries that are about to spike.
- Spring and summer: primary among secondaries skews toward "Air Conditioning Contractor" and "Air Conditioning Repair Service".
- Fall and winter: primary among secondaries skews toward "Heating Contractor" and "Furnace Repair Service".
- Year-round anchors: "HVAC Contractor" stays primary; "Duct Cleaning Service" and "Indoor Air Quality" stay listed.
This is a quarterly five-minute task. The dataset suggests almost no operators do it.
GBP as input to AI search
The map pack is no longer the only surface where GBP completeness matters. Google's AI Overviews surface contractor recommendations that, by Google's own published documentation, draw on the same structured local-business data that powers the local pack. ChatGPT, Perplexity, and the LLM-driven assistants build their answers from the open web, which means a profile with weak public data (no website link, sparse photos, no posts) is harder for those systems to ground a recommendation against. The practical test is the one a contractor can run themselves: ask the major LLMs for an HVAC recommendation in the operator's service area, and the listings that surface are the ones with the most public-web surface area.
For the deeper analysis of how ChatGPT actually picks contractor recommendations, see the ChatGPT post.
The 15-minute GBP audit
Open the operator's Google Business Profile dashboard and walk through these ten items in order. Each one is a yes/no.
- Business name matches the legal registered name. No keyword stuffing (e.g. "Acme HVAC - 24/7 Furnace Repair").
- Primary category is the closest single match to the operator's main service (most commonly "HVAC Contractor").
- Three to five additional categories set, matching the actual service mix.
- Website URL present, working on mobile, points to the operator's primary domain.
- Phone number is a local line, not a call-centre redirect. NAP (name, address, phone) consistent with the website and the major data aggregators.
- Business description is written for homeowners, not for keywords. Mentions the service area in plain text.
- Ten or more photos uploaded. Mix of techs, trucks, completed installs, and seasonal context.
- Service list has a written description for each major service offered.
- Business hours reflect actual availability, including emergency or after-hours coverage if the operator runs it.
- A post from the last seven days. Seasonal tip, completed project, price update, or a promotion.
A contractor who clears all ten items is well ahead of the typical HVAC GBP in the Full Stack HVAC dataset; the 10-photo bar (item 7) is cleared by only a minority of profiles, and items 4 (website URL) and 10 (recent post) are the other two the dataset surfaces as routinely missed. A contractor who checks five or fewer has a listing that is actively suppressing their visibility in the very surface most of their customers use to find them.
What to do this week
- Pull the GBP up on a phone. Confirm the website URL, the phone number, and the primary category in 30 seconds.
- Upload at least ten photos. Real photos, taken on the operator's actual jobs. Aim for a mix of techs, trucks, and completed installs.
- Write a description for every listed service. 100 to 250 characters each.
- Publish a post. A seasonal tip, a recent completed install with a photo, or a price update. The bar is "real, dated, and useful", not "polished".
- Calendar the audit. Monthly photo upload; weekly post; quarterly category review against the season.
The GBP is the marketing asset closest to the customer's actual search behaviour and the cheapest one to maintain. The fact that most HVAC contractors do not maintain it past the initial setup, and that 58% have no photos on it at all, is the opportunity.
For the related question of why even contractors with 1,000+ reviews still lose the map pack on certain queries, see the map-pack analysis. For the missing-website segment of the dataset, see the no-website post.
Sources
- "Full Stack HVAC GBP Dataset", Full Stack HVAC dataset (123,000+ HVAC Google Business Profile records, U.S., rolling refresh), 2026.
- "Add photos and videos for your Business Profile" and related guidance, Google Business Profile Help, current revision.
- "Local Search Ranking Factors", BrightLocal annual survey of local SEO practitioners, 2025 edition. Google Business Profile signals reported at ~32% of map-pack ranking input weight.
- "Local Search Ranking Factors", Whitespark annual survey of local SEO practitioners, 2025 edition. Independent practitioner survey; reports a directionally similar GBP-signals weight.