How ads in ChatGPT work: formats, targeting, bidding, billing and reporting
OpenAI shows sponsored chat cards and product ads inside ChatGPT answers. This guide explains the mechanics as documented in the OpenAI Ads API: formats, placement, targeting, bidding, billing, reporting, and what the platform does not offer.
- Conversion optimisation billed per impression is generally available, and OpenAI recommends it.
- Ads Manager conversion columns can use a 7, 14 or 30-day click window and a 0 or 1-day view window; in the Ads API the click window is set on each conversion event and insights requests take no window parameter.
- The Android app, Android web, desktop web, the iOS app and iOS web can each be targeted separately, with insights by platform.
- OpenAI is testing Sponsored Agents with select advertisers in the United States.
- Plan creative inside the chat card limits: a title of 3 to 50 characters, a body of up to 100 characters and an image of at least 640 by 640 pixels.
- Write context hints as situations and needs, not keywords; each ad group holds up to 2,000 of them.
- Enter impression bids per single impression: a 60 dollar CPM is 60,000 micros.
- Judge conversions on data at least a day old, and store hourly data yourself if you need more than about 30 days of it.
- Build target CPA, target ROAS, dayparting and pacing outside the platform; it offers none of them.
- Two creative formats only: chat cards and product ads built from a product feed.
- Targeting uses context hints, up to 2,000 free-text intent phrases per ad group. They are not keywords.
- Bidding on impressions, clicks or conversions, with fixed bid, maximise clicks or maximise conversions.
- Amounts are expressed in micros, one millionth of a currency unit. Conversion-optimised campaigns are billed per impression.
- Reporting is hourly or daily; hourly data covers impressions, clicks and spend only. Impressions and clicks arrive within minutes; conversions need at least a day.
- Custom audiences are not available for campaigns targeting the EEA or Switzerland.
What are ads in ChatGPT?
Ads in ChatGPT are sponsored units that OpenAI places inside ChatGPT answers, matched to what the user is asking about. Advertisers create and manage them through the OpenAI Ads Manager at ads.openai.com or through the OpenAI Ads API. There are exactly two creative formats: the chat card and the product ad.
A chat card has a title of 3 to 50 characters, a body of up to 100 characters, an image in JPEG, PNG or WebP of at least 640 by 640 pixels, and a destination URL of up to 2,048 characters that OpenAI's crawler must be able to reach. Every advertiser can use it, including service businesses with nothing to list in a feed.
A product ad is built from a product feed. The image, the destination URL and the price come from the feed item, and the template can print the live price. A feed-based ad group carries at most one active product ad template. Shops use this format to put their catalogue in answers; see the shop guide.
Every ad passes review: in review, approved, or rejected with a reason. Editing the creative sends it back into review. A preview, valid for 24 hours, does not confirm eligibility to serve. In the Ads Manager (not through the API), advertisers can opt into text customization, which adapts headlines and descriptions to the conversation and can translate them into the user's language.
Sponsored Agents are an ad experience OpenAI is testing with select advertisers in the United States, announced on 16 September 2026. After clicking an ad, a person may start a clearly labelled conversation with a business's own agent to ask follow-up questions and explore its offer. It is not generally available.
Where do the ads appear?
They appear inside ChatGPT answers on the platforms a campaign targets: the iOS app, the Android app, and the web, split into desktop web, iOS web and Android web. OpenAI decides which answer an ad fits. The advertiser does not choose a prompt, a page or a position. Since 16 September 2026 OpenAI states that each platform can be targeted separately in the Ads Manager and the API, and that performance can be split by platform.
There is no query report, so you never see the prompts that triggered your ad; diagnostics only tell you whether an ad has serving issues or a bid too low to compete.
How does targeting work?
Targeting rests on three settings: context hints that describe the intent your offer answers, locations, and platforms. Context hints are free-text phrases, up to 2,000 per ad group. They are not keywords in the search sense: a hint describes a situation or a need, such as a quiet grinder for a small flat, and OpenAI matches it to conversations where that need shows up.
Hints written from the real product, its reviews and its FAQ do better than a generic list, which is why Adsonomy builds them from your catalogue or service pages.
Locations are set per campaign, up to 2,500 location IDs of type region, market or DMA, found through a geo lookup endpoint or OpenAI's geo-targets file. Platforms are the six values above. Custom audiences, uploaded lists of customer emails or phone numbers, exist but are not available for campaigns targeting the EEA or Switzerland. Audience bid multipliers apply only to fixed-bid ad groups.
How is an ad account structured?
Four levels: ad account, campaign, ad group, ad. The campaign holds the objective, the budget, the schedule, the targeting and the conversion events it optimises for. The ad group holds the bid strategy, the context hints and, for shops, the product set. The ad holds the creative and the destination.
A campaign budget is either a daily or a lifetime spend limit, never both. Everything is created paused. Archiving cannot be undone, and an ad cannot be moved to another ad group. A tracking template at any level appends the campaign ID and ad ID to landing page URLs.
What bidding types and strategies exist?
A campaign bids on impressions, clicks or conversions. Three strategies are available: fixed bid, maximise clicks and maximise conversions. Conversion bidding depends on conversion tracking being in place.
On 16 September 2026 OpenAI made conversion optimisation with impression billing generally available. Delivery optimises for conversions from both ad clicks and ad views, the campaign is billed per impression, and OpenAI calls it its recommended model for performance.
What the platform does not offer matters as much. There is no target CPA, no target ROAS, no bid cap on the maximise strategies, no dayparting, no frequency capping and no pacing control. Anyone who needs those builds them on top by adjusting fixed bids and budgets from outside, which is the job of a management layer. The Ads Manager versus API guide lists the gaps in full.
How does billing work?
You are billed per impression or per click, depending on the campaign's billing event. Conversion-optimised campaigns are billed per impression. In the API, amounts are expressed in micros, one millionth of a currency unit, so 60,000 micros equals 0.06 of a unit. The Ads Manager shows ordinary currency; micros are a detail of the integration.
One trap: impression bids are per single impression, not per thousand, so 60 dollars CPM is entered as 60,000 micros per impression. Daily minimum spend depends on the account currency.
Spend is controlled at two levels. Each campaign has its daily or lifetime limit. The account can carry spend limit windows, up to 60 non-overlapping date ranges each with a ceiling, and postpaid invoice accounts can carry a daily account limit; both are enabled per account by OpenAI. There are no billing endpoints in the API, so invoices and payment methods stay in the Ads Manager.
What reporting is available?
The insights endpoint reports at account, campaign, ad group or ad level, by hour or by day, in a timezone you choose. Metrics include impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, post-click conversion rate, attributed sales and ROAS from order events, and carousel card impressions and clicks.
A query can segment by one dimension: country, device, platform or product, and can filter, sort and page through up to 2,000 rows at a time. Accounts with the capability enabled can list products that received zero impressions, which is how a shop finds feed items that never serve.
Impressions and clicks land within minutes, spend a little later, and conversions need at least a day to settle. Hourly data covers impressions, clicks and spend only; conversion and sales fields are refused at hourly granularity. Hourly data is retained for about 30 days, daily data for 365 days, product-level data for about 30 days. A longer hourly history has to be stored outside the platform.
What is not available?
No prompt or query-level data, no impression share, no reach or frequency metrics, and no asynchronous report jobs. View-through conversions are reported separately from click-through ones, in the Ads Manager and in the API's conversion insights when available for the account; in the Ads Manager, conversion columns can use a 0 or 1-day view window next to a 7, 14 or 30-day click window. In the Ads API the click window is set on each conversion event (attribution_window_days, no default stated), and insights requests take no window parameter. The platform also has no webhooks, no sandbox or test mode, and no official server SDK.
These gaps shape how the platform is run well. Without webhooks, review status, budget exhaustion and conversion arrival have to be polled. Without a sandbox, a new automation is rehearsed in a shadow mode that records what it would have done. Without target CPA or ROAS, a controller moves fixed bids and budgets in small steps against a measured result. The guardrails guide describes how Adsonomy does this without letting software spend outside its limits.
Frequently asked questions
Are context hints the same as keywords?
No. A keyword matches the words a person types into a search box. A context hint describes an intent or a situation in plain language, and OpenAI matches it to the meaning of a conversation. You never see the prompts a hint matched.
Can I run ads in ChatGPT for customers in the EU?
Yes. Campaigns target locations by region, market or DMA. The one restriction is that custom audiences, uploaded customer lists, are not available for campaigns targeting the EEA or Switzerland. Context hints and product feeds carry the targeting instead.
How fresh is the reporting?
Impressions and clicks arrive within minutes, spend a little later, and conversions need at least a day. Hourly data covers impressions, clicks and spend only and is kept for about 30 days; daily data is kept for a year.
Adsonomy runs ads inside ChatGPT for shops and service businesses. Control edition: you run it with rules. Autopilot: Nomy runs it inside your guardrails. Free until 15 October 2026, then plans from EUR 49 a month.
Start free