Read performance without fooling yourself
Dashboard read time, sync time, snapshot spend, and reported clicks are different meters. Request clicks plural, and judge real visits, not click-through rate.
On this page
Read a campaign report by separating freshness, delivery clicks, snapshot spend, and conversions. If you collapse those columns, a live test will look like zero activity or like a healthy click-through rate.
Adprime Zero returns a dashboard or API read time and a provider sync time. Those are different clocks. Snapshot rows used for wallet and cap checks are a third source. Reporting API rows are a fourth.
Freshness first
generated_at is when our API responded. It is not proof that provider reporting is current. Use freshness_status, metric sources, and the reporting sync timestamp before you treat zero clicks as final. If impressions or spend exist and clicks are zero, inspect those fields. Then inspect the field name.
Connector tools: list_campaign_performance for the whole account, get_campaign_performance or query_performance for one campaign, and get_beeswax_reporting_status for reporting freshness. The portfolio summary exists so an agent does not have to list campaigns and loop.
Clicks are plural
Delivery clicks from the exchange are clicks, not click. That correction landed June 26, 2026. A parser that requests the singular field can print zeros for a campaign that is being billed clicks. Async report keys also arrive label-cased. campaign_id comes back as Campaign ID. A snake_case-only parser reads every metric as zero.
ad_click_tokens are redirects. Snapshot rows store clicks as zero on purpose. Neither is exchange delivery truth. Zero clicks that were a field name is the incident writeup.
Snapshot versus reporting
Hourly report rows and lifetime snapshot rows cover the same auctions. Summing them doubles spend. Duplicate hours once made a ten-campaign fleet read $48.92 of spend instead of $24.46, and paused it. Product reads use the greater of snapshot lifetime spend and the non-snapshot sum. Reporting that doubled spend is the money incident.
If your own spreadsheet adds hourly rows to snapshot rows, stop. If your agent reports CPC from snapshot clicks, it is dividing by zero on purpose.
Do not lead with click-through rate
Leftover display inventory produces billed clicks readily. The June 2026 learning flight was judged on click-through rate and later thrown out. The later Supply Bench pull showed 1,073 of 1,149 placements with zero clicks taking 64 percent of observed spend, and seven domains producing 41.3 percent of clicks from 4.7 percent of impressions. CTR is a trap.
Judge traffic on the first-party traffic grade: real visits to your page, bot traps, and engagement on it. Click concentration on a few sites is a warning sign. Ad-verification scanners also fetch landing pages, so raw landing sessions are not all people. Vendor invalid-traffic (IVT) numbers are a hint, and until a vendor tag is on the ad, invalid_impressions at zero means nothing is measuring.
Conversions are a fifth column, and only after the event is installed and linked. Set up conversion events before you ask for CPA.
If the report still looks empty after freshness, field name, and source checks, then look at targeting. Not before.
Related
- Notes · 2 min readCTR is a trapClick-through rate looks like a quality score on remnant display. On our flights it mostly measured how clicky the inventory was, not whether a person arrived.
- Notes · 2 min readZero clicks that were a field nameRequest Beeswax Reporting delivery clicks as clicks, plural, not click. ad_click_tokens are redirect plumbing, not delivery truth. Corrected June 26, 2026.
- Notes · 3 min readReporting that doubled spend and paused the fleetEastern time stamped as UTC, plus a dedupe key on the derived hour, duplicated rows. Summed spend doubled from $24.46 to $48.92 and the fleet paused.
Run this from your assistant
Add one URL to Claude, ChatGPT, or Cursor, sign in with your email, and ask for the campaign. Prepaid from $5, with no insertion order and no sales call.