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

Upgrade Bid Adjustments matching strategy

Open AntoxaAntoxic opened this issue 9 months ago • 1 comments

The #2174 ext.prebid.bidadjustmentfactors feature introduced a matching strategy for bid adjustments: first, it attempts to match by the bidder-defined seat, and if no match is found, it falls back to matching by adapter code.

The more recent #2085 ext.prebid.bidadjustments feature utilizes a different matching strategy, relying on media type, bidder, and deal ID, with wildcard support.

Following discussions with @bretg, we've determined that ext.prebid.bidadjustments should align with the bidder-matching priority of ext.prebid.bidadjustmentfactors. Currently, both the Go and Java implementations lack seat-based matching, using the adapter code from the auction request instead.

I assume the desired behavior is:

  1. Prioritize matching by bidder-defined seat (exact match only, no wildcards initially).
  2. If no seat match is found, match by adapter code (allowing wildcard matches if no specific adapter code match exists).

This implies that a *|seat|* rule should take precedence over a banner|adaptercode|111 rule, reversing the current 'most specific rule' logic.

@bretg @bsardo, please confirm if these updates and priority changes are required for the ext.prebid.bidadjustments feature. Thank you.

AntoxaAntoxic avatar Mar 20 '25 16:03 AntoxaAntoxic

Discussed in committee:

  • seems fine except that we think the biddercode check doesn't have to change the 'most specific rule' logic.
  • Just match bidder (case insensitive) on seat, then on adapterCode. If not match, move on.

bretg avatar Mar 26 '25 14:03 bretg

Sigma Team would work on this.

sigma-software-prebid avatar May 12 '25 14:05 sigma-software-prebid