ChatGPT Ads puts an ad below the ChatGPT answer, in a unit labelled “Sponsored” and kept apart from the generated text. The ad leaves the answer untouched: it is picked from the context of the conversation, then paid for per click or per impression through OpenAI’s Ads Manager.
Updated 25 October 2026.
Where do ads appear in ChatGPT?
Underneath the answer, in a separate block marked “Sponsored”, and never inside the generated text.
OpenAI documents this plainly, and it shapes everything else about the channel: the ad plays no part in generating the answer, so ChatGPT answers first and a unit appears below only if an ad is judged relevant and eligible. It does not tilt the answer, move it or round it off.
A slot inside the answer is simply not for sale. What you buy is presence next to an answer that already covers your topic, which is what sets the channel apart from GEO, where the aim is to appear inside the answer through organic means.
Who sees the ads?
Logged-in adults on the Free and Go plans. Subscribers on Plus, Pro, Business, Enterprise and Edu see none.
An anonymous visitor gets nothing, and neither does a minor. Someone paying for Plus or Pro is out of reach whatever your budget, and none of these three filters can be bought around with a higher bid.
For B2B advertisers, this is the point that really matters. A senior decision-maker is often on a paid plan, sometimes supplied by their employer. The channel still works when the actual buyer is an operational user, but you want that question settled before launch. Not after.
How is an ad selected?
From the context of the conversation, matched against the ad group’s context hints and against the ad’s own title, body and landing page. An auction then separates the candidates.
The system reads the topic of the current conversation and the user’s likely intent, then looks for ad groups whose context hints describe that kind of situation. Title, body and destination page help judge the relevance of the ad itself, and not only that of its ad group. If the user has switched personalisation on, their history and past ad interactions may count too. None of this reaches the advertiser. No conversation, no prompt, no personal data.
A context hint is written as a sentence saying who is talking, in what situation, with what need. There is no keyword in it. It guides matching without guaranteeing it, and the details are in our context hints guide.
Three levels to organise an Ads Manager account
An account is built from a campaign, an ad group and an ad: the campaign sets the objective, budget and countries, the ad group holds the context hints and the bid, and the ad holds the title, body, image and link.
| Level | What you decide there | Documented constraints |
|---|---|---|
| Campaign | Objective (Views, Clicks or Conversions), daily budget, dates, countries | $25 per day minimum per campaign |
| Ad group | One intent family, its context hints (JSON array), the maximum bid | No documented maximum number of hints |
| Ad | Title, body, square image, destination URL with UTM | Title up to 24 characters, body up to 48, image 640 to 1,200 px in PNG or JPG |
One campaign per business objective, one ad group per coherent intent family. Put two products in the same ad group and matching blurs. The report then becomes unreadable.
Views, Clicks or Conversions: pick the objective first
The choice decides both what you pay for and what the system tries to produce.
Views is billed per impression, on a CPM basis, and suits teams that want to sit in qualified conversations and learn fast. Clicks is billed per click, on a CPC basis; it is the default for traffic, leads or a first conversion test. Conversions relies on events sent back through the OpenAI Pixel or the Conversions API, so with no tracking installed the objective has nothing to optimise.
It is set at campaign level. Two objectives, two campaigns.
How does the auction work?
Second price, weighted by relevance: you do not pay your maximum bid, and a more relevant ad can win with a lower one.
OpenAI describes the mechanism as a relevance-weighted second-price auction. Each candidate ad gets a score that combines its bid with its relevance to the conversation, and the winner pays what it took to beat the runner-up, never its own ceiling.
In practice, the creative becomes a cost lever. A precise title, a body that adds information, a landing page that carries the conversation forward: each one lifts the relevance score and lowers the price paid. Observed price ranges are in our article on how much ChatGPT Ads costs.
What the native report leaves out
The native report gives you six columns per day: impressions, clicks, spend, CTR, average CPC and average CPM. Nothing on conversations, prompts or user profiles.
So you will not see the conversations that triggered an ad, the prompts, the placement data or the demographic breakdown. The costliest gap is the missing benchmark: OpenAI states in its documentation that no performance benchmarks are published, whether by advertiser, by industry or by campaign type. An average CPC in the report cannot tell you whether it is good or bad, which means you need a point of comparison from outside.
Conversion is measured on your side: OpenAI Pixel on the site, Conversions API server-side, UTMs on every link, reconciliation in the CRM. Without those four pieces, the report stops at the click.
For that outside comparison, we feed the Hiints Index with the CPC, CPM, CTR and cost per opportunity observed across our accounts, by sector. It gives you a reference point to read against. It does not replace your own measurement chain.