Measurement and data quality

When the ChatGPT Ads API and Ads Manager disagree

Reconcile ChatGPT Ads API reports with Ads Manager. Align scope, dates, attribution and freshness before escalating a persistent reporting mismatch.

Start reading
Editorial illustration: Colored wave-shaped glass profiles overlap in a metal frame with adjustment screws, but their edges do not coincide everywhere.
Editorial illustrationThe overlapping profiles represent aligning report scope and definitions before assessing the differences that remain.
The working guide

What you can work through.

Measurement and data quality
  • Save both observations and their exact settings before comparing.
  • Align conversion time basis and attribution windows explicitly.
  • Escalate only the material difference that remains unexplained.

Start a reconciliation with two saved observations. One is the figure shown in Ads Manager; the other is the response your reporting integration received. Write down when each was retrieved. A memory of yesterday’s dashboard and a fresh API request are not a reproducible mismatch.

For a ChatGPT advertiser, the objective is to find the smallest remaining difference after the reports describe the same thing. Do not begin by assuming that the larger number is correct or that the API is inherently more accurate. Both surfaces need to be examined under their actual settings.

Use a reconciliation sheet with explicit evidence

Put the observed values side by side and record the account, selected campaigns, report dates, time zone, metric label and source field. Add the attribution configuration for conversion comparisons. Preserve the unmodified API response and a record of the visible interface settings where permitted.

Choose one metric and a narrow scope first. A single campaign over a completed period is easier to investigate than a whole account with many breakdowns. If spend agrees but conversions do not, keep that distinction. There is no need to treat every field as suspect merely because one outcome differs.

The sheet should have separate columns for observed difference, identified explanation and unresolved remainder. This keeps the investigation from ending at a vague statement that settings were probably different.

Align selection before calculation

Confirm the exact account and entity IDs. Similar campaign names or a renamed campaign can create a false comparison. Check whether paused or other filtered entities appear on both sides. A dashboard selection and an API status filter may not describe the same population.

Make the dates and time zone match, then check whether both intervals include complete days. Verify that the intended endpoint interprets the period as expected. A one-day boundary error can dominate a short campaign report even when the rest of the integration is correct.

If your API extraction has multiple pages, confirm that all required pages were accepted exactly once. If it partitions a large report into date ranges, verify there are no gaps or overlaps. Pagination completeness addresses the first case; a correct aggregation formula cannot repair missing source rows.

Read the conversion definition carefully

OpenAI’s reporting guidance says comparisons with Ads Manager should use matching date range, time basis and click/view windows. A total with view-through outcomes and a click-only total need not match. Likewise, a period organized around ad interactions differs from one organized around when conversions happened.

Do not apply a balancing adjustment to force equality before resolving these definitions. Suppose a hypothetical interface shows 30 outcomes and the API report shows 24. If the six-outcome difference is explained by a verified definition mismatch, document it and rerun the comparison consistently. Do not simply add six to the API pipeline.

Check whether the measure counts campaign goals, a selected event or purchase value. Similar labels do not guarantee identical contents. If the interface does not expose enough detail to establish equivalence, record that limitation rather than claiming a fully reconciled result.

Workflow

Reduce the unexplained difference

  1. Scope

    Match account, campaign IDs and complete dates.

  2. Definition

    Align goals, time basis and click/view windows.

  3. Remaining difference

    Escalate a reproducible remainder with raw values and retrieval times.

Two reporting sources need the same question before comparison.

Test freshness without erasing the original

Repeat both observations under unchanged settings at a later retrieval time when recent processing may be relevant. Keep the original pair and the new pair. A difference that narrows after processing is useful evidence, but it should not become a made-up universal refresh guarantee.

For a mature historical interval, a persistent mismatch may point toward extraction logic, metric selection or a platform issue. For a current interval, the changing source complicates the comparison. Choose a more stable period to test the integration separately from its handling of fresh data.

Validate numeric representation too. Ratios, formatted percentages and currency amounts need the correct scaling. A display rounded to one decimal place may differ slightly from a raw value without representing a meaningful defect. Reconcile using appropriate precision before rounding the final presentation.

Decide when to escalate

Escalate when a material unexplained difference remains after the documented checks. Provide minimal reproducible scope, exact settings, retrieval times, fields and raw values. Remove API keys and unrelated records. Explain the expected equivalence and show why the compared values should represent the same metric.

Avoid an accusation such as “the system is wrong” when the evidence only establishes a mismatch. A precise case is easier to investigate and leaves room for an undocumented setting or interpretation to explain the result.

If the mismatch affects a pending budget decision, state which metric is currently reliable and which remains unresolved. The team may be able to monitor delivery while postponing a profitability judgment. Time-basis selection and cost freshness support that distinction. Use OpenAI reporting for current platform definitions, and retain the reconciliation sheet with the final conclusion so the next analyst does not repeat the same investigation.

Sources and scope

Reconcile two campaign reporting surfaces by aligning scope, clocks and metric definitions before declaring a data defect.

Working methods and examples are editorial suggestions. Check current platform requirements and available features before implementation.

Your next chapter

See what campaign reporting covers.

Explore reporting in AthillyAds and how it fits alongside your own measurement of enquiries, purchases and other business outcomes.