-
Notifications
You must be signed in to change notification settings - Fork 737
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
Floors: support noFloorSignalBidders, null values, and bidder dimension #3406
Comments
In the referenced Prebid.js thread, @bretg proposed an alternative solution to add a "bidder" field to the floor schema to give publishers more fine-tuned control over the floor passed to their bidders. That proposal was rejected, which is consistent with similar requests made to Prebid over the past several years. However, there are use cases speculated in the thread which highlight that floors are complicated and necessitate the need for this noFloorSignalBidders feature:
When using the noFloorSignalBidders feature, the floor may be different between bidders in the same auction - perhaps configured internally with the bidder or not honored at all. Since this is a recurring ask from publishers, I'm curious for reasons and opinions for why to draw the line at per-bidder floors. There are many other ways publishers have using Prebid to control which bidders receive which signals. The Secondary Bidder proposal also introduces a way for publishers to favor some bidders over others. What about per-bidder floors is different? |
The issues I've heard discussed are ones of fairness across bidders. We don't want to encourage scenarios where publisher favors one bidder over another:
If PBS host companies and their clients want to do these things, fine, but Prebid is meant to be a level playing field for bidders of all sizes and capabilities. That said, if there's a champion who wants to get this philosophy changed across all relevant committees, go for it. |
This was discussed in the Rules Taskforce and it was determined that different floors per bidder is ok. This may lower the priority of this feature and open a feature to add 'bidder' as a floors attribute. (that allows NULL values) |
Depending on how much it increases the complexity, having a way to remove floor signals for all bidders would be nice to have. E.g.: something like |
Maybe the individual floors per bidder behavior can be implemented as a module that would run at a Bidder Request stage - modifying individual bidder requests according to the provided settings (this is after all one of the things the Bidder Request extension point exists for). That way it does not have to be the server core code change - somewhat easier to implement, maintain and also can be optional for the vendors who want to include this behavior. The input signals can be taken from the upstream (incoming) Maybe it's just a familiarity bias on my side, given the exposure to the modular architecture, so tend to solve problems using that particular tool :) Thus critique to this approach is welcome. |
@justadreamer - it would indeed be nice if we could do this with a module... but I don't think we can. The architecture is that the floors data needs to be able to come in from an external service, and that data is cached within the floors feature, not available to modules. Supporting only floors data on the incoming request would exclude a key scenario. |
PBS-Java 3.4 released noFloorSignalBidders |
Prebid.js 8.31 supports a new
noFloorSignalBidders
option. See prebid/Prebid.js#10410This is the tracking issue to support the new Schema 2 fields defined in that issue:
Also, the rules committee has stated that it's acceptable for floors providers to define different floor values per bidder. PBS should support
bidder
as an additional floor schema. No alias behavior. i.e. if the floor file says "bidderA" gets floor X, then "bidderA_alias" does not match this rule. It is up to the floors provider to define all aliases in use into the floor rules. It is acceptable for a given floors value to be NULL, which means "do not pass a floor to bidder(s) in this scenario.Note that adding bidder as a dimension means that the floors feature will need to check whether the bidder dimension is utilized. If so, it will need to get a different floor for each bidder.
Note: the value for
noFloorSignalBidders
should be able to include '*', which indicates all bidders.The text was updated successfully, but these errors were encountered: