Skip to main content

What is a market?

A market is a country, and optionally the language a prompt is asked in there. Every workspace has a primary market: the country it was set up with. With no other markets, nothing changes: each prompt × model is read once a day from that country, exactly as it always was. Add a second market and every prompt is read again from that country, on every model. The unit of work becomes prompt × model × market, and each market has its own rates, its own n and its own trend. A workspace, a topic or a prompt can hold up to five markets. Markets cost AI responses: a second market over every prompt doubles them. Settings prices every change before you save it, and agents propose a second market scoped to the topics with demand there rather than to everything.

Where are markets set?

Settings → Workspace → Markets and engines holds the workspace’s list:
  • Primary market comes first. Every number defaults to it, and when the response allowance runs short, extra markets pause before it does. To change it, make another market in the list the primary.
  • Markets is the ordered list. Each market can carry a language.
  • Engines are the models read in every market above. At least one has to read.
  • Under each market, one line says how each engine is read there: “Read locally on every engine”, or the engines that are not, such as “Claude: location stated in the question only”.
Nothing is saved until you save, and saving shows the cost preview first.

Topic and prompt overrides

A topic or a prompt can read in markets of its own:
  • A topic: open the topic’s menu and choose Markets.
  • A prompt: open its move dialog and switch to Prompt markets.
Each offers inherit or a list of its own, and each change goes through the same cost preview. The most specific setting wins:
An empty list goes back to inheriting, so clearing a list can never leave a prompt read nowhere. The first market of whichever list applies is that prompt’s primary market.

Asking in a language

A market with no language asks the prompt as written. A market with a language, such as Germany with de, asks it in German: a buyer in Germany asks ChatGPT in German, and the brands and pages that answer cites are not the answer to the English question.
  • An agent translates each prompt once per language. Your brand, your domain and your tracked competitors’ names are kept exactly as written. A prompt is translated again only when its text changes.
  • If the translation cannot be made, that market’s readings wait and are retried on the next pass. They are never asked in the original language under the German market’s name, which would be a different question with the wrong label. Loop health records it as translation_failed.
  • Languages come from a fixed list of BCP-47 tags. A tag outside it is refused when you save, rather than becoming a market that never reads.
ar, bg, cs, da, de, de-AT, de-CH, el, en, en-AU, en-CA, en-GB, en-IE, en-IN, en-NZ, en-US, es, es-419, es-ES, es-MX, et, fi, fil, fr, fr-BE, fr-CA, fr-CH, fr-FR, he, hi, hr, hu, id, it, ja, ko, lt, lv, ms, nb, nl, nl-BE, pl, pt, pt-BR, pt-PT, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-CN, zh-Hans, zh-Hant, zh-TW
One language per country, for now. A prompt × model × country is read once a day, so a country listed twice in two languages (Switzerland in de and in fr) is read in the language listed first. The other is recorded as not measured, with the reason “this country is already read in another language for these prompts”. The two are never pooled into one number.

How is each model located in a market?

Not every model can be asked from a country. Attensira writes down how each one was, and never presents one kind as another.
Claude is never read from a location. There is no consumer reader for Claude. Its answers come from the API, and the country is added to the end of the question as a line reading User location: DE. That has always been how Claude is asked in your primary market as well. A Claude rate in Germany tells you how Claude answers someone who says they are in Germany. It does not tell you what someone searching from Germany sees, so it is labelled “location stated in the question, not a local search” everywhere it appears.
Every reading in a secondary market, and every reading asked in a market language, records its language and its mode, so later comparisons can set like against like. Readings in the primary market asked as written are left exactly as they were, with nothing new recorded on them.

Which countries can be read locally?

The consumer models can be read from a browser in these 42 countries: United Arab Emirates (AE), Argentina (AR), Austria (AT), Australia (AU), Belgium (BE), Brazil (BR), Canada (CA), Switzerland (CH), Chile (CL), Colombia (CO), Czechia (CZ), Germany (DE), Denmark (DK), Spain (ES), Finland (FI), France (FR), United Kingdom (GB), Greece (GR), Hong Kong (HK), Ireland (IE), Israel (IL), India (IN), Italy (IT), Japan (JP), South Korea (KR), Mexico (MX), Malaysia (MY), Netherlands (NL), Norway (NO), New Zealand (NZ), Philippines (PH), Poland (PL), Portugal (PT), Romania (RO), Saudi Arabia (SA), Sweden (SE), Singapore (SG), Thailand (TH), Turkey (TR), Taiwan (TW), United States (US), South Africa (ZA). The list is deliberately conservative. A country that cannot be confirmed is treated as unsupported, because the alternative is an answer read from somewhere else and labelled as that country’s. A primary market outside the list is still read on every model, exactly as before, but the consumer models’ answers there may not be local. get_markets says so in that cell’s note: “Read as before, but ChatGPT cannot be read from KE, so its answers may not be local.” Such a market is never compared with another on those models, because how it was located cannot be stated.

Not measured is not zero

A secondary market that a model cannot be read from is a gap: no call is made, no reading is written, and the gap is recorded with its reason. It is shown as “Not measured in Kenya on ChatGPT”, with the reason, never as 0% and never folded into another market’s number. Gaps appear on the Markets section of the analytics overview, in get_markets, in query_evidence answers about markets, and in client reports. A secondary market that was skipped because the month’s responses ran short is not a gap. Its readings are recorded as unmeasured, and the allowance section explains what happens.

Comparing markets

The Markets section of the analytics overview shows one row per market: its share of voice with n, its citation rate, how many prompts were read there, and its change against the same market in the window before. One market is a sentence, not a table. Two or more markets read under this setting add a split by model and surface, each with its mode, and a comparison of every market against every other on each model. Attensira says one market leads or trails another, for example “DE trails US by 12 points (n = 84 vs 340)”, only when all three of these hold:
  1. Both were read the same way on that model and surface. A market read from a local browser is never compared with one whose location was stated in the question, because the comparison would be of the method, not the place. The row says “not compared: DE and US are not read the same way”. Claude in two markets is stated-in-the-question on both sides, so it can be compared. Read that comparison as a difference in how Claude answers a stated location.
  2. Each side has at least 30 successful answers on that model and surface in the window.
  3. The gap clears the same significance test as every other delta: a two-proportion z-test at 95%. See How we collect data.
Below the floor the row says “no clear difference yet (n = 12 vs 340)”. Over the floor but inside the noise it says “no clear difference (n = 45 vs 340)”. Neither carries a number of points, because a number is how a screen says “this is a difference”. On Starter, a market read on a few prompts collects only a few answers a week per model. The cost preview says when that is the case: “weekly comparisons need about 4 weeks here; monthly comparisons are available sooner”. Widen the window rather than reading a week. Adding a market does not show as a drop. A headline number pooled over markets would fall the day a weaker market starts being read. When the set of markets differs between the two windows, the change is computed over the markets read in both, and the chart carries a marker such as “Germany added”. To see everything for one market, cut the analytics to it: choose the market in the Markets section, and an Asked from Germany chip keeps the cut visible until you clear it. The prompts board can also be grouped by market, with one section per market. A prompt read in two markets appears in both.

What markets cost

Readings are metered in AI responses against your plan’s monthly response allowance, not in credits. See Plans.
Allowances are sized for one market at full use. Starter is 50 prompts × 4 models × 1 sample × 30 days = 6,000 responses a month. A second market over every prompt makes that 12,000, which is 6,000 over the allowance. The same market over the 10 prompts that have demand there adds 1,200.

The cost preview

Every change to markets or engines is priced before it is saved, at the workspace, topic and prompt level. The preview shows:
  • Responses a month, now and after, across every workspace in the organisation, because the allowance is the organisation’s.
  • What your plan includes, and how far over it the change goes.
  • What happens past the limit, in the words of your overage policy: readings in the extra markets pause, or they continue and the extra responses are billed as overage.
  • Answers a week: when a market would collect fewer than 30 a week on a model, the note above, with the lowest count.
  • What will not be read: the market × model cells that cannot be located, “never counted as zero”.
A change that raises your responses past the allowance is saved only when you confirm it. Without that confirmation the save is refused with 409 over_allowance, carrying the same preview, so an old tab or a stale approval cannot save past the allowance unseen. A change that lowers your responses is never refused.

The primary market is read first

A second market can never stop your primary market’s readings.
  • The primary market’s readings reserve their responses first, exactly as they did with one market.
  • Each secondary market reserves its own responses separately. If that is refused, only that market is skipped.
  • Under the pause policy, a secondary market may only spend the part of the allowance your primary markets are not projected to need for the rest of the month. Late in the month, that headroom runs out before the allowance does.
  • Under the bill policy, secondary markets keep reading and the extra responses are billed as overage.
A skipped market is never silent. Loop health records the day’s skip as market_allowance_reached, and the Inbox gets one row per market per month: “Readings in DE are paused until the allowance resets”. To read it sooner, track it on fewer topics, or move to a plan with more responses.

Agents propose markets

You do not have to find your markets yourself. Each workspace is looked at once a week, and the morning after you connect Search Console. An agent gathers the evidence and needs at least one strong signal: The best candidates become proposals, at most three standing at a time. Each is scoped to the topics with Search Console demand in that country, at least 20 impressions on a topic’s queries. Only when there is no per-topic demand does a proposal cover every topic, and it says why. A proposal asks in the country’s main language when that language is on your Knowledge Languages you publish in list, and otherwise asks as written and says so. Each proposal arrives in the Inbox as one row, “Track Germany too?”, with the evidence, the topics it covers and the cost from the same preview Settings shows. To take it, set the market on those topics from each topic’s menu (Markets), which shows the same cost preview before it saves. Dismissing the row, or marking it done without taking it, declines it: nothing changes, and that country is not proposed again for 90 days. A row you snooze stays open. Agents never save markets themselves. A workspace with no country set gets no market proposals, because adding a market beside a primary that does not exist would change what every existing reading means.

Over MCP and the API

  • get_markets returns the markets, engines and how each engine is read in each market, then the window by market with comparisons and gaps.
  • preview_markets prices a change in responses and saves nothing.
  • query_evidence groups by country and filters on markets, and answers with the gaps as gaps.
These three are MCP-only for now. Saving markets is done by a person, signed in to the dashboard. An API key or an assistant connection cannot change them.
  • Brand family: the other domains and names that count as you.
  • Models: which surfaces have readers at all.
  • How we collect data: the daily cadence, sampling depth and the significance gate.