prebid-server icon indicating copy to clipboard operation
prebid-server copied to clipboard

Bid Response Validation: max bid

Open bretg opened this issue 11 months ago • 1 comments

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.

bretg avatar Mar 26 '24 16:03 bretg

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.

bretg avatar Apr 05 '24 14:04 bretg