ChatGPT Ads context hints: what they do, what they don't, and how to write them
Context hints are the only conversational targeting lever in ChatGPT Ads, and they aren't keywords. How matching works, what exports show, and how to write hints that hold up.
Open an ad-group export from ChatGPT Ads expecting to see the prompts your ad matched, the way a search-terms report shows queries, and what you get is the list of hints you typed in. That's the moment, going by the threads, when people realise the hints field isn't a keyword list; the ones who haven't had it yet are the ones posting that the platform is random.
It isn't random, and hints aren't the only targeting either, which I got wrong in an early draft of this page (the draft said "the only targeting lever you have"; you also choose countries, you can restrict platforms such as iOS app, Android app or desktop web, and you can include or exclude custom audiences once they're large enough). Hints are the only control that describes the conversation. The rest describe the person or the device.
The paragraph in the help center
OpenAI's article on the basics of ads in ChatGPT has one paragraph on targeting. Ads are selected on expected relevance and outcomes, and the system considers the context and intent of the current conversation, the ad's landing page, the title and copy, the advertiser's context hints, and, when personalization is on, signals from the person's broader ChatGPT use. Then the sentence everyone skims past: hints "help guide ad matching, but they are not exact-match keywords and do not guarantee delivery in specific conversations."
Four things you control feed matching, and on the evidence below the landing page may matter as much as the hints or more. Two more details from the same help center if you're in Europe: personalized ads aren't initially available in the EEA or Switzerland, which means in those markets it's the current conversation plus your inputs and nothing from the person's history; and a single response can carry more than one ad unit, with items from more than one advertiser, so you're not necessarily alone under the answer.
In the API the field is context_hints on the ad group, an array of strings, "free-form audience or placement hints". The examples in the reference are productivity and team collaboration, both broader than I'd write. The reference page documents no per-hint length limit; the OpenAPI spec caps the array at 2,000 hints, which nobody will hit. I checked on 16 September.
What people are seeing in their exports
A home-services marketplace PPC lead in this r/PPC thread wrote a hint along the lines of "target homeowners looking for painters, color guides" and found out from the export that it had been stored as two hints, the second being "color guides", which matches roughly everything. They say an OpenAI ad rep told them commas matter, and they put part of a 0.65% CTR down to it. Given the API takes a list of strings, a comma acting as a separator isn't surprising; it's still a check I'd do on day one, because nothing in the thread suggests the form warns you; the export is where it shows.
The original poster in that thread had tracked a fixed set of prompts with a free third-party prompt-tracking tool and watched which ones surfaced the ad, and found that rewriting the landing page shifted the set more than rewriting the hints did. One reply pointed out those tools are largely guesses, since there's no official way to see prompts, and I'd weight the finding accordingly. It does line up with the help center listing the page as a matching input, and with a rule on OpenAI's create-ads page that the landing page must not block its user agents (OAI-AdsBot and OAI-SearchBot), which only makes sense if the page is being read.
Then there's the write-up by an advertiser in Latvia, here, whose argument is that broad hints are fine for reach and a tax on performance. Their before/after goes from "project management software" to "project scheduling software for construction general contractors managing subcontractor timelines across multiple job sites". One reply thinks they're generalising from a trivial spend. They drafted the post with ChatGPT from their own notes and say so, which some readers held against them and I don't, because the notes are the part that matters.
There is no search-terms report, and I wouldn't plan on one
Ads Manager reports impressions, clicks, spend, CTR, average CPC, average CPM and conversions. Advertisers report that the ad-group export shows configured hints rather than matched prompts, and at least one person in the thread above read it as a prompt report before looking at the column headers. OpenAI's principle is that advertisers never see chats, history or memories; it says it may add measurement insights over time, so some aggregated view might arrive. Prompt-level data would contradict that principle, so I wouldn't build a plan that depends on it.
What a hint is for, then: someone has been talking to ChatGPT about a problem for a few turns, ChatGPT has answered, and your ad is a candidate to sit under that answer. The system is asking of each eligible ad whether this conversation suggests the product is useful right now, and your hints are your description of when it is.
What I do with ours
Serge's account cleared review this month. The campaign I intend to run is still a draft; the account holds the September campaign whose ad was rejected, which stays paused, plus one paused test hierarchy we built and archived through the API. The budget's a decision I haven't made, so what follows is a method I believe in rather than one I've measured, and I'll update this page when there are numbers.
Most of the time goes into the first step, which is writing down five to ten things a buyer would type in the weeks before they'd buy. Support conversations are better for this than my own head, and the near-misses (the question that almost stopped someone from signing up) are better than the happy ones. Real prompts are lowercase and run-on and ask two things at once, which doesn't matter because you're not pasting a prompt into the field, you're describing the situation it came from: "consultant losing track of proposal deadlines across several clients" rather than "CRM". OpenAI's own page on ad groups gives the same advice with a running-shoes example ("cushioned everyday running shoes for beginners training for their first 5K" over "running shoes") and links a dedicated article on writing hints, which I found after I'd settled on this. One situation per hint. No commas.
The second step killed most of my first list. For each situation, is there a page on the site that opens by answering it? If the hint is about proposal deadlines and the ad lands on the homepage, the two signals disagree and the model picks, so either the ad goes to a page about proposal deadlines or the hint goes.
After that it's quick. The title and copy carry the same situation, since they're matching inputs too and a generic "Simple CRM for teams" title throws away what the hint bought (the ad-writing post is about this; OpenAI's create-ads page asks for volume and variety of ads for the same reason). A handful of hints, split into ad groups by situation so CTR can be read per situation. A week in, export, check the commas, look at CTR per group, and if it's low on decent impressions my working assumption is that the conversation and the ad disagree, so I'd fix the copy first.
The clinic example
A scheduling tool for small clinics, because I'd rather not use ours until it's live.
Keyword-style hints would be "clinic scheduling", "appointment software", "medical booking", "patient reminders", each of which matches someone researching the category with no reason to prefer you.
Situation-style: "solo physio practice getting no-shows because reminders are sent by hand", "two-location dental clinic where receptionists double-book across sites", "clinic owner comparing booking tools patients can use without creating an account", each pointed at a page that opens by naming it. Fewer impressions, and after a couple of weeks a read on which of the three moments the product wins. I don't know yet which of ours does.
Things hints won't fix
There's no intent qualifier, so a hint can't select for people ready to buy. Ads only show on Free and Go, so if your buyer's on a paid seat the hint never gets a chance (who sees ads in ChatGPT is about that). And when a campaign shows "Not serving", hover the status before touching anything: it'll be verification, budget, end date, billing, or a landing page that blocks OpenAI's bots, none of which a hint can touch.
Sources
- OpenAI Help Center, Ads in ChatGPT: The Basics, "Selection and delivery".
- OpenAI Help Center, Ads in ChatGPT, on what advertisers see, personalization in the EEA and Switzerland, and multiple ad units.
- OpenAI Help Center, Create Campaigns (countries, platforms, custom audiences), Create Ad Groups (hint examples) and Create Ads (user agents, "build for coverage").
- OpenAI Ads API reference, Ad groups,
context_hints. - r/PPC, Been testing ChatGPT Ads, a few things I didn't expect and What I've learned from running real campaigns.
More from the blog
- ChatGPT Ads clicks vs GA4 sessions: why they never match, and how to reconcile themResearch · 17. September 2026
- Your first ChatGPT Ads campaign: budget types, bids, review delays, and a stop ruleResearch · 17. September 2026
- How to write a ChatGPT ad: 50-character titles, 100-character copy, and the review rulesResearch · 17. September 2026
Beginnen Sie mit Ihrer Website.
Serge macht daraus eine ChatGPT-Anzeigenkampagne, die Sie prüfen, bevor Sie über das Budget entscheiden, aus dem Werbekonto, das Ihnen gehört. Die Vorbereitung ist kostenlos.
Meine erste Kampagne starten