Ask ChatGPT "best HVAC company Calgary for furnace repair" and it will hand back a list. The same names show up on Perplexity, Gemini, and Google's AI Overview. If your shop isn't on that shortlist, the customer never gets to your phone, they call one of the four companies the AI named.
Why this happens
AI answer engines don't index the open web the way Google did. They lean on a smaller set of sources: Reddit threads with multiple corroborating opinions, Wikipedia entries, regional listicles ("Best HVAC Calgary 2025"), and high-authority review sites. If you don't appear across at least three of those, you're effectively invisible to the model.
Most Calgary HVAC websites fail the AI test for the same reasons:
- They have a Google Business Profile but no Reddit footprint.
- They're absent from regional roundups on local-news sites and trade-association directories.
- Their service-area pages are thin, one paragraph for Bowness, another for Bridgeland, not enough text for a model to associate the company with a neighbourhood.
- Their schema markup is missing or generic, so AI scrapers can't reliably extract their hours, services, and contact details.
The fix, in order
Don't try to do everything. Run them in this order, because each step makes the next one cheaper.
- Schema markup first. Add LocalBusiness JSON-LD to every page with services, hours, address, and review snippets. ChatGPT's web tool reads it directly. Most Calgary HVAC sites have either no schema or only the autogenerated WordPress version, which omits half the useful fields.
- Beef up service-area pages. If you serve Bowness, Bridgeland, Inglewood, McKenzie Towne, and Auburn Bay, write 800, 1, 200 words per neighbourhood. Talk about typical home age, common furnace makes in that pocket, named-customer stories where you have permission. Vague "we serve Calgary" pages get filtered.
- Get reviewed in the right places. Google reviews matter, but the AI models also look at HomeStars, BBB Calgary, and the contractor directories run by the trade publications. Three review sources beat 200 reviews on a single platform.
- Earn at least one Reddit thread. Not paid. Genuinely helpful. A long answer on r/Calgary about "what to look for when getting a furnace quote" with your business named in the byline is worth more than a $2, 000 ad spend.
- Find one regional listicle. Avenue Calgary, the Calgary Herald's home-services roundups, the Better Business Bureau's annual lists. One inclusion gives you a citation source the AI tools cross-reference.
How to tell it's working
Forty-eight hours after you change something, ask ChatGPT, Perplexity, and Google AI Overview the exact query a homeowner would: "furnace repair near Bowness Calgary," "best HVAC company Calgary residential." If your name appears once, anywhere, you've moved. If it appears in two of three, you're now in consideration.
Track this monthly. The same query phrased two different ways can return different shortlists, so test both ways.
What not to bother with (yet)
- Spending more on Google Ads. The AI engines don't read Google Ads. You're paying to compete with the same shortlist that already excludes you.
- Buying Yelp reviews. Yelp is a lower-priority source for AI right now. Spend that energy on HomeStars or BBB.
- Generic blog posts. "10 signs you need a new furnace" doesn't help, the AI tools see thousands of those. Write Calgary-specific content with named neighbourhoods, real prices, real timelines.
Quick checklist
- LocalBusiness JSON-LD on every page
- 800+ words per service-area page, named neighbourhoods
- Listed on HomeStars, BBB Calgary, and one trade directory
- One genuinely helpful Reddit thread per quarter on r/Calgary
- Pitch one regional listicle per quarter
This is the same playbook the four shops ChatGPT already names are running. The gap is mechanical, not magical.