ChatGPT Ads Reporting: Metrics, Columns, Exports & Dynamic URL Parameters (2026)
How reporting works in ChatGPT Ads Manager Beta: the seven metrics, adding conversion-event columns, CSV exports, insights charts, dynamic URL parameters and macros, the 24-48 hour conversion delay, and why your events show zero Now including one-day view-through conversions (VTA 1d) and the WorkMagic integration.

It is the counterpart to the conversion tracking guide, which covers collecting the data. This one covers reading it.
Reporting is where most ChatGPT Ads programs quietly go wrong. Not because the numbers are unavailable, but because the default view answers a narrower question than advertisers assume it does — one combined conversions figure, a 24-to-48-hour lag, and a Segment menu that does not do the thing its name suggests. The result is a lot of correct campaigns being cancelled on incorrect readings.
The metrics Ads Manager reports
Available at campaign, ad group and ad level, in table view, chart view and CSV export.
| Metric | Definition | What it is good for |
|---|---|---|
| Impressions | Number of times your ads were shown | Delivery and pacing checks |
| Clicks | Number of times users clicked your ads | Demand-side read; the billing unit on CPC and oCPC |
| Spend | Total amount spent delivering your ads | Pacing against the seven-day budget window |
| CTR | Percentage of impressions that resulted in clicks | Creative and context-hint relevance |
| Avg CPC | Average cost per click | Auction pressure; compare against your max bid |
| Avg CPM | Average cost per thousand impressions | Reach-objective efficiency |
| Conversions | Attributed click-through conversion events, where measurement is set up | The only metric tied to outcomes |
| VTA (1d) | One-day view-through conversions, on eligible accounts | Supplemental only — a directional read on impression influence, never a performance metric |
That is the whole list today. There is no conversion value column, no cost-per-conversion column, no ROAS column — you divide those yourself from spend and conversions. The one addition since launch is VTA (1d), which is reported separately rather than folded into Conversions, for reasons worth understanding before anyone in your business sees the number. OpenAI states additional metrics and reporting views will arrive over time; we track shipped changes in the news timeline.
View-through conversions: what VTA (1d) counts, and what it must not touch
For eligible accounts, Ads Manager reports one-day view-through conversions at campaign, ad group and ad level. A view-through conversion is counted when someone converts within one day of an eligible ad impression and no qualifying ad click receives credit for the same conversion. If both an impression and a click qualify, the click gets credit — the two can never both be counted for one conversion.
You will find it in three places: in the attribution breakdown when you hover the Conversions column, as an optional standalone column called VTA (1d) added through Edit columns, and in CSV exports.
| Conversions | VTA (1d) | |
|---|---|---|
| What it counts | Click-through conversions only | Conversions within one day of an impression, where no click qualified |
| Affects CPA and conversion rate | Yes — it is the numerator | No. Supplemental reporting only |
| Affects bidding and optimisation | Yes — oCPC optimises against it | No |
| Affects billing | Yes, indirectly, via oCPC delivery | No |
| Window | Your configured click-through window | Fixed at one day; not configurable |
None of this requires a change to your setup: the same submitted conversion events support both click-through and view-through reporting, and no attribution settings need editing. Used properly, VTA answers one narrow question well — is this creative influencing people who never click? On a conversational surface that is a more common outcome than on a search results page, which is precisely why it is worth watching as a directional signal and never as a target. We cover how we structure this for clients on the measurement service page.
Breaking the combined Conversions total into individual events
This is the highest-value thirty seconds in the whole interface, and it is behind a menu almost nobody opens. By default, Ads Manager displays one combined Conversions total for the selected scope and date range. If you are firing purchase, lead and registration_completed, all three are summed into a single number that means very little.
- Open the three-dot menu.
- Select Edit columns.
- Expand Conversions & events.
- Choose the events you want as columns.
- Select Save changes.
Once selected, those event columns also flow into CSV exports. The headers arrive in a machine-readable form — attributed_event_account_created, attributed_event_registration_completed and so on — which makes them straightforward to join to your own warehouse tables without hand-mapping display names.
The 24 to 48 hour conversion delay
Conversions are not reflected in Ads Manager immediately. OpenAI's documented guidance is to allow 24 to 48 hours for attributed conversions to be included in reporting.
Clicks and spend, meanwhile, appear promptly. The practical consequence is a reporting shape that looks alarming and is entirely normal: day one shows spend and clicks with a conversions column reading zero. We have watched more than one advertiser kill a campaign on that view before the first attributed conversion had any opportunity to land.
Dynamic URL parameters and macros
This is the feature that turns ChatGPT Ads from a black box into something joinable with the rest of your stack, and it is new enough that most accounts we audit are not using it. Ads Manager supports custom landing page query parameters built from your own text or from supported macros, populated automatically at delivery time.
| Macro | Populated with |
|---|---|
{campaign_id} | The delivering campaign's ID |
{ad_group_id} | The delivering ad group's ID |
{ad_id} | The delivering ad's ID |
{ad_account_id} | The ad account ID |
Where to configure them
From the three-dot menu on the Campaigns, Ad Groups or Ads page, choose Edit campaign, Edit ad group or Edit ad. In the edit modal, use Landing page query parameters.
The precedence rule that catches people out
More specific settings take precedence, in this order:
- Ad URL — highest precedence
- Ad
- Ad Group
- Campaign — lowest precedence
If a parameter is already set at the Ad URL level, campaign, ad group and ad-level settings will not overwrite it. When a macro appears to be silently ignored, this is almost always why — someone hardcoded the parameter into the landing page URL months ago and the campaign-level setting has been losing the fight ever since.
Exports: cumulative vs daily
| You want | Do this | You get |
|---|---|---|
| Everything in the current table | Three-dot menu → Export → Export current table view | Cumulative metrics for every row shown |
| Specific rows only | Select rows → Export → Export cumulative values | Cumulative metrics for the selected rows |
| Day-by-day trend data | Export → Export daily values | Daily rows for modelling and warehouse loads |
The first two options use identical cumulative metrics — the only difference is which rows are included. If you are building anything that needs a time series, Export daily values is the one you want, and it is the one to schedule if you are loading ChatGPT Ads data into a warehouse alongside Meta and Google.
Insights charts
- Select the chart icon next to the three-dot menu.
- Click View insights.
- Select the metrics you want — impressions, clicks, spend, or any combination.
- Set the date range.
Note what the chart view offers: impressions, clicks and spend. Conversions are not among the charted metrics, which is another reason the CSV export rather than the interface is the honest home for outcome analysis on this channel today.
Product-feed reporting: what the Products tab is not
For product feed campaigns, the Products tab is an insights-backed reporting view, not a complete feed inventory. Products appear there only after an active campaign delivers and generates reporting data.
This distinction matters for retailers debugging feed problems. An empty or short Products tab does not mean your feed failed to ingest — it may simply mean those SKUs have not served yet. To confirm feed readiness and eligibility, use the product count shown during ad-group setup, which reflects the feed rather than delivery.
Troubleshooting: conversion events reading zero
A conversion event can be firing correctly, be accepted by OpenAI, and still report zero in Ads Manager. There is one dominant cause and it is a configuration mismatch, not a tracking failure.
| Check | Standard events | Custom events |
|---|---|---|
| Event type match | The configured event type must match the event you send | Ads Manager must use Event type: Custom |
| Name match | Standard event name, exactly | The custom event name must match exactly — a matching display name is not enough |
| Attachment timing | The conversion must be attached to the campaign before traffic starts | Same |
| Backfill | None — historical events from a mismatched setup do not backfill | None |
Troubleshooting: clicks that do not match analytics
Ads clicks measure ad interactions. Analytics sessions measure something materially different, and the two will never reconcile exactly. OpenAI names the usual suspects: page load behaviour, redirects, consent settings, browser blocking, UTM handling, attribution windows and time zone settings.
- Align the date range and time zone first. A large fraction of reported discrepancies are a time zone offset and nothing more.
- Pull the CSV export and compare at campaign and ad level rather than account level — the gap is usually concentrated in one or two ads.
- Check the redirect chain. The
opprefclick reference is appended to your landing page URL and needs to survive redirects; a link shortener or a marketing-automation bounce page that strips query parameters will break attribution while leaving clicks intact. - Check consent and blocking. Browser-side collection is structurally degraded, which is the argument for running the Conversions API alongside the pixel.
A stable gap is expected and manageable. A gap that widens over time is a signal, and the redirect chain is where we find the cause most often. The mechanics of oppref, first-party cookie storage and server-side event enrichment are covered in the conversion tracking guide.
Sending conversions from a CDP or attribution platform
You no longer have to write the Conversions API integration yourself. Three vendor paths are now documented.
| Platform | What it does | Setup notes |
|---|---|---|
| WorkMagic | Views ChatGPT Ads performance alongside other channels and returns conversion signal to OpenAI | Connect ChatGPT Ads to WorkMagic, then send conversion signals back through the Conversions API |
| Hightouch | Syncs conversion events to OpenAI from any source model | Connect with a Pixel ID and an API key; event models need a genuinely unique primary key so each event transmits; includes a live debugger and sync alerting |
| Triple Whale | Measures ChatGPT Ads performance alongside other channels | Sonar Optimize is available for ChatGPT Ads, sending conversion signals back to OpenAI |
Both are worth considering if you already run one of them. The caveat is the same as with any managed conversion pipeline: you still own the deduplication contract. If a CDP sends an event that your pixel also fires, they need the same event ID or you will double-count — and a double-counted conversion feeding an oCPC campaign does not just misreport, it actively mis-optimises.
What to include when you contact support
OpenAI publishes the list, and sending it up front is the difference between a same-week answer and a fortnight of round-trips. It also happens to be a decent self-diagnosis checklist — assembling it resolves the issue about a third of the time.
- Ad account ID
- Campaign and ad names
- Date range and time zone
- Ads Manager CSV export
- Analytics comparison
- Pixel ID
- Event names
- Sample conversion timestamps
- Screenshots of the discrepancy
A reporting cadence that works
- Daily — delivery only. Impressions, clicks, spend. Confirm campaigns are serving and pacing. Do not touch bids on a daily conversion read.
- Weekly — the real review. Export daily values, roll into weekly cohorts, compute cost per conversion yourself, and compare against your control campaign. This is the unit at which decisions get made.
- Monthly — reconcile Ads Manager against your own analytics and against revenue. Expect a gap; document its size so a change in the gap is itself a signal.
- On every change — one variable at a time, dated in a change log. Ads Manager records account change logs, and your own annotation of what you changed and why is what makes the weekly numbers interpretable three months later.
Sources and further reading
- OpenAI — Measure Results
- OpenAI — Conversion Measurement
- OpenAI — Conversion-optimized Campaigns
- Hightouch — OpenAI destination documentation
- GPT Ads AI — ChatGPT Ads conversion tracking
- GPT Ads AI — ChatGPT Ads conversion campaigns (oCPC)
Quick answers.
What metrics does ChatGPT Ads Manager report?
Ads Manager Beta reports seven metrics at campaign, ad group and ad level: impressions, clicks, spend, CTR, average CPC, average CPM, and conversions where conversion measurement is set up. All seven are available in table view, chart view and CSV export. Additional metrics, reporting views and insights are expected as the platform matures.
Why do all my conversions appear as one number in ChatGPT Ads?
The Conversions column is a combined total of all attributed conversion events for the selected scope and date range. To see individual events, open the three-dot menu, select Edit columns, expand Conversions and events, choose the events you want, and save. Those columns then appear in CSV exports too. The Segment menu only controls Device and Country breakdowns — it does not add conversion-event columns, which is where most advertisers go looking first.
How long do ChatGPT Ads conversions take to appear in reporting?
Allow 24 to 48 hours for attributed conversions to be included in Ads Manager reporting. This is the single most common cause of a panicked day-one optimisation decision: the clicks are visible immediately and the conversions are not, so a campaign that is converting normally looks dead for its first day.
Why do my ChatGPT Ads conversion events show 0?
An event can be firing and accepted and still report zero if it does not match the conversion event configured on the campaign. For standard events the configured event type must match the event you send. For custom events, Ads Manager must be set to Event type: Custom and the custom event name must match exactly — a matching display name is not enough. Also confirm the conversion was attached to the campaign before traffic started; historical events from a mismatched setup do not backfill.
What dynamic URL parameters does ChatGPT Ads support?
Ads Manager Beta supports custom landing page query parameters using your own text or supported macros, including {campaign_id}, {ad_group_id}, {ad_id} and {ad_account_id}, populated automatically at delivery time. Configure them from the three-dot menu on the Campaigns, Ad Groups or Ads page via Edit campaign, Edit ad group or Edit ad, under Landing page query parameters.
Which level wins when I set URL parameters in more than one place?
More specific settings take precedence. The hierarchy runs Ad URL, then Ad, then Ad Group, then Campaign. If a parameter is already set at the Ad URL level, campaign, ad group and ad-level settings will not overwrite it — which is the usual explanation for a macro that appears to be ignored.
How do I export ChatGPT Ads reporting data?
From the three-dot menu choose Export. Export current table view gives cumulative reporting for the whole table; selecting specific rows first and choosing Export cumulative values limits it to those rows. Both use the same cumulative metrics. For day-by-day data choose Export daily values. Conversion-event columns you have added through Edit columns appear in the export, with headers in the form attributed_event_account_created.
Why do ChatGPT Ads clicks differ from my Google Analytics sessions?
Ads clicks measure ad interactions; analytics sessions depend on page load, redirects, consent settings, browser blocking, UTM handling, attribution windows and time zone. Compare identical date ranges and time zones first, then use CSV exports to check campaign and ad-level activity. A gap is expected — a gap that widens over time usually means a redirect is dropping the oppref click reference.
Does the Products tab show my whole product feed?
No. For product-feed campaigns the Products tab is an insights-backed reporting view rather than a complete feed inventory — products appear after an active campaign delivers and generates reporting data. Use the product count shown during ad-group setup to confirm feed readiness and eligibility, not the Products tab.
Can I send ChatGPT Ads conversions from a customer data platform?
Yes. Hightouch supports OpenAI as a destination for conversion events, connecting with a Pixel ID and an API key and syncing events from any source model. Triple Whale also integrates ChatGPT Ads for cross-channel performance measurement, with Sonar Optimize available for sending conversion signals back to OpenAI. Both are alternatives to writing your own Conversions API integration.
What is a view-through conversion in ChatGPT Ads?
A conversion counted when someone converts within one day of seeing an eligible ad impression, and no qualifying ad click receives credit for the same conversion. If both an impression and a click qualify, the click gets credit. Ads Manager reports them as VTA (1d) at campaign, ad group, and ad level, and they can be included in CSV exports.
Are view-through conversions included in the Conversions total?
No. The Conversions column includes click-through conversions only. View-through conversions are separate supplemental reporting and should not be added to Conversions or used for core performance metrics like CPA. They do not affect CPA, post-click conversion rate, bidding, billing, or conversion optimisation.
Can I change the view-through window in ChatGPT Ads?
No. The view-through window is fixed at one day and is independent of your configured click-through window. There is currently no setting to adjust it.
How do I add the VTA (1d) column to my reports?
Open Campaigns, Ad groups, or Ads, select Edit columns, and choose VTA (1d). You can also see view-through numbers in the attribution breakdown that appears when you hover the Conversions column, and include them in CSV exports. No pixel or Conversions API changes are needed — the same submitted events support both click-through and view-through reporting.
Related guides.
Conversion Tracking
The oaiq pixel snippet, every supported standard event, the image tag fallback, the full Conversions API payload, deduplication, hashing rules, consent and CSP, validation — and an honest account of what this pixel cannot see.
Read guideConversion Campaigns (oCPC)
The Conversions objective, oCPC bidding mechanics, how to pick the event you optimise toward, Bid Cap strategy, the July 2026 average daily budget change, the API fields — and the mistakes that quietly kill conversion campaigns.
Read guideChatGPT Ads Manager Guide
The full tour of OpenAI's Ads Manager Beta — how to access it, the campaign / ad-group / ad hierarchy, guided UI vs bulk upload, reporting, and what the beta can and can't do yet.
Read guideChatGPT Ads Cost & Pricing
No rate card, no guesswork. How ChatGPT Ads price through a relevance-weighted second-price auction — CPM vs CPC, the $3-5 starting bid, what drives your cost, and worked cost examples by vertical.
Read guide
Tarun Kapoor
Founder · GPT Ads AI
Performance marketer with 12+ years in paid acquisition. Former senior media buyer at Neil Patel Digital. Alumni of GroupM, WPP, Ogilvy & Mather, and Toptal's Growth Collective. Fractional CMO to Fortune 500 brands and venture-backed startups.
Book a call with Tarun