How to traffic a campaign you can actually judge
Attach HUMAN FraudSensor Banner tag add-on 44 at $0.05 CPM, request IVT and viewability fields, and judge on IVT and click-to-page-view. Never judge remnant display on CTR.
Published 2026-09-09 · Search job: how to set up a display campaign
How to set up a display campaign you can judge: attach measurement before the first impression, request the quality fields, and refuse CTR as the score.
As of 2026-09-05, every campaign Adprime Zero had ever run carried creative_addons: []. The reporting sync asked for impressions, clicks, and spend. Beeswax already exposes invalid_impressions, invalid_percent, and viewable_impressions on performance_agg, the view we already query. Requesting them returned 200 and zeros. Nothing was measuring. Zero read as fine.
Attach the tag that already exists on this seat
HUMAN FraudSensor is vendor 7, active, fee type CPM, fee amount 0.050. That is $0.05 CPM. Creative add-on 44 is HUMAN FraudSensor Banner tag. The main adops seat already puts add-on 44 on its banner creatives. We are attaching the object this seat already offers, not discovering a new vendor.
Until that tag is on and the report returns non-zero quality fields, do not call a flight clean. Concentration and implausible CTR are allowed as labeled readings. IVT is not.
Request the fields, then parse the labels
Ask performance_agg for the IVT and viewability fields, not only impressions, clicks, and spend. Reporting is asynchronous: you get a task_id, then rows. Responses are label-cased. campaign_id arrives as Campaign ID. A parser keyed on the requested snake_case name reads every metric as zero, which looks exactly like a seat that reports no IVT.
Do not use measurable_invalid_impressions as the rate numerator. On this seat that field frequently equals almost every impression.
Judge on two meters, never CTR
Operator benchmarks from anonymized main-seat brand-name display flights, published without advertiser names:
- Strict IVT rate (
invalid_impressions / impressions): 0.523 percent acceptable, 1.544 percent when intervention was triggered. - Click-to-page-view: 15.85 percent when the traffic was usable, 3.75 percent when it was not.
CTR is the trap. Open-exchange leftovers produce clicks readily. The June 2026 learning-flight readout was judged on clicks and later thrown out. See CTR is a trap and How to judge display traffic.
Then set the delivery fields that have already failed
The rest of this Lab section is the list of settings that silently stop a campaign or make it unreadable:
- Lifetime envelope, not
?? daily_budget_cents. A lifetime cap that silently became one day. CPM_PACEDand daily pacing when the buyer wants even delivery. Daily pacing, not lifetime pacing.- Exactly one pacing mechanism. Two things pacing at once stops delivery.
- One trafficking change per day, with the revert command written first. One trafficking change per day.
Activation order is not optional: create the campaign and line item inactive, attach targeting, attach and activate the creative association, then flip the line item active. A line item without active targeting or without an active creative association is rejected.
If you skip the tag, you can still spend. You cannot judge.