The short answer
ChatGPT and similar assistants are built on a large language model (LLM), software trained on huge amounts of text that writes an answer by predicting what a good one looks like, often after searching the web first. OpenAI has not published how it picks which hotels to name. What you can see from the outside is the material it has to work with: your website, your listings, your guest reviews and what other sites write about you.
So when a competitor is named instead of you, a likely cause is that more is written about them, or that it agrees more closely from one site to the next. That can happen whichever hotel is better. A smaller hotel with better guest reviews can lose to a rival whose details simply appear in more places.
Most causes are visible from the outside. You can check each of the six below in under ten minutes, with nothing more than a browser and your own listings. None of the fixes guarantees a recommendation, and nobody can promise one, but they do remove the reasons an assistant has to leave you out.
Six reasons, and how to check each
1. The competitor is described more consistently across sites. An assistant can read your website, Google Business Profile, Booking.com, TripAdvisor and local directories. If one lists 40 rooms and another 42, or your old phone number still sits on a directory, it may find two versions of the same hotel. The check: open your website, your Google Business Profile, Booking.com and TripAdvisor in four tabs, then compare the hotel name, address, phone number, room count and main amenities line by line. Do the same for the competitor. If theirs match and yours drift, you have found one cause.
2. They have more, and newer, reviews that mention what guests ask about. A guest asking for a quiet hotel with parking near the old town wants an answer that mentions those things, and guest reviews are one place an assistant can find them. A rival with recent reviews saying "easy parking" and "quiet room" gives the assistant words to repeat, while a hotel whose reviews say "great stay" gives it nothing specific. The check: pick the three things guests ask you about most, search your last 30 Google and TripAdvisor reviews for those words, then search your competitor's. Count the matches and note the date of the newest review on each side.
3. Their website states facts an assistant can quote. Guests ask assistants about plain facts: check-in time, distance to the main station, whether breakfast is included, whether there is a lift. When those facts sit inside marketing copy or only appear in images, they are harder for an assistant to find. Schema markup helps here too: a block of code on your pages that labels facts like address and star rating in a format machines read directly. The check: write down five questions a guest asks before booking, then try to find each answer on your own site within 30 seconds. Then run the same five on the competitor's site.
4. They appear on the travel blogs and editorial sites that AI cites. Assistants often support an answer with a few sources, and independent travel sites are among them. In our Golden Well case study, the sources AI cited for Prague included Booking.com and TripAdvisor most often, plus a French travel blog and thehotelguru.com. For Mosaic House the list was Booking.com, TripAdvisor, Expedia and thehotelguru.com. A competitor written up on those sites is in the material the assistant reads, and you are not. The check: ask ChatGPT a guest question about your city with search turned on, open every cited link that is not an OTA, and look for your hotel and your competitor on each page.
5. Your site blocks AI crawlers. A crawler is the program an AI company uses to read websites. OpenAI's documentation says sites that opt out of its search crawler, OAI-SearchBot, will not be shown in ChatGPT search answers. A hotel can block it by accident, through a security plugin, a hosting default, or a robots.txt rule written years ago. The check: type your domain followed by /robots.txt into a browser. Look for OAI-SearchBot, GPTBot, ClaudeBot, PerplexityBot or Google-Extended next to the word Disallow, and for a rule that blocks every bot. If you find one, send it to whoever manages your site.
6. The question is generic, and AI defaults to big names. For "good hotels to stay at in Prague" an assistant will usually name the best-known properties or point the guest at a booking site. That pattern showed up in our own scans. Golden Well was named for occasion questions such as "best hotel in Prague for a honeymoon" and missing from broad ones. Mosaic House was named for identity questions such as "unique hotels to stay in Prague" and missing from generic location questions like "hotels in Prague city centre". Across four hotels we scanned, three had 0% on Google AI Overviews for generic questions. The check: write three broad questions and three specific to your kind of stay, ask each in ChatGPT, and note where you appear. If you only lose on the broad ones, this cause is a large part of your result.
What to fix first
Start with crawler access, because it is a yes or no. If your robots.txt blocks the bots that feed these assistants, nothing else on this list can help your website get cited, and the fix is usually a few lines your web developer can change the same day.
Next, fix the inconsistencies from check one and the missing facts from check three. Both are on your own site and listings, so you control them fully, and both make every other source about you more believable. A good technical score does not settle the matter, though. Golden Well had the highest readiness score of the four hotels in our case studies, 77.1%, and was named in 21 of 295 non-branded questions, or 7.1%. Across the four, readiness did not predict visibility.
Then work on the slow causes: reviews and editorial mentions. Ask recent guests to mention the specific things they valued, and reply to reviews in a way that names those things too. Take the non-OTA sites from check four and list the ones that cover your city but not your hotel. That list is your outreach plan. It takes longer because it depends on other people publishing.
Leave cause six for last and change your goal for it. Our case-study hotels were missing from broad questions like "good hotels to stay at in Prague". They were named for questions about a particular kind of stay or occasion, so aim at the questions your guests ask about your kind of stay, your neighbourhood or an occasion you suit.
How to watch it week by week
A single check is a weak basis for decisions. Ask ChatGPT the same question twice and you can get different hotels each time, so one screenshot of a competitor's name proves little either way. What you want is the same set of questions, asked on the same engines, repeated on a schedule, so a change in the numbers means something.
The two numbers to watch are detection rate and share of voice. Detection rate is the share of your tracked questions where the assistant names your hotel. Share of voice puts that next to the same figure for the competitors you track, which tells you whether you are losing to one rival repeatedly or to nobody in particular. Our guide to hotel share of voice in AI answers explains how to pick those competitors from your own answers rather than your rate-shopping list.
If you want a baseline before changing anything, the free scan runs 15 guest questions about your hotel across ChatGPT, Google AI Overviews and Google AI Mode, with no card needed. It shows which questions name you and where the answers get their information about your hotel. Fix one cause at a time and compare against that baseline over several weeks, because citations and reviews take time to show up in answers.