Every AI answer that mentions your brand was produced under a budget. Not a marketing budget - a token budget. The agent that decides whether to fetch your page, how much of it to keep, and whether your name survives the final compaction pass is running against a cost ceiling somebody set in a config file. Most GEO advice ignores that ceiling. This post is about what happens when you do not.
Token economics for agents is usually discussed as an infrastructure problem: prompt caching, model routing, context compaction, per-run cost caps. Read it as a visibility problem instead and three under-discussed links show up between cost controls and which brands get named.
1. Prompt caching freezes the shortlist
Production agents cache the prefix of the prompt - system instructions, tool definitions, and increasingly the retrieved context for a recurring task. A cached prefix is cheaper by an order of magnitude, so pipelines are built to reuse it for as long as it stays valid.
The consequence for brands: once a set of retrieved sources lands in a cached prefix, that set gets reused across many user turns without a fresh retrieval. If you were in the fetch that got cached, you are in every answer until the cache expires. If you were not, no amount of new content moves you in until the next cold retrieval. Caching turns visibility from a per-query lottery into a per-cache-window state. Which is why the same three competitors keep showing up for a week and then the list reshuffles: that is a cache boundary, not an algorithm update.
2. Routing decides whether retrieval happens at all
Cost ceilings push teams toward routers: a cheap classifier looks at the query and decides whether it needs the expensive path (retrieval, tool calls, a larger model) or can be answered from parametric memory. "Best CRM for a 10-person agency" is exactly the kind of question a router will label as answerable without retrieval, because the base model already has opinions.
When the router skips retrieval, only brands already in the weights get named. Your fresh comparison page never enters the picture. When the router does trigger retrieval, tool results are typically summarised before being handed to the answer model, and the summariser is the cheapest model in the stack. A cheap summariser working under a token cap keeps the first three sources with clean, extractable claims and drops the rest. Being fetched is not the same as being kept.
3. Your page has a token price, and expensive pages get truncated
Agents read pages through a fetch tool that returns text up to a limit. A comparison page that costs 14,000 tokens to ingest - navigation, cookie boilerplate, three sticky banners, a 2,000-word preamble before the first product name - gets cut at the limit before the agent reaches the part that mentions you. A 900-token page with the claim in the first paragraph is read in full, summarised cheaply, and cited.
This is the same extractability argument GEO people already make, but with a mechanism attached. It is not that models "prefer" concise content. It is that the fetch budget, the summarisation budget, and the context budget are three separate caps, and a heavy page fails all three. Front-load the claim, strip the chrome, and your cost-per-citation drops for every agent that reads you.
4. Measure the ceiling instead of guessing about it
You cannot see a vendor's router thresholds or cache TTLs. You can see their output. Run the same prompt set on a schedule and watch two things: how often your brand appears at all (retrieval happening or not), and how often it appears alongside the same fixed set of competitors (a cached shortlist). Sudden reshuffles with no content change on your side are cache boundaries. Prompts where you are cited on Perplexity but absent on ChatGPT are routing differences, since one engine retrieves by default and the other does not.
This is what LLM Search Console is built for: scheduled scans of your prompts across ChatGPT, Gemini, Perplexity, Claude, Google AI Overview and AI Mode, with a per-prompt visibility score, the competitor set that appears next to you, and the exact URLs each engine cited. Daily scans on the Pro plan are the resolution you need to see cache windows; the citations log tells you which of your pages are cheap enough for agents to keep.
Quick wins for GEO
Put the claim in the first 300 tokens. Brand name, category, and the one-line differentiator before any navigation or intro copy.
Publish a lightweight canonical page per prompt cluster. Under 1,500 words, no interstitials, plain HTML headings. This is the page you want cached.
Refresh sources on a cadence, not on impulse. If a fixed competitor set persists for days, wait for the reshuffle and make sure your updated page is live before it.
Track per engine, not "AI". Retrieval-first engines and memory-first engines fail you for different reasons. Fix them separately.
Scan daily. Weekly sampling cannot distinguish a cache boundary from a real loss of visibility.
Every agent answer is a cost-optimised artifact. Brands that are cheap to fetch, cheap to summarise, and already in the cached shortlist get named. Everyone else pays the ceiling.


