OpenAI explains how ChatGPT picks ads
OpenAI has published its first detailed look at the ChatGPT ad stack, in which a post-trained LLM selects ads in a service kept apart from answer generation, a design meant to keep ads from shaping responses.
OpenAI described the system behind ChatGPT Ads in an engineering post. The company said it built the ad stack from scratch because chat doesn't produce the discrete search-query or page-view events that traditional ad systems respond to.
The design rests on three decisions. First, ad sessions are stateful: information carries across the turns of a conversation and across separate conversations, so the system can follow a user's intent as it develops instead of treating each message as its own request. Second, a custom, post-trained frontier LLM, which OpenAI calls "the orchestrator," runs the whole ads flow in an agentic loop. It makes tool calls for retrieval, engagement ranking, relevance scoring, and the auction that sets final selection and pricing.
Third, ad selection runs alongside ChatGPT's answer generation but in a separate service, with separate models and code. OpenAI said this keeps ads from influencing answers. It also means that if the ad system is slow or down, ChatGPT's responses are unaffected. The company said that showing no ad counts as "an ordinary, successful outcome."
The post repeats that ChatGPT Ads reached a $1 billion annualized revenue run rate less than 200 days after launch, as we reported earlier. It adds one new figure: more than 100,000 advertisers have run ads on ChatGPT since launch.
The excerpt we reviewed stops partway through the description of retrieval. It gives no details on model size, training data, latency, or how relevance is measured.