-
Notifications
You must be signed in to change notification settings - Fork 753
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conventions and controls for adapters responding with multiple biddercodes #2174
Comments
Discussed in PBS committee. |
Updated to reflect recent clarifications on the PBJS issue. |
Hi @bretg, Could you please help me with a few doubts mentioned below?. I have started working on the implementation and need clarity on a few things.
Here:
|
Agreed. Sorry. Fixed.
Almost. 'adapterCode' should be all lowercase... 'adaptercode'. We're trying to be consistent about all new extension values being strictly lowercases.
Updated the description to define that targeting keys are always based on the biddercode.
As noted in prebid/Prebid.js#8129
|
…-bid-1-validation-1 Validate extra-bidder prebid#2257 prebid#2174
If Also, from some of the comments in the Here is how I see the logic based on description above:
|
Hi @bsardo, I had the initial code changes similar to your explanation but later updated those after discussion with @hhhjort. Refer thread #2257 (comment).
To summarise, we should keep the PBS behaviour as is for the publishers after they update their PBS (not break reports, etc). |
Ah thanks @pm-nilesh-chate for pointing me to that thread. So the multi-bid feature in PBS-Go should be opt-in for various reasons including backwards compatibility and security. Sounds good to me. |
From Prebid Slack: Nilesh writes:
The proposal is to pass alternatebiddercodes.adapters into ExtraRequestInfo |
Lots of interest in this feature lately. Besides adapters wanting to know about the alternatebiddercode config, there's now interest in being able to pass this info on the request. e.g. if PBJS So expanding this proposal so the config becomes formally part of the Prebid ORTB extensions. Here's a proposal:
Heads up @pm-nilesh-chate |
Current behaviour in PBS-Go
Example pbs.yaml:
|
Ah yes, we kept the top level IMO, I found it a bit verbose to have to say I want to enable the feature for a given adapter when I think that is implied if bidder codes have been specified but perhaps there's a scenario I'm missing where it would be of value. |
The config here was meant to mirror what was done in Prebid.js. Those of us that work with both platforms prefer consistency where possible. |
FYI - as discussed in last week's committee meeting, the config has been changed from account.alternateBidderCodes.adapters.BIDDER.enabled to account.alternateBidderCodes.bidders.BIDDER.enabled |
@bretg from the description:
If I'm reading this correctly, the absence of |
correct |
@bretg regarding the above requirements described here I'd just like to clarify a couple of things:
Thanks in advance |
Omit is correct. Honestly I'm not sure why this is a question. I didn't suggest PBS should create this field, but anyhow, we're on the same page.
Correct. |
Closing as this is complete in PBS-Go. Alternate bidder codes are supported in the account config and on the request with priority given to the request. Bid adjustment factors take alternate bidder codes into account by first attempting to using any adjustment factor specified for the seat before falling back to any adjustment factor associated with the underlying adapter. |
The Prebid.js committee has been working through scenarios where a given bid adapter can return bids for biddercodes not defined in the original AdUnit. This issue describes them as "extra" bids -- prebid/Prebid.js#8129
Use cases:
PBJS is proposing that two fields can be used to control and track these scenarios:
First phase
includebidderkeys
scenario always use biddercode for the suffix. The value of the hb_bidder key for the overall winner is also the biddercode.Second phase
There is concern over SPO in these cases (e.g. bid jamming). Or some kind of fraud, e.g. adapterA falsely bidding for adapterB to confuse algorithms. So host companies and publishers may want to control which adapters are trusted to do this, and possibly which biddercodes are returned from each.
PBJS defines parameters for controlling this behavior, so PBS could as well. The proposal is to make it part of account config and default account config:
If a bidder tries to set a seat that's different than the biddercode in the imp but is not allowed to do so, reject it. Log a debug error and an N% sampled log entry and metric: adapter.BIDDER.response.validation.seat. The log entry should mention the account ID, the adaptercode, and the biddercode rejected.
See the PBJS issue for test cases.
For example, let's say bidderA returned 3 bids: one for bidderA, one for bidderB, one for bidderC.
The text was updated successfully, but these errors were encountered: