All posts
Research16 min read

How Does ChatGPT Choose Which Local Businesses to Recommend?

ChatGPT does not just search the web for local businesses. The written answer comes from web search, but the map and business cards come from structured place records supplied by providers OpenAI does not name. Our own testing matched those records to Google places and found the website button using the link from a business's Google Business Profile. What OpenAI confirms, what our testing found, how to see ChatGPT's record for your own business in your browser, and what to do about each layer.

Most explanations of ChatGPT and local businesses say the same thing: it searches the web, reads what it finds, and names a few businesses. That is part of the story. It leaves out the part you can see on screen. When ChatGPT answers a local question it often shows a map and a set of business cards with a star rating, a review count, a phone number and a website button. Those cards do not behave like search results. They behave like records from a places database. That difference changes what a local business should actually work on.

ChatGPT · a local questionIllustration
Who’s a good dentist near me? I’ve just moved here.
1 · The written answer

Here are two well-regarded dentists close to you:

Northgate Family Dental is often praised for calm, unhurried appointments and evening slots. local news

Riverside Smiles is a good fit if you need a family practice that takes new patients. practice site reviews

Searches it ran behind the scenes

top dentists Denverdentist new patients Denver reviews

Who gets named, and the reasons given, come from pages found by web search.

2 · Map and cards
123
1

Northgate Family Dental

4.8(312)

Dentist · Open until 6pm

WebsiteCallDirections
2

Riverside Smiles

4.6(198)

Dentist · Opens 8am

WebsiteCallDirections

Rating, review count, phone, hours and the website link come from a stored record for each place.

The businesses are invented. Notice that the map shows a third place the answer never mentions: the two layers do not have to agree.

The short answer

ChatGPT does not look up local businesses in one place. From what OpenAI documents and what our own testing has shown, a local answer is put together from two different kinds of source. The written answer comes from web search. The map and business cards come from structured place records, one per business.

You ask a local question

“good dentist near me”

ChatGPT works out roughly where you are

From your IP address, usually to city level, unless you have shared precise location.

It rewrites the question into searches

For example top dentists Denver
Web search

Search providers

Microsoft is named by OpenAIDocumented

Pages about you

Your site, directories, review sites, local press, forums.

The written answer

Who is named, and why

Place records

Business listings providers

Described by OpenAI, never namedNot named

One record per place

Name, address, phone, hours, rating, review count, website.

The map and cards

Where you are, and what your card says

The top three steps are in OpenAI’s help centre. So is the fact that business listings come from “trusted third-party providers”. Who those providers are is not.

The two layers work together, but they are not the same system. That is why a business can appear as a pin on the map without being mentioned in the text, or be recommended in the text with details on its card that are out of date.

What OpenAI actually says

It is worth starting with what the company itself has put in writing, because a lot of what is published on this topic runs well ahead of it. Most of what follows comes from one page of OpenAI’s help centre, “Searching the web with ChatGPT”,1 plus the partners’ own announcements.

  • Microsoft

    Search provider

    ChatGPT rewrites your question into shorter searches, sends them to search providers, and may follow up with more specific searches once it has read the first results. For how providers handle those queries, OpenAI points readers to Microsoft’s privacy statement.
    DocumentedWeb search
  • Shopify

    Search provider

    Named in the same passage of OpenAI’s help centre, as a provider whose privacy policy applies to search queries.
    DocumentedWeb search
  • Yelp

    Licensed local content

    Yelp licenses its reviews, ratings, photos and business details to ChatGPT, and runs restaurant bookings and waitlists inside it.2
    DocumentedPlace records
  • OpenTable, Resy and Yelp

    Restaurant booking times

    Show available tables for the restaurants they cover. Resy is US only; Yelp bookings cover the US and Canada.
    Documented
  • Mapbox

    Draws the map

    Mapbox confirms its maps are built into ChatGPT search.3 That is who draws the map, not where the businesses on it come from.
    Documented
  • Google

    Place records match Google's

    Not named by OpenAI. In our testing, ChatGPT’s place records matched Google listings field for field, Business Profile tracking tags included. More on that below.
    Our testingPlace records
  • Who supplies the business listings?

    OpenAI says ChatGPT “may share your location with trusted third-party providers that help provide more local information, such as nearby business listings or weather reports.” It does not say who they are. At launch it said only that it had partnered with data providers for categories including maps.4
Tiles marked Documented are the company's own statement. Google is the one entry that comes from testing, not from OpenAI.

A few more things OpenAI states plainly:

  • Documented
    The search is rewritten before it is run, using the city ChatGPT thinks you are in. OpenAI’s own example is a request for restaurants “near me”. The same pattern means someone in Denver asking for “a good dentist near me” could end up with a search for “top dentists Denver”.
  • Documented
    By default, ChatGPT only knows roughly where you are, worked out from your IP address at country, state or city level. Sharing your device’s precise location is optional and off by default.
  • Documented
    If memory is turned on, what ChatGPT remembers about the person can change the search too. OpenAI’s example: someone who has said they are vegan gets vegan restaurants when they ask for places nearby. Two people asking the same question can see different businesses.
  • Documented
    ChatGPT “ranks search results using multiple factors”, placement is not guaranteed, and a site has to let OAI-SearchBot crawl it to be eligible. There is no way to submit a business or pay for a place in the answer.5

Note the wording in the help centre. Search providers and the providers of “nearby business listings” are described in different paragraphs, for different jobs. That is the clearest sign from OpenAI itself that local results are more than web search.

What our testing found

OpenAI does not say where its place records come from, so we went and looked. Through 2026 we have run local questions through the ChatGPT website and read the data the page receives before it draws the map and cards: the kind of question a patient or customer would ask, in more than one city. You can repeat this yourself; the steps are further down. Here is what kept coming up.

  • Our testing
    You can see the two layers inside a single sentence. In the raw answer, a business name is not plain text. It is a pointer to a business record, labelled as a business result. The reason given next to it (“its website lists removal from around £275”) points somewhere else: to a web search result. The name and card come from one system, the reason from another.
  • Our testing
    Every card is backed by a data record. Each business on the map arrives as its own block of data: name, address, coordinates, category, rating, review count, phone number, website, opening hours by day, whether it is open now, whether it has closed for good, and photos. Each carries two IDs of ChatGPT’s own: a short lookup ID and a long encrypted key that cannot be decoded, and is not meant to be. The photos are served from OpenAI’s own image servers, so they do not reveal a source either.
  • Our testing
    The record has a slot for its source, and it was empty. Each record includes fields for a provider’s name, web address and logo. In every record we looked at they were blank. The data is built to credit a source when it has one to credit. For these businesses, it did not name one.
  • Our testing
    The website link inside the record is the Business Profile link. The website stored in the record is not a clean homepage. It is the exact link the business saved in its Google Business Profile, tracking tags and all: tags such as utm_campaign=gbp and utm_campaign=gmb, which owners add so they can spot Business Profile traffic. That is inside the data before anyone clicks, which is stronger evidence than the link a card happens to open. The details also match what Google shows, down to Google’s own category names, such as “Skin care clinic” and the American spelling “Medical Center” on a London business.
  • Our testing
    Nothing in the record explains the ranking. The fields for rank, ranking score, popularity and distance were all empty, and every business in a London test carried the same location: “London, UK”. The order was decided somewhere else, and at city level, not by distance from the person asking. Review text was not in the record either, so the reasons written into the answer come from pages found by web search.
  • Our testing
    Every branch is its own record. A clinic group with two London sites appeared as two separate records under the same name, each with its own address, category, rating, review count and ID. A chain with several branches had a different website link for each, pointing at that branch’s own page. ChatGPT treats a location, not a brand, as the thing it recommends.
  • Reported by others
    Others have gone further. Published tests this year have matched ChatGPT’s records to specific Google Place IDs, and reported that opening a card makes ChatGPT treat follow-up questions (“do they take walk-ins?”) as being about that business.
What we observed in the ChatGPT website, not anything OpenAI has published. Field names and structure are internal to ChatGPT and can change without notice.

ChatGPT place record

Google Business Profile

  • Name

    Northgate Family Dental

    Name

    Northgate Family Dental

    matches
  • Address

    48 Northgate Ave, Denver

    Address

    48 Northgate Ave, Denver

    matches
  • Phone

    (303) 555-0142

    Phone

    (303) 555-0142

    matches
  • Website

    yourwebsite.com/?utm_source=gbp

    Website

    yourwebsite.com/?utm_source=gbp

    matches
  • Rating

    4.8

    Rating

    4.8

    matches
  • Reviews

    312

    Reviews

    312

    matches
  • Hours

    Mon to Fri, 8am to 6pm

    Hours

    Mon to Fri, 8am to 6pm

    matches
  • Source named

    (blank)

    unknown

    Source

    The owner’s profile

Our testingEvery field matches, tracking tags included. The record never says where it came from.
A worked example of what our testing found, with invented details. Matching fields show the two records describe the same business. They do not show which company supplied ChatGPT’s copy, and the record’s own source field is empty.
  1. In ChatGPT

    Tap “Website”

    Website
  2. The link it opens

    yourwebsite.com/?utm_source=gbp&utm_medium=organic

    Copied from your Business Profile

  3. In your analytics

    Can be reported as

    gbp / organic

    Unless ChatGPT rewrites the source tag, the visit is credited to your Business Profile, not ChatGPT.

What happens when the website link on a Business Profile carries tracking tags. Some reports describe ChatGPT swapping the source for chatgpt.com, so check your own link rather than assuming either.

Our view is that the Google match is the most useful thing to have come out of this testing, even though it does not settle who supplies the data. For a business owner, the practical point is simpler: the details in your Google Business Profile have turned up, field for field, on ChatGPT's business cards. Whatever the pipeline is, your profile appears to be one of the records it relies on.

Check it yourself: see the record ChatGPT holds for you

You do not have to take anyone’s word for this, including ours. The ChatGPT website receives the place records in the same stream that carries the answer, so you can look at them in your own browser in about ten minutes. You need a desktop computer and Chrome or Edge. No extensions, no coding.

chatgpt.com · DevTools · NetworkIllustration
NetworkKeep log1Disable cacheentity_lookup_id3Fetch/XHR
NameTypeSize
conversation2fetch48.2 kB
preparefetch1.1 kB
finalizefetch0.6 kB
initfetch3.4 kB
HeadersEventStreamResponse
{
"entity_lookup_id": "lbe1_…",
"entity_key": "gAAAAA…",
"provider": "",
"name": "Northgate Family Dental",
"address": "48 Northgate Ave, Denver, CO",
"rating": 4.8,
"review_count": 312,
"categories": ["Dentist"],
"website_url": "yourwebsite.com/?utm_campaign=gbp",
"rank": null,
"location": "Denver, CO",
// plus coordinates, phone, hours, open now, photos
}
  1. 1Tick Keep log before you send the question.
  2. 2Open the streaming request that carries the answer.
  3. 3Search for entity_lookup_id to jump to the place records.
The Chrome Network panel, with invented values. Request names and the exact shape of the data are internal to ChatGPT and change without notice; the field names shown are the ones we saw in our own testing.
  1. 1

    Open a new chat on chatgpt.com

    Use the website on a desktop, not the app. Start a fresh chat so the only traffic you see is for your question. Signing in first makes it more likely you get the full answer with map and cards.
  2. 2

    Open DevTools and go to the Network tab

    Press F12, or Ctrl+Shift+I on Windows and Cmd+Option+I on a Mac. Click the Network tab along the top of the panel.
  3. 3

    Tick Keep log, then filter to Fetch/XHR

    Keep log (called Preserve log in older versions of Chrome) keeps the list from being wiped if the page reloads or redirects, for example if you are asked to sign in or you refresh mid-answer. Without it, the request you want can vanish before you find it. Ticking Disable cache as well does no harm. Then click the Fetch/XHR filter so the list only shows data requests, not images and scripts.
  4. 4

    Ask a local question and wait for the map

    Use the words a customer would, with a town in it, for example “best dentist in Denver for a nervous patient”. Wait until the answer has finished and the map and cards have appeared. If no map appears, try again with a more clearly local question; not every answer gets one.
  5. 5

    Find the request that streamed the answer

    Look for a request with conversation in its name, usually the largest one, sent the moment you pressed enter. Its response type is text/event-stream: the answer arrives as a stream of small messages rather than in one piece. Click it, then open the EventStream tab if there is one, or Response if not. The EventStream tab has its own filter box: type your business name there to jump straight to the messages that mention you.
  6. 6

    Search for the business records

    Press Ctrl+F (Cmd+F on a Mac) with the Network panel focused to search every request, and try entity_lookup_id, then local_business. Each match sits inside a block describing one business: name, address, coordinates, rating, review count, phone, website_url and opening hours. Search for raw_search_entities to find the full list of businesses behind the map, including ones the answer never mentions. If the panel search finds nothing, open the request’s Response tab and search inside it instead.
  7. 7

    Compare it with your own listings

    Put the record next to your Google Business Profile, your website and your Yelp listing. Does the name match exactly? Is the category the one you chose? Is the review count the one Google shows, or Yelp’s? Does the website URL carry the tracking tags you set on your profile? Is the provider field filled in, or blank? Every difference tells you which record ChatGPT is closest to, and which details to fix.

Why the two layers matter: the card is not the recommendation

If ChatGPT simply “searched the web for local businesses”, the advice would be simple: publish good pages and earn good reviews. The two-layer picture explains some things that advice cannot, starting with the fact that there are two different ways to lose.

Named in answerCard on map

Recommended

Named in the answer, with a correct card. Both layers are working.

Named in answerNo card

Named, but no card (or the wrong one)

The web vouches for you, but ChatGPT cannot pin you to one place. Typical causes: two profiles, an old name, a moved address, a different phone number. Fix identity.

Not namedCard on map

On the map, but not chosen

Your record is fine, so you get a pin, but the answer names someone else. Typical causes: vague pages, thin or old reviews, few independent mentions. Fix evidence.

Not namedNo card

Not there at all

Start with identity, because it is quicker to fix, then build evidence.

The two layers fail separately, so a business can be in any of these four boxes. Each box points to a different fix.

Your place record gets you onto the map. What the web says about you gets you into the answer. You need both, and they are fixed in different places.

The practical point

So what decides who gets recommended?

OpenAI does not publish ranking factors for local answers, and no one outside the company can give you weights. What follows is our reading of the documented behaviour and the testing above, in the order we would work on it. Treat it as a way to set priorities, not a formula.

  1. 1

    Being one clear, matchable place

    Our reading

    If ChatGPT cannot tie you to a single place record, you do not get a card, and you are a riskier business to name. The same name, address, phone, website and category across your Google Business Profile, your website and the other big listings is what makes the match easy.

  2. 2

    Relevance to the search ChatGPT actually runs

    Documented, in part

    The question is rewritten into short searches such as 'best emergency plumber Dublin'. Searches worded like that tend to return 'best of' lists, directories and review sites as much as business websites, so being named on those pages is often how a business gets into the pool the answer is chosen from.

  3. 3

    Reputation that ChatGPT can read

    Our reading

    The rating and review count sit on the card itself. The content of reviews on the sites ChatGPT reads, including Yelp's licensed content, gives it the reasons it writes next to each name.

  4. 4

    Independent sources that agree with each other

    Our reading

    Local press, trade bodies, 'best of' roundups and directories that describe you the same way make you a safe business to recommend. Your own website on its own does not.

  5. 5

    Location, which is rougher than most people assume

    Documented, in part

    Unless the person has shared their precise location, ChatGPT knows roughly which city they are in. 'Near me' often becomes a city-wide search, so being near the person matters less than it does in Google Maps, and being well known across the city matters more.

The order is our view of where effort pays back first. OpenAI publishes no ranking factors for local answers.

What to do about it

None of this needs special tools or new markup. It is mostly about treating your place record and your web presence as two separate jobs.

Place records

Job one: your place record

  • Google Business Profile, every field exact
  • Yelp listing, claimed and matching
  • Bing Places, claimed and matching
  • Hours and website link kept current
Web search

Job two: what the web says

  • Pages that say what you do and where
  • Recent reviews that name the service
  • Local press, trade bodies, roundups
  • OAI-SearchBot allowed to crawl your site
Two separate jobs. The first gets you a correct card; the second gets you named.
  1. 1

    Treat your Google Business Profile as the master record

    Your profile's name, address, phone number, hours, category and website have turned up field for field on ChatGPT's business cards. Keep every field accurate, with no keyword-stuffed name and no out-of-date hours. Our Google Business Profile guide covers the fields that matter.

    Our reading

  2. 2

    Check the website link on your profile

    The URL you put in your profile may be the one ChatGPT's website button opens. Make sure it goes to a live page (usually your homepage or that location's page), not to a redirect or an old domain. If you tag it with UTM parameters, remember that some of the visits recorded as Google Business Profile traffic may actually have come from ChatGPT. Search referrals from ChatGPT are tagged utm_source=chatgpt.com,8 but a click on the card may not be. In Google Analytics, look at the Page referrer for visits carrying your profile’s tags: where the browser passed one, chatgpt.com marks a click from ChatGPT’s card rather than from Google.

    Partly documented

  3. 3

    Make the other big listings match

    Yelp's content is licensed into ChatGPT, and Microsoft is one of its search providers, so Yelp and Bing Places are the obvious next two. Apple Business Connect is worth doing too. The aim is not to be listed everywhere. It is that every record that could be matched to you says the same thing. On your own site, LocalBusiness markup with the same details, sameAs links to your profiles and a hasMap link to your Google Maps listing9 states which place you are in a form machines can read. It helps a system confirm the match; it will not earn you a recommendation on its own. Our guide to NAP consistency goes through how to audit this.

    Our reading

  4. 4

    If you have several branches, get each one right

    ChatGPT recommends a location, not a brand. Each branch is its own record with its own category, rating and website link, so give every branch its own accurate Business Profile, a primary category that fits what that site actually does, and a website link to that branch’s own page rather than the homepage. Two branches sharing one name is fine; two branches sharing one vague record is not. Our multi-location guide covers the setup.

    Our reading

  5. 5

    Let ChatGPT's search crawler in

    OpenAI's only stated requirement for appearing in search is that OAI-SearchBot can crawl your site, and that your host or CDN is not blocking OpenAI's published IP addresses. Blocking GPTBot, the training crawler, is a separate choice and does not affect search. In our reading, blocking OAI-SearchBot would not take your card off the map, since that comes from listings data, but it stops ChatGPT reading and quoting your pages, which is where the recommendation comes from.

    Documented

  6. 6

    Give the written answer something to quote

    The recommendation text comes from pages. Say in plain words what you do, where you do it and who for, on a page that loads without scripts or forms. Then work on being described the same way by sources you do not control: reviews that mention the specific service, local press, trade bodies, and the “best of” lists that ChatGPT’s rewritten searches tend to find. Our guide to query fan-out covers how one question becomes several searches.

    Our reading

  7. 7

    Test the two layers separately

    Ask ChatGPT the questions your customers ask, with and without a town name. For each answer, check two things separately: are you named in the text, and is your card on the map with the right details? Open your card and tap the website button to see which URL loads. To see the record itself, follow the DevTools steps above. Answers vary from one run to the next, so repeat the check over a few weeks before drawing conclusions.

    Our reading

Quick answers

Does ChatGPT use Google Maps for local businesses?
Not by name. OpenAI says business listings come from unnamed third-party providers. In our testing ChatGPT's place records match Google listings detail for detail, including the tracking tags on Business Profile website links, so Google data is involved somewhere. The record's own source field was blank, and whether the data comes from Google directly is not public.
Does my Google Business Profile affect ChatGPT?
It appears to. The name, address, phone, hours, rating, review count and website on ChatGPT's business cards have matched the Google Business Profile in our testing, down to the tracking tags on the website link.
Does ChatGPT use Bing or Yelp?
Both play a part. Microsoft is one of ChatGPT's search providers, and Yelp licenses its reviews, ratings, photos and business details to ChatGPT.
Can I pay to be recommended by ChatGPT?
No. OpenAI says results are ranked on several factors and placement is not guaranteed. There is no paid placement in the recommendation itself.
Why is my business on ChatGPT's map but not in the answer?
The map and the written answer come from different sources. Your place record is good enough for a card, but the pages ChatGPT's searches found gave it more reason to name someone else.
How do I get my business recommended by ChatGPT?
Keep one consistent place record across Google, Yelp, Bing and Apple, let OpenAI's search crawler read your site, say plainly what you do and where, and earn mentions on the reviews, lists and local pages ChatGPT's searches find.

What we still do not know

We would rather be clear about the gaps than paper over them. As of September 2026:

  • Who supplies the place records. OpenAI says “trusted third-party providers” and names Yelp as a content partner. The Google match is strong evidence that Google data is involved somewhere, and each record has a field for naming its provider, but in our testing it was always blank. Whether the data comes straight from Google, through someone else, or only as one of several sources is not public.
  • How quickly changes show up. We do not know how often ChatGPT refreshes its place records, so a change to your Business Profile may take days or longer to appear on your card. Check again after a couple of weeks before assuming it has not worked.
  • How the list is chosen. OpenAI says results are ranked on “multiple factors”. It has not said how the written answer and the map affect each other, or whether a business can be recommended in the text without first having a place record.
  • Whether it is the same everywhere. Most testing so far, ours included, has been in the US and Europe. Coverage, partners and card details may differ by country, and OpenAI has changed this product several times in 2026 alone.10

If you want to see how this plays out for your own business over time, rather than from one conversation, tracking whether ChatGPT names you across the questions your customers ask is what ChatGPT Visibility is for.

Keep reading

References

Mechanism claims are cited to OpenAI's, Yelp's, Mapbox's and Google's own documentation. The findings marked 'Our testing' come from our own checks of the ChatGPT website during 2026, using the method in 'Check it yourself'. Links last checked 24 Sept 2026.

  1. 1.OpenAI. Searching the web with ChatGPT. Covers query rewriting, the location ChatGPT infers from your IP address, and the separate 'trusted third-party providers' used for nearby business listings. Checked 24 Sept 2026.
  2. 2.Yelp (August 2026). Yelp brings Reservations and Waitlist to ChatGPT. Yelp describing its content integration: reviews, ratings, photos and business details shown inside ChatGPT. Checked 24 Sept 2026.
  3. 3.Mapbox (December 2024). Mapbox 2024: a year of innovation and impact. Mapbox confirming its maps are integrated into ChatGPT search. This is about the map itself, not the business data shown on it. Checked 24 Sept 2026.
  4. 4.OpenAI (October 2024). Introducing ChatGPT search. The launch post. Says ChatGPT search uses third-party search providers plus content from partners, and that OpenAI partnered with data providers for categories including maps. Checked 24 Sept 2026.
  5. 5.OpenAI. OpenAI crawlers and user agents. OAI-SearchBot is the crawler for ChatGPT search. GPTBot is the separate training crawler. Checked 21 Aug 2026.
  6. 6.Google. Place IDs (Places API). What a Place ID is. Google notes that one place can have more than one ID, and that IDs can change over time. Checked 24 Sept 2026.
  7. 7.OpenAI (January 2026). Terms of Use. Lists automatically or programmatically extracting data or output among the things users may not do. Checked 24 Sept 2026.
  8. 8.OpenAI. Publishers and Developers: FAQ. Source for the utm_source=chatgpt.com tag on referral links from search results. It does not say how the website button on a place card is tagged. Checked 24 Sept 2026.
  9. 9.Schema.org. hasMap. The property for linking a place to a map of it, such as its Google Maps listing. Checked 24 Sept 2026.
  10. 10.OpenAI (June 2026). ChatGPT release notes (GPT-5.5 Instant update, 24 June 2026). Says the model makes better use of location context for local business questions and brings business information and images together. Checked 24 Sept 2026.

Start tracking your real rankings today

See where you actually rank on Google Maps, not where Google tells you. Pick the plan that fits and start tracking from day one.