You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bidders (confirmed with Kargo) are returning 204 No Content for all OpenRTB requests sent through Prebid Server. The root cause is that the device.ua field is never populated in the OpenRTB bid request payload.
When device.ua is absent, Prebid Server falls back to the User-Agent HTTP header of the server-to-server request itself (e.g. curl/8.7.1 or the Fastly compute runtime UA), which bidders reject as non-browser traffic.
Reproduction
Sending the same OpenRTB request directly to Kargo with a real browser UA returns 200 (bid). With a non-browser UA it returns 204 (no bid). All other fields (banner formats, buyeruid, geo) had no effect.
Test
Change
Result
Baseline (as sent by Prebid)
None
204
+ 10 banner formats
Formats only
204
+ Real Chrome UA
UA only
200
+ buyeruid
buyeruid only
204
Root Cause
Two issues:
The OpenRTB Device struct has no ua field, so user-agent is never serialized into the bid request JSON.
DeviceInfo construction in formats.rs is gated on geo lookup succeeding -- if GeoInfo::from_request returns None, the entire DeviceInfo (including user-agent) is dropped.
Expected Behavior
The original browser User-Agent header should be forwarded as device.ua in every OpenRTB bid request, regardless of whether geo information is available.
Activity