University of Toronto researchers ran 300 questions across 19 declared locations and 5 network locations, collecting 31,200 AI answers. They found that ChatGPT and Gemini take location from completely different channels, and a single city captures only 8% of recommended businesses across 15 US cities.
If your AI visibility tool runs queries from one server in one location, it is measuring less than 10% of the actual recommendation surface for local queries.
The study
Mahe Chen and Nick Koudas published "Location, Location, Generation" on arxiv on October 16, 2026. They ran 300 questions across 19 declared locations (set in the ChatGPT profile) and 5 network locations (where the API call originates), collecting 31,200 answers from ChatGPT and Gemini.
What they found
ChatGPT follows declared location. It reads the location you set in your profile, down to the city level, and writes that city into 100% of its near-me searches. If you set your location to Chicago, ChatGPT writes "Chicago" into every local query. It ignores the network location entirely.
Gemini follows network location. It ignores your declared coordinates and reads the country from the network endpoint. If your API call originates from a US server, Gemini assumes US, regardless of what you declared. Changing the network country changes most of Gemini's sources, even for questions that do not depend on place.
A single city captures 8% of recommendations. Across 15 US cities, a single city's AI answers contain only 8% of the businesses recommended across all 15. 96% of recommended businesses appear in only one city. If you test your visibility from one city, you see 8% of the picture.
Localization does not fade with distance for ChatGPT. The overlap between recommendations at less than 1000km and more than 3000km is nearly identical (index 0.13 vs 0.14). ChatGPT does not gradually broaden results as you move away. It switches cities sharply, like a light switch, not a dimmer.
Why this invalidates single-location audits
Most AI visibility tools, including the paid ones (Otterly, Peec AI, Profound, Scrunch), run queries from a single server location. The Toronto paper says that for local queries, this is methodologically invalid. You are measuring 8% of the recommendation surface and reporting it as if it were the whole picture.
The problem is structural. If a tool runs your prompts from a US server, it sees what a US-based user sees. But ChatGPT users in Chicago, London, Mumbai, and Tokyo see different recommendations for the same query. The tool reports "you are visible on ChatGPT" when what it means is "you are visible on ChatGPT for a user in one specific location." For 92% of locations, the answer might be different.
Gemini makes this worse, not better. Because Gemini reads network location, not declared location, a tool running from a US data center sees US results for Gemini, even if the tool's user is targeting a European market. The tool cannot simulate being in Germany for Gemini without routing through a German network endpoint.
What this means for geo-optimizer
The GEO Optimizer audit does not have this problem, because it is a site audit, not a citation tracker. It checks whether AI crawlers can read your page. That is location-independent. A page that is readable in Chicago is readable in Tokyo.
But the monitoring layer on geoready.dev, which is building toward citation tracking, will need to handle location. A user targeting a European market needs to know their visibility from European locations, not from a US server. The Toronto paper says that requires:
- Setting the declared location in ChatGPT's profile for each target city
- Routing through network endpoints in target countries for Gemini
- Running multiple cities for any query with local intent
This is infrastructure that most paid tools do not have. The Toronto paper gives us the academic basis to build it correctly.
The competitive critique
Every paid AI visibility tool that runs from a single location and reports a visibility score for local queries is reporting a number that is 92% incomplete. The Toronto paper quantifies the gap: 8% coverage from one city, 96% of recommendations appearing in only one city.
This is the same kind of methodological gap that the calibration study exposed: tools selling numbers without validating whether the numbers measure what they claim. The calibration study showed that on-page GEO scores do not predict citations. The Toronto study shows that single-location citation tracking does not capture local visibility.
Both findings point in the same direction: the AI visibility tool industry is selling metrics that have not been validated against reality. The calibration study was the first test. The Toronto paper is the second. There will be more.
What to check
If you want to check whether AI crawlers can read your page, run a free audit on geoready.dev. The audit is location-independent. It checks crawlability, not citation.
If you want to check your local AI visibility, you need to run your queries from multiple locations. Set your ChatGPT profile to each target city and run the same query. For Gemini, you need a network endpoint in the target country. No single-location tool can do this for you.
The CLI is on GitHub, MIT licensed, 1,137 stars. The audit tells you if your page is readable. The Toronto paper tells you that readability is necessary but local visibility requires multi-location testing.
8% from one city. 92% invisible. If your tool does not handle location, it is measuring a sliver and calling it the whole.
Top comments (0)