prebid-server
prebid-server copied to clipboard
Bid Response Validation: max bid
Prebid Server version of https://github.com/prebid/Prebid.js/issues/11252
Prebid Server should configurably be able to reject bids larger than a certain value.
The use case this is intended to prevent
- ad ops makes a data entry error, e.g. adding an extra zero or two at the end
- DSP/SSP systems do not catch the issue
- error flows through the system and affects reporting
Preventing obviously mistaken data on bid responses fits with Prebid Server's "clean bid stream" mission.
The proposal is that we add a configuration:
auction.validations.max-bid-value - if 0 (the default), then the validation is disabled or if the test
flag is enabled, the validation is disabled. (Note: should be enforced if in ext.prebid.debug:true mode and test is 0.) Otherwise, it's interpreted with respect to the auction.ad-server-currency
and bid responses are rejected if greater than this value.
- Seatnonbid code is 300.
- Emit a warning if in debug mode: "ext.warnings.BIDDER" "Bid response rejected due to exceeding max bid value. Bid value was ___".
- A log entry should be made with details: "Bid response rejected from bidder X due to exceeding max bid value. Bid value was ___".
- A metric should be logged to alerts.general
We should review and discuss bid response validations in general.
Discussed whether bid response validations should be built as a module rather than in core. One issue is that modules can't currently return a seatnonbid code to core. This is something we probably want to fix anyhow.
Leaving this open - someone needs to define the module config.