Core concepts
Surfaces and locales
The twelve surface identifiers, how country and language work, and where they diverge.
A surface is an interface a human actually looks at, not a model. Each has its own access model, its own citation structure and its own failure mode, so each is priced and parsed separately.
| surface id | access | locale control |
|---|---|---|
| google_ai_overviews | anonymous | gl + hl |
| google_ai_mode | anonymous | gl + hl |
| chatgpt | anonymous | prompt language |
| perplexity | anonymous | prompt language |
| copilot | anonymous | market header |
| gemini | account | account region |
| deepseek | account | prompt language |
| qwen | account | prompt language |
| doubao | account | prompt language |
| kimi | account | prompt language |
| baidu_ernie | anonymous | region |
| naver | anonymous | region |
Locale is not one thing
On the Google surfaces locale is a request parameter. On ChatGPT it is the language you write the prompt in. Sending an English prompt with country=JP measures an English-speaking user in Japan, which may not be what your client meant.