Log in / Create free account🌐 ES☀️

Advanced training · Module 18 — ChatGPT Ads — measurement and traffic quality

Reporting and diagnostics in ChatGPT Ads: what you can measure, when the data arrives and why your ad isn't showing

⏱️ 6 min read · 🤖 ChatGPT Ads 📐 Measurement · updated on 2026-10-01

In Google Ads, when a campaign goes wrong, you open the search terms report and see what people typed. In ChatGPT Ads that report doesn't exist: OpenAI doesn't share conversations with advertisers. What you get is aggregated figures, each with its own delay, and a handful of statuses that explain why an ad isn't serving.

Reading those figures properly, and understanding that an empty report is information too, is half the job on such a young platform.

What you can see

The main metrics are impressions, clicks, spend, CTR, average CPC, average CPM and conversions. The platform also separates conversions after a click from those that arrive after someone sees the ad without clicking it; the latter are informational only: they aren't billed and don't feed into optimisation. Every query combines three axes:

Axis Options
Level Account, campaign, ad group or ad
Granularity Hour, day, month or period total
Breakdown Country, device, platform or product: one per query

What that table does not tell you, and is worth knowing before you build a report: the metrics available change with the cut. By day you get everything; by hour there are no conversions (impressions, clicks and spend only); and as soon as you ask for a breakdown, the only thing that splits up is impressions.

The surfaces it distinguishes are the Android app, the Android web, the desktop web, the iOS app and the iOS web.

The breakdown has two limits, and the second one is the one that really hurts:

  1. One per query. You can look by country and, in another query, by platform, but not platform within each country.
  2. It only splits impressions. There is no such thing as "spend by country" or "clicks by device": those columns do not come split out. What the breakdown tells you is where your ad is seen, not where your money goes or where your conversions come from.

So if you need to know which country or which device is profitable for you, do not look for it in the breakdown: split it in your structure, with one campaign per platform or per country (lesson 7 of this module). Each campaign has its own spend and its own conversions, and then they really can be compared. It is extra work, but it is the only way to have the figure.

When the data arrives

Metric When it appears How to read it
Impressions, clicks and CTR Within minutes They tell you whether delivery is starting
Spend Later Zero spend doesn't mean there are no charges
Conversions With daily processing: at least a day Don't judge today's

Practical rule: decide on closed days; today's figures are provisional.

⚠️ Pitfall: seeing clicks with zero spend and thinking that traffic is free or that billing has failed. Spend arrives after clicks.

What you won't find

There is no conversation or query report, so there are no "search terms" either. It's a privacy decision: advertisers receive aggregated data (views, clicks) and never conversations, chat history, memories, names, emails, precise locations or IP addresses.

So how do you know which context works? Through structure: one ad group per intent, each with its own context hints (lesson 1 of this module), and by comparing groups against each other. Your structure is your search terms report.

Cross-checking with your analytics

Add UTM parameters to each ad's URL (a different utm_content per ad, for example): they're static, persist through the click and any analytics tool can read them. Even so, OpenAI's clicks and your visits won't match, for several reasons:

Don't chase a click-perfect match: watch that the gap stays stable. If it suddenly widens, something has changed.

💡 Ninja trick: filter your own checks and known bots out of your analytics before launching. Otherwise, in the first week, right when the review happens, you'll see visits "from the ad" that belong to nobody.

Diagnosis: everything active and not a single impression

It happened to us at launch: 8 approved ads, a bid that wasn't low and zero impressions. The campaign's diagnostics gave the reason: "account brand review in progress". Until the brand was approved, on 16 September, nothing was delivered. The empty report wasn't a reporting failure: it was the signal that something was blocking delivery. Check in this order:

What to check Why it blocks What to do
Account review (brand or integrity) With an account review pending, nothing is delivered Wait; changing the brand can trigger another review
Ad status In review or rejected, it doesn't serve Edit the rejected ad and it goes back to review
Campaign and ad group An active ad needs an active campaign and ad group Activate them, although activating isn't enough if another condition fails
Budget and spend cap When they run out, delivery stops Check both: they apply separately
Bid A low bid loses auctions The low-bid warning is guidance, not a block

With invoice billing, also check the account's daily limit. And remember that editing an approved ad creates a new version that goes through another review.

The Ads Manager shows the reason on the campaign, ad group or ad itself, and warns separately when the bid falls short. But no reason showing doesn't promise impressions: even with everything green, you need conversations in which your ad is relevant.

What to remember

📎 Sources and further reading

⚠️ Free training with no support. Ninja Scripts support channels (email and Telegram) are only for the use of the scripts, not for Google Ads questions or questions about this training.

Pick up here

← BeforeSetting up conversions in Ads Manager, step by stepChatGPT Ads — measurement and traffic qualityAfter →The click identifier in real life: where it gets lost and how to keep itChatGPT Ads — measurement and traffic qualityRelatedWhere does your ad send people? The link that breaks most campaignsAdvertising in ChatGPT: first stepsRelatedWhy your clicks and your visits never match (and when to worry)Advertising in ChatGPT: first stepsRelatedChatGPT Ads case study: late-night mobile traffic, and how to move to office hours and desktop onlyChatGPT Ads in depth — ads, bidding and optimisationRelatedDiary of our campaign, day by dayChatGPT Ads — the platform, the market and our diary

See the full syllabus

🎓
You're reading the Ninja Academy in the open

Create your free account (no card) to save your progress, take the graded quizzes, earn the Basic level certificate and unlock part of the Intermediate and Advanced training.

Create my free account →
🥷

Subscriber feature

This option is part of Ninja Scripts’ paid subscriptions.

See the subscription →