NotesArticleSeat-measured

Zero clicks that were a field name

Beeswax Reporting delivery clicks must be requested as clicks, plural. click singular is a different field. ad_click_tokens are redirect plumbing, not exchange delivery truth. Corrected June 26, 2026.

Published 2026-09-09 · Search job: beeswax clicks vs click

Beeswax Reporting delivery clicks on this seat must be requested as clicks, plural. Request click singular and you can read a live campaign as zero.

The June 26, 2026 correction is the model for every later reporting fix. We believed a flight had no clicks. The provider was recording clicks under the plural field. A parser keyed on the singular name, or on a leftover click guess, printed zeros that looked exactly like a quiet campaign. The dashboard time of the API response (generated_at) looked fresh. The provider field was wrong.

What is delivery truth

Exchange delivery clicks come from Reporting API rows. On this seat the field is clicks. That is the number that belongs next to impressions and spend when you ask whether the line item served and whether anyone clicked the creative.

ad_click_tokens are not that number. They are attribution redirect plumbing. A campaign can deliver clicks on the exchange and mint zero tokens if the creative uses a normal click URL. A campaign can mint tokens and still have a stale or empty Reporting row. Collapsing those columns is how a readout says "zero clicks" while the exchange is billing clicks, or says "clicks happened" when only a redirect fired.

Snapshot delivery rows used for wallet and cap checks store clicks as zero on purpose. They are a spend and impression observation, not a click proof. Summing them with Reporting rows is a different bug. See Reporting that doubled spend and paused the fleet.

Why the zero looked finished

A zero is easy to believe when you already expect remnant display to be quiet. The June 2026 learning-flight readout was judged on clicks and CTR, then later thrown out. Part of that mess was the field name. Part of it was treating CTR as a quality score. Both failures share a shape: one column, one story, no second meter.

freshness_status, metric sources, and the Beeswax reporting sync timestamp are what you read before you conclude a campaign truly had zero clicks. generated_at is when our API responded. It is not provider freshness. If impressions or spend exist and clicks are zero, inspect those fields first. Then inspect whether the request asked for clicks.

Async report rows also come back label-cased. A request for campaign_id arrives as Campaign ID. A parser keyed on the requested snake_case name reads every metric as zero and looks exactly like a seat that reports nothing. That is a sibling of the singular click bug, not a separate mystery.

What we will not do with tokens

We will not use click-token counts as Beeswax delivery click truth. We will not treat a missing token as missing demand. We will not treat a present token as a page view. Exchange clicks, redirects, landing visits, and on-screen interaction stay separate columns. How to judge display traffic is the hierarchy.

If your agent or dashboard says zero clicks, ask which field was requested and which clock is on the row. A field name is allowed to be the whole incident.