How Ads Are Selected
Chapter 04 — How Ads Are Selected
OpenAI matches ads to conversations using a small, named set of signals.
The signal set
- The topic of the current chat — always used.
- Prior interactions with ads — used only if ads personalisation is on.
- Past chats and any context ChatGPT uses to respond — used only if ads personalisation is on, and memory is on.
- Basic context such as approximate location and language — always used.
When more than one advertiser is eligible, OpenAI shows the most relevant one to the chat first.
What changes when personalisation is off
A meaningful share of users will turn ads personalisation off. When they do:
- Only the current chat thread and basic context are used.
- No historical chats. No ad history. No inferred interests.
This is structural, not optional. For an advertiser, the implication is that a meaningful share of impressions will be served against current-thread context alone — which raises the value of conversational fit at the query level. The strategy work that earns that fit lives in the CRS Encyclopedia (Sources Tracking, Prospection, message-match).
Contextual Relevance Score (CRS)
The trade press uses Contextual Relevance Score as the implicit ranking signal — ChatGPT Ads’ functional equivalent of Google’s Quality Score. OpenAI has not published the algorithm. What the documentation makes visible is the input set above, plus the bidding mechanism (max bid per impression at the ad-group level).
The mental model: the higher the contextual fit between the brand’s product, page, and structured data and the conversational query, the better the placement at lower effective cost. The full operating system for raising CRS is the CRS Encyclopedia. This chapter just locates where it slots into the ad-selection logic.
What advertisers cannot do
- Cannot target specific keywords or queries the way Google Ads does.
- Cannot target users by demographic, age, gender, or interest segment.
- Cannot target users by historical chat content (advertisers never see chat content).
- Cannot opt into or out of sensitive-context exclusions — they are absolute.
The targeting surface is geographic (campaign-level country include/exclude) and contextual (ad-group context_hints). That is the full toolkit. Chapters 15 and 16 document both.