Why does ChatGPT recommend my competitor and not me?

Short answer

Nobody outside the company can tell you the exact reason. The usual explanation you can check is that the assistant found clearer or more plentiful information about your competitor on the pages it drew from. Open the sources cited in the answer. Your competitor is probably on them, and you're probably missing or described less clearly.

Nobody outside the company can tell you exactly why ChatGPT named your competitor, but the usual cause can be checked: it found more, or clearer, information about them than about you. I can’t see inside the product and I don’t trust anyone who says they can. Looking at what the answer was built from is normally enough to explain the gap.

Start with the sources

The fastest way to an explanation is to open the links in the answer. When an assistant searches the web to answer a question, it usually shows the pages it used. Run the prompt a few times, collect those links, and read each page with one question in mind: is my company on it?

Take a hypothetical roofer in El Cajon who is never named for “roof repair in El Cajon” while one competitor always is. If the cited pages are a directory category page, a local list of roofers and the competitor’s own roof repair page, and the roofer appears on none of them, there’s no mystery left. The assistant summarized what it read, and the roofer wasn’t in the reading.

What the comparison usually turns up

In practice the gap is one or more of these:

What you find What it means
Your competitor is listed on a cited page and you aren’t You were never a candidate for that answer
Their site has a page for the exact service and city, and yours mentions it in passing Their claim is easy to confirm and yours has to be inferred
Their reviews are spread across several sites and describe the job There’s more for an assistant to repeat about them
Your name, number or service area differs between listings It’s harder to be sure the listings describe one business
Your pages are blocked, or show little without scripts Your own site may not have been readable

The fourth row is the easiest to overlook. A company that changed its name or phone number years ago can still be described the old way on listings it has forgotten about.

When there are no sources to check

If the answer shows no links, it was probably written from training, and the explanation is different. Training is the text the model learned from before release. A competitor that has traded for longer under one name will appear in that text more often, and so will one that has been written about more or reviewed more widely. You can’t edit it. It shifts only as more is published about you and newer versions are trained, on a schedule nobody outside the company controls.

Explanations I’d rule out first

The assumption that the competitor paid for it’s usually wrong. As far as I know, a place inside the answer itself can’t be bought. So, usually, is the assumption that the assistant has a settled preference. Ask the same question ten times and the names often shift, so “it always picks them” needs testing before you believe it.

It’s also worth checking whether the competitor is simply the better fit for that question. If they are based in the city named in the prompt and you’re based twenty miles away, a sensible answer puts them first.

What to do about it

Close one gap, then run the same prompts again. If the gap is a missing listing, get listed accurately. If it’s a vague service page, rewrite it to say what you do and where. Closing a gap makes you a candidate. It doesn’t make you the answer, and nobody can guarantee that it will.

I re-test about two weeks after a change, and keep the change only if the answers moved. Finding the gaps is part of Generative Engine Optimization, and the same side-by-side method applied to ordinary rankings is competitor analysis.

Find out which sources are naming your competitor.

Tell me who keeps appearing in place of you, and I'll trace the answers back to the pages they came from.

Prefer to talk? Call (619) 675-7678, 9am to 6pm.

Step 1 of 2: your business

Your business

Where to reach you

No long contracts. You talk to Simon.

Call Get My SEO Audit