On August 11, 2026, I ran the same 45 questions across ChatGPT, Gemini, and Microsoft Copilot. Five questions per city, three cities, three assistants. When I prompted these models I ensured that every session was fresh and logged out, so nothing carried over from one to the next.
There was something specific I wanted to know: if a homeowner in Niagara asks an AI assistant who to call about their roof, which businesses get named?
What I came to find out was that it depends almost entirely on which assistant they happened to open. In St. Catharines, ChatGPT and Gemini did not name a single business in common. Not one, across five questions each.
This is not a small thing. It means a roofing company in this region can be the obvious answer to one assistant and not exist at all to another, on the same day, for the same question.
It also means at least one company can be recommended repeatedly without any of the things a homeowner would use to check whether it is real. I will get to that one.
What I actually did
Three cities: St. Catharines, Niagara Falls, and Welland.
Five questions per city, all phrased the way a homeowner would actually type them:
- best roofing contractor in city Ontario
- who should I call for a roof inspection in city
- roof replacement companies near city Ontario with good reviews
- emergency roof repair city Ontario
- how much does a new roof cost in city Ontario and who does it
Three assistants: ChatGPT, Gemini, Microsoft Copilot.
That is 45 runs. For each one I logged the first three businesses named and every source the assistant cited. Fresh session every time, logged out, no chat history and no memory. If an assistant knew I was a web developer in Thorold, that would change what it told me, and the data would be worthless.
Every answer was screenshotted at the moment it was generated. These models get updated, so this is a dated snapshot and I am not claiming it holds a month from now. That is part of the finding.
Afterwards I looked up the Google review count for every business that got named, plus six roofing companies in the same three cities that were never named at all. You should pay attention to the last group the most, as it carries a lot of importance. A study of only the winners tells you nothing.
Every review count in this post is my own check on August 27. The assistants quote their own review numbers inside their answers, and those do not always agree with mine: ChatGPT put Skyway Roofing at 30 in the screenshot below, where my count sixteen days later was 32. Where the two differ, the figure I use is mine.
Screenshot R001: ChatGPT, "best roofing contractor in St. Catharines Ontario", August 11, 2026.
Screenshot R002: Gemini, the same question, the same day, the same city. Not one name in common with the answer above. Only the first three names in each answer were logged, which is why Hamblet's shows up here but not in the count of eight.
Finding 1: In St. Catharines, ChatGPT and Gemini have zero overlap
Across five questions each, ChatGPT named eight distinct businesses in St. Catharines. Gemini named eight. The intersection is empty.
ChatGPT named: AJT Roofing and Contracting, Skyway Roofing, Blampin Roof Tops, Niagara RoofMasters, Sheppard Roofing, 911 Roofer, and two home inspection firms.
Gemini named: Baron Roofing and Siding, Green Peaks Roofing, JPG Roofing and Construction, JD Roofing, Peace of Mind Exteriors, Niagara Peak Roofing, Smith's Home Services, and The Roof Whisperer.
Same city. Same day. Same questions. Two completely separate lists.
Copilot sat in the middle and overlapped with both, naming AJT, Skyway, and Niagara RoofMasters alongside ChatGPT, and JD Roofing alongside Gemini.

The clearest single case is AJT Roofing. ChatGPT named it in all five St. Catharines runs, in first position in four of them. Copilot named it in all five, first every time. Gemini never named it once.
By any reasonable read, AJT is the most visible roofing company in St. Catharines. To Gemini, it does not exist.
Finding 2: Only two businesses in the entire region reached consensus
Thirty-two businesses got named somewhere across the 45 runs. Two of them were named by all three assistants in their own city: Ace 1 Quality Roofing in Niagara Falls, and Niagara RoofMasters in Welland.
Ace 1 is the standout, and it is not close.
In Niagara Falls, Ace 1 was named in all fifteen runs. Every question, every assistant. It took first position in thirteen of those fifteen, and the two exceptions were both ChatGPT putting a home inspection firm or another roofer ahead of it. Nothing else in the dataset comes close.
Screenshot R018: Copilot, "best roofing contractor in Niagara Falls Ontario", August 11, 2026. Ace 1 took first position here and in twelve of the other fourteen Niagara Falls runs.
Everyone else is playing a different game than Ace 1. Most businesses show up for one assistant on some questions. Ace 1 showed up for all three assistants on every question, almost always at the top.
Finding 3: Reviews get you into the running, not to the front
The obvious explanation for Ace 1 is reviews, so I checked. Ace 1 has 260 Google reviews, one of the highest counts in the study.
But across the twenty-nine businesses I pulled review counts for, the pattern is a floor, not a ranking.
Among those twenty-nine, every business named more than once in its own city had at least 31 Google reviews. Baron Roofing at 31 and Skyway at 32 sit at the bottom of that group. One name in the screenshots above does not fit the pattern. ChatGPT named Blampin Roof Tops twice in St. Catharines and reported 24 reviews for it in the answer itself. Blampin was not on my prospect list, so I never pulled a verified count for it, and on ChatGPT's own figure it is the one business that would sit below the floor. Below roughly 30, a business might scrape a single mention low in one answer, and more often gets nothing at all. The six never-named companies I checked topped out at 21 reviews. The lowest had one.
Above that floor, the number stops predicting anything.
Niagara RoofMasters has 368 Google reviews on its Welland listing, the highest count in the study, and was named in 6 of 15 Welland runs. The two companies the Welland answers actually revolved around, Beauregard Family Roofing and Faber Roofing, were named 8 times each on 73 and 63 reviews. Hamblet's Roofing has 95 and was named once in fifteen Niagara Falls runs. Sheppard Roofing has 55 and never appeared in its home city at all. Meanwhile Baron, at the very bottom of the qualifying group, was named four times in St. Catharines.
So reviews look like a qualifying threshold. Get past roughly thirty and you become eligible to be recommended. What decides whether you actually are is something else.
Two caveats. This is one vertical, and review count correlates with company age, size, and marketing spend, so none of this is causal. And I counted Google reviews only, not HomeStars or BBB, both of which turned up repeatedly in the citation trails.

Finding 4: They disagree because they are reading different parts of the internet
This is the part that explains the rest. The sources column is by far the most important thing in the entire dataset.
Gemini cited BBB accredited business listings, GAF contractor directories, and businesses' own homepages. Heavy on formal directories and accreditation.
ChatGPT cited Reddit threads, HomeStars, ProScore, local directories like Niagara Stands Out, and cost guide articles. One St. Catharines run leaned on two separate r/stcatharinesON threads where people had asked for roofer recommendations, and a Niagara Falls run came back to one of those same threads.
Copilot mostly cited the businesses' own websites and little else. On several runs it cited nothing at all.
That single difference accounts for most of the disagreement. If your business has a strong BBB listing and a clean website, Gemini finds you. If people have recommended you by name on Reddit, ChatGPT finds you. If neither is true, you are relying on Copilot stumbling onto your homepage.
These are three different visibility problems, and the tactics that solve one do not solve the others.
It also means an assistant reading mostly websites will recommend whoever has the best website. This brings me to the part of the study that I was not expecting to be part of this post.
Finding 5: The business I could not verify
Niagara Peak Roofing was named six times across all three cities. Every one of those mentions came from Gemini.
So I went looking for them, the way a homeowner would.
They have no Google Business Profile. I checked twice, once programmatically and once by hand in Google Maps. There is nothing there.
Their website lists no physical address, only a phone number.
The homepage carries three testimonials, one each from St. Catharines, Niagara Falls and Welland, attributed to Mark T., Sarah L. and James R.
The Facebook and Instagram links in their footer both lead to pages that do not exist.
The site states a rating of 4.9 out of 5 from more than 127 reviews. That figure appears nowhere except on their own website. When Gemini recommended them, it cited that page and repeated the number back to me as though it were established.
What they do have is a professionally made website. Service pages, a blog, a project gallery, a roof cost calculator, and a dedicated landing page for each of the twelve municipalities in the Niagara Region.
I am not going to tell you what this company is, because I do not know. Plenty of real contractors never bother setting up a Google listing. Everything above is what I was able to observe publicly on August 27, 2026, and I have archived the pages so you can check the same things I checked.
Archived copies as of August 27, 2026:
- Homepage (opens in a new tab)
- About (opens in a new tab)
- Services (opens in a new tab)
- Contact (opens in a new tab)
Here is why it belongs in a post about AI recommendations.
Every signal a person uses to judge a roofing contractor is absent here. No reviews you can read. No address you can drive to. No social presence that resolves. No third-party listing anywhere. And an AI assistant recommended them six times, in three different cities, more often than most businesses in this study that have a hundred verified reviews.
The signals these systems reward and the signals people use to decide who to let onto their roof are not the same set. That gap is the whole story of this post, and this is the clearest example of it I found.
Finding 6: When they cannot find a local answer, they reach
Five of the businesses recommended for these three cities are not in them.
911 Roofer is in Thorold. Green Peaks Roofing is in Port Colborne. JPG Roofing is in Fonthill. Peace of Mind Exteriors is in Oakville, about an hour away. The Roof Whisperer is in Toronto, and Gemini recommended it for emergency roof repair in St. Catharines, roughly 110 kilometres away.
Gemini in particular treats the region as one market. It named Baron Roofing in all three cities and Niagara Peak in all three, and Ace 1 in two of the three. Meanwhile it named none of the businesses ChatGPT and Copilot both considered obvious in Welland: not Faber, not Beauregard, not 4wards.
There is also an anomaly in the data which is worth bringing up, because it shows how easily this data gets muddied. Green Peaks Roofing has two Google listings, one in Port Colborne with 10 reviews and one in Hamilton with 201, same phone number and same owner. One business, review signal split in half. Niagara RoofMasters is split the same way. The Welland listing I counted carries 368 reviews. The Niagara Falls listing Copilot surfaced in the screenshot earlier carries 85, under a slightly different name and at a different address. If you are wondering why your own business behaves strangely in these systems, duplicate listings are a good place to start looking.
The strangest result
Two of my five questions per city were about roof inspections and roof costs, and this is where things got loose.
I asked ChatGPT who to call for a roof inspection in St. Catharines. It named two home inspection companies before it named a roofer. Technically defensible. Not what a homeowner with a leak is asking for.
Screenshot R004: ChatGPT, "who should I call for a roof inspection in St. Catharines", August 11, 2026. Two home inspection firms before the first roofer.
The Welland version of that same question cited a Wall Street Journal article about how long roofs last. A national newspaper feature, offered as the answer to a question about who to call locally.
Gemini's cost answers leaned on Ontario-wide pricing guides written by contractors in other cities entirely. So a Welland homeowner asking about Welland prices gets a number sourced from a company in a different market.
None of this is catastrophic. It is a reminder that these systems are assembling an answer from whatever they can find, and when local information is thin, they reach for whatever is nearby.
What this means if you own a local business
Four things I would take from this.
You do not have one AI visibility problem. You have three, and they have different causes. Being the obvious answer for ChatGPT tells you nothing about whether Gemini has ever heard of you.
Reviews are a floor. Under about thirty, you are effectively invisible. Past that, more reviews stop helping, and the businesses with the highest counts in this study were not the most visible ones.
Directory listings still matter, specifically for Gemini. BBB, GAF, industry directories. Boring work that feels like it belongs in 2015, and it is still doing the heavy lifting.
And the gap between the top result and everyone else is enormous. Ace 1 was named fifteen times out of fifteen. Nearly half the businesses that appeared at all were named only once or twice. There is not much of a middle.
What I am not claiming
This is one vertical, one region, one day, three assistants, 45 runs, and 32 businesses named. It is a snapshot, not a study.
I did not test whether being named leads to a phone call. I did not test Perplexity or Google's AI Mode. I did not control for ad spend or company age, and I have no idea what these assistants will say if I re-run the same queries next month.
I am going to find out. I will run this again and publish what changed.
What I keep coming back to
There is no complete answer yet to the question of how a small business shows up in AI search, and anyone who tells you there is has not looked very hard. What I have is one region, one trade, one day, and a spreadsheet full of results I did not expect.
The part that stays with me is Finding 5. Across 45 answers, the business Gemini brought up in all three cities is the one I could tell you the least about. That is not really a story about roofing. It is a story about the difference between a business that is easy for a machine to read and a business a person can actually check.
I will run the same 45 queries again and publish what moved. If you run a business in St. Catharines, Niagara Falls or Welland and you want to know whether you came up on August 11, get in touch. I still have every screenshot.





