OpenAI began serving ads inside ChatGPT answers in February. There is no public ad library for them — no equivalent of the Meta Ad Library or Google’s Ads Transparency Center — so the only way to find out who is advertising against your category is to keep asking the questions and record what comes back. BotScope has been asking those questions on a schedule for months. Today it starts recording the ads too.
TL;DR
- A new Ads tab on every project — how often ads appear, which prompts trigger them, who is advertising and what their copy says.
- Ads are common. Across the ChatGPT answers in our own tracking, 59% carried at least one sponsored placement.
- Competitor overlap — see when a tracked competitor is advertising on a prompt, paired with whether you appear organically in the same answers.
- A creative library — every distinct ad, deduplicated, with first-seen and last-seen dates. The ad-library-that-doesn’t-exist, for your prompts.
- It’s already backfilled. Ad copy has been arriving in your stored answers all along, so the feature ships with history rather than an empty chart.
- In reports, the API and MCP too — client reports and PDFs carry an Ads section, and six new endpoints and tools expose the same numbers.
- Every plan, including trials. No feature gate.
- Globex COMPETITOR 9 ads
- Initech 6 ads
- Umbrella Legal 4 ads
- Hooli Compare 2 ads
Why this matters now
Paid placement inside an AI answer is a different proposition to a search ad. There is no results page to scroll, no ten blue links to be the eleventh of. There is one answer, and beneath it, one sponsored card. If a competitor is in that slot on a question you have spent a year trying to rank for organically, they are not competing for attention — they have bought the only other thing on the screen.
The awkward part is that this has been happening quietly. When we went looking in our own scan history, ads were already sitting in 59% of the ChatGPT answers we had collected, going back weeks, from 96 distinct advertisers. Nobody had asked for them, so nobody had parsed them. That is roughly the position most brands are in right now: the ads are running, the data is observable, and nothing is watching.
What you get
How often ads appear. Coverage per scan, so you can see whether the paid pressure on your category is building. The chart above is a mock, but the shape is real: coverage moves around a lot between runs.
Which prompts trigger them. Ads cluster on commercial intent. Knowing which of your tracked questions attract them tells you where the category has money in it, which is useful even if you never buy an ad.
Who is advertising, and what they say. A leaderboard by share of placements, and a deduplicated library of the actual creative — headline, description, price where it’s a shopping ad — with first-seen and last-seen dates. When a competitor changes their pitch, you see the new copy appear.
Whether they’re buying answers you lose. This is the one that changes what you do on Monday.
Globex is buying an answer you don't appear in. Across the 4 answers scanned for this prompt, Acme wasn't mentioned once — so the only brand a reader sees here is the one paying.
The honest limitations
We would rather you hear these from us than discover them.
We cannot tell you where an ad links. ChatGPT resolves the destination when someone clicks, so the rendered answer carries no URL. We looked for it everywhere in the payload and it isn’t there. You get the advertiser, the copy and the creative — not the landing page. If that changes, we’ll add it.
Ad serving is contextual, so it varies. The same prompt can produce a different ad, or no ad, on consecutive scans. In one controlled test we ran six prompts we knew had served ads the month before, and only one did that day. This is why every number in the Ads tab carries the count of answers it was measured across, and why prompt-level results read “seen in 3 of 7 scans” rather than a percentage. A rate over a handful of observations is not a rate.
It’s ChatGPT only, for now. Ads only exist on the platforms serving them. Google’s AI Overviews and Gemini are the obvious next candidates, and the plumbing is built to take them, but we would rather ship a detector against real ads than guess at a format.
We never click the ads. BotScope does not fetch advertiser landing pages — not to validate a link, not to grab a title. Every one of those requests would be a billable click for the advertiser.
In your reports, API and MCP
Client reports and PDF exports carry an Ads section, leading with competitor overlap because that’s the slide people react to. New advertisers also drop a marker on your trend charts automatically, so when a chart moves you can see whether a competitor arrived in the paid slot the same week.
Six endpoints join the public API — coverage, trend, advertisers, prompts, creatives and competitor overlap — and the same six as MCP tools, so you can just ask:
Is anyone advertising against us on ChatGPT?
Yes — and one of them is a tracked competitor. In the latest scan, 21 of 31 ChatGPT answers carried a sponsored placement.
- Globex — 9 ads, 43% of all placements. They're your tracked competitor, and they've gone from 0 to 9 ads over four scans.
- Initech — 6 ads, mostly on resource-planning questions.
- Umbrella Legal and Hooli Compare — 6 between them.
The part worth acting on: Globex is advertising on “best project management software for agencies” and “how much does project management software cost”, and Acme wasn't mentioned organically in any of the 4 answers scanned for either prompt. On “acme vs globex” you do appear in all 4, so their ad there is contesting ground you already hold.
One caveat: ad serving is contextual, so these are observations across 4 scans rather than a fixed picture of who's bidding. Want me to pull the ad copy they're running?
FAQs
Do I need to change anything to get this? No. If your project scans ChatGPT, ads are being recorded now. We also backfilled the ad copy already sitting in your stored answers, so the Ads tab has history from the moment you open it.
Does this cost extra credits? No. The ads arrive on scan results you already pay for — reading them costs nothing extra, and it’s available on every plan including trials.
Why is my coverage different from the 59% you quoted? Because ad serving is contextual and category-dependent. Commercial questions attract far more than informational ones, and inventory varies by country. Treat 59% as “this is common”, not as a benchmark.
What counts as an ad? A sponsored placement rendered beneath the answer, identified by OpenAI’s ad creative host rather than by the word “Sponsored” — the label is inconsistent, and the majority of placements we see are labelled simply “Ad”. Shopping carousels are only counted when the payload marks them paid, because unlabelled product results are organic and counting them would inflate your numbers.
Can I see ads for competitors I don’t track? You see every advertiser. Tracking a competitor in your project settings additionally flags their ads as competitor placements and powers the overlap view, so it’s worth keeping that list current.
Does this affect my visibility scores? No. Ads are recorded separately and never counted as brand mentions. An ad is a purchase, not a citation, and mixing the two would quietly corrupt every score and historical comparison you have.
Organic visibility in AI answers was always going to be contested eventually. Now some of that contest is being settled at an auction you can’t see the results of — unless you’re the one asking the questions. Open the Ads tab and find out who is bidding on yours.