In header bidding, demand is collected in the browser (and often server-side) before the ad server is called. For a bid to compete, its price has to be written into targeting keys and the ad server request has to leave after those keys are set, matching a price-priority line item.
Three failure modes break this handoff. A timeout hierarchy problem lets server-side responses arrive after the browser auction has already closed. A race condition fires the ad server request before the bid targeting is written, so the keys are empty. And a price-bucket mismatch generates a key value that no line item targets, so a valid bid has nothing to win.
To diagnose it, capture the bid, targeting and ad server timestamps from a single auction and check the order, then confirm the generated price key matches the ad server price grid. Fixes range from tuning the timeouts to delaying the ad server request until targeting is ready, or aligning price granularity with the line items.