Measurement and data quality

How to calculate combined CTR for ChatGPT Ads

Calculate weighted CTR for ChatGPT Ads without averaging unequal rows. Includes a worked example, mix analysis and reporting checks.

Start reading
Editorial illustration: a pencil beside a hand-drawn chart, not actual campaign results.
Editorial illustrationThe illustration is a reminder to calculate total CTR from summed clicks and impressions.
The working guide

What you can work through.

Measurement and data quality
  • Calculate combined CTR from total clicks and total impressions.
  • Keep portfolio mix separate from a causal claim about improvement.
  • Check row overlap and percentage scaling before publication.

A campaign report can show a higher average click-through rate even when the account generates fewer clicks per impression. The problem is often the calculation, not the advertising. If you average percentages from rows with different impression counts, a small row receives the same influence as a large one.

For ChatGPT Ads, OpenAI defines CTR as clicks divided by impressions. Its reporting documentation returns this as a ratio, so 0.04 represents 4%. The practical task is to preserve that definition when combining rows in a spreadsheet or dashboard. This article concerns your reporting calculation, not a promise that a particular dashboard feature exists in AthillyAds.

Start with the totals

Consider this hypothetical, deliberately uneven example:

Campaign Impressions Clicks CTR
Small campaign 100 10 10%
Large campaign 9,900 99 1%
Combined 10,000 109 1.09%

The simple mean of the two percentages is 5.5%. That number does not describe the combined campaign traffic. Only 109 clicks occurred across 10,000 impressions, giving a combined CTR of 1.09%. The smaller campaign contributes one hundredth of the impressions, so it should not contribute half of the combined rate.

Use total clicks divided by total impressions. If your spreadsheet stores impressions in column B and clicks in column C, calculate SUM(C2:C3)/SUM(B2:B3), then format the result as a percentage. Do not multiply by 100 and also apply percentage formatting. That would turn 1.09% into 109%.

Compare the alternatives

Worked example: correct weighting

  1. Small campaign

    10 clicks from 100 impressions gives 10%.

  2. Large campaign

    99 clicks from 9,900 impressions gives 1%.

  3. Combined denominator

    109 / 10,000 = 1.09%, not 5.5%.

Hypothetical figures. Counts determine the total.

Decide which question the rate answers

A combined rate describes the traffic that actually happened. It does not establish that one campaign is better at attracting the same audience. A campaign with a different offer, country, schedule or device mix may naturally have a different response rate.

For a portfolio report, the weighted total is usually the appropriate description. For an experiment, the relevant comparison may require keeping the populations comparable. Write the question above the table: either “What share of delivered impressions received clicks?” or “Which treatment performs better under comparable conditions?” Those are different decisions and need different evidence.

This distinction matters when a high-CTR campaign receives little delivery. Increasing its budget might change the impressions it reaches. You cannot assume its previous CTR remains constant at a larger volume. The arithmetic explains existing observations; it does not forecast the response to a budget change.

Reconcile the rows before trusting the total

Check that rows are mutually exclusive and cover the same period. Campaign totals and their ad-group children cannot both be added into one denominator. Doing so counts the same delivery twice. Likewise, an account total should be a comparison value, not an additional row in the sum.

Keep the account, time zone, filters and aggregation level visible. If one export includes paused campaigns while another excludes them, their weighted totals can legitimately differ. Campaign names are helpful labels, but stable identifiers make it easier to detect duplicated rows after a rename.

Treat missing impressions separately from a genuine zero. A row with unknown delivery cannot safely contribute a known click count to a complete portfolio rate. Label the combined result incomplete until the denominator is available. For the handling of missing values, use null versus zero in reports.

Explain a change without blaming the wrong campaign

Suppose both campaigns retain their original CTRs next week, but the smaller campaign receives 1,000 impressions and the larger one receives 9,000. Expected clicks under those hypothetical fixed rates would be 100 plus 90, giving an overall CTR of 1.9%. No campaign improved. The allocation changed.

Show both the individual rates and the impression shares when explaining this result. A reader can then see whether the portfolio change came from better within-campaign performance or from a different mix. Avoid a headline such as “Creative improved CTR by 74%” when no creative effect was isolated.

For a compact explanation, write: “Combined CTR increased as more delivery went to the campaign with the higher observed CTR. Individual campaign rates were unchanged in this example.” It states the arithmetic without claiming a causal mechanism you did not test.

A practical review sequence

Before sending the report, verify five things: the numerator is clicks, the denominator is impressions, row coverage does not overlap, the period is consistent, and the displayed percentage uses the correct scale. Then compare the calculated figure with the platform total for the same scope. Investigate a mismatch before rounding it away.

Keep enough precision for the calculation and round only the displayed result. Summing already-rounded click-through rates is never a substitute for summing counts. If your export provides only rates, obtain counts before publishing a portfolio average. A plain note saying the total is unavailable is more useful than a precise-looking number with an unknown weighting.

For related reporting checks, see time zones in daily reporting and comparing incomplete periods. The source for the platform definition and ratio format is OpenAI’s reporting documentation, checked on 29 September 2026.

Sources and scope

Combining reported click-through rates correctly; creative optimization and causal lift are outside this guide.

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.