Upgrade Bid Adjustments matching strategy
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:
- Prioritize matching by bidder-defined seat (exact match only, no wildcards initially).
- 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.
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.
Sigma Team would work on this.