Skip to content
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

Prebid Server Price Floor Feature #1162

Closed
bszekely1 opened this issue Jan 9, 2020 · 10 comments
Closed

Prebid Server Price Floor Feature #1162

bszekely1 opened this issue Jan 9, 2020 · 10 comments

Comments

@bszekely1
Copy link

bszekely1 commented Jan 9, 2020

Overview

The document describes the Prebid Server implementation of the Price Floor Feature as defined here. Prebid Server will contain its own set of requirements given the additional flexibility PBS has to execute code in a server-side environment.

Intended workflow will remain the same in PBS as in pbjs:

  1. Publisher signs with a Price Floor provider
  2. Price Floor provider makes a JSON file available with the data
  3. Publisher configures Prebid to resolve and enforce the price floor

PBS should support Prebid.js, Prebid Server, and Prebid SDK.

Please see the Product Requirements Document (PRD) for detail.

@stale
Copy link

stale bot commented Jan 16, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Jan 16, 2020
@SyntaxNode SyntaxNode added the Intent to implement An issue describing a plan for a major feature. These are intended for community feedback label Jan 16, 2020
@stale stale bot removed the stale label Jan 16, 2020
@hhhjort
Copy link
Collaborator

hhhjort commented Jan 21, 2020

Not really specified above, but my feelings towards account scope data is as follows:

For options that are controlled by the publisher or by the PBS host's business logic, it is best to use an object stored directly in the request, and have that data filled in by the stored request backend. That will then hook the configuration into the existing publisher config system rather than adding a second location where some publisher configs will live.

For options that the PBS host will need to control directly without option for the publisher to override (for example account white/blacklists), PBS configuration option rather than request object.

So for the above flags, I would recommend all the flags be settable in the request, which would by default allow all of them to be auction specific in theory, while the stored request solution could limit some to an account level setting. At least outside of a publisher overriding what the stored request system supplied using a properly crafted request.

@albertmolinermrf
Copy link

Is the list of supported fields for floor schema final? For example, the examples contain "impId" and "imp.id", but none is explicitly listed there. Additionally, are the values case-sensitive? If so, can we print them explicitly?

Is there an expected resolution algorithm when multiple keys are match? First wins, last wins, most specific wins...

@bszekely1
Copy link
Author

@hhhjort Thank you, i added better definition in the description to keep context of host-wide flags or stored request level flags. If you have any feedback, I am open to suggestions.

@albertmolinermrf

Is the list of supported fields for floor schema final?

The list is not final. This is simply in the intent to implement phase and has not started. The idea is to make the system flexible to fit most use cases. In this first pass we wanted to start with some basic fields that made sense. We didn't want to overload the development from the start.

are the values case-sensitive?

no. Following what we are doing in js, all rules and processing should be treated as lower case, even if sent as upper case. I added that requirement as point 24.

If so, can we print them explicitly?

See point 20 in the requirements for the list of defined supported fields. I left out impId. Thanks for the heads up.

Is there an expected resolution algorithm when multiple keys are match? First wins, last wins, most specific wins...

The idea here is that there should not be two matches. The floor provider (or publisher if setting rules manually) should avoid having duplicate rules. It is impossible for rules to collide if they are all unique. For non-unique rules, the behavior would be unexpected results.

@bretg
Copy link
Contributor

bretg commented Mar 25, 2021

Note that this feature should be implemented using the Modularity architecture #1734

@pm-jaydeep-mohite
Copy link
Contributor

Hi @bretg,
Could you please help us to know if anyone is working on this feature?
We would like to understand PRD for Floor feature along with Modular approach.
Can we get into call to discuss this feature to be on same page?

@bretg
Copy link
Contributor

bretg commented Mar 8, 2022

@pm-jaydeep-mohite - the PBS-Java team is testing the floors feature. It turns out we were unable to implement it as a module due to some of the specific requirements of floors. It's a pretty complicated feature as you can see from the PRD. It's taken several months to build.

No one has signed up to build this feature in PBS-Go yet. I'd suggest waiting until it's released in Java for you to consider porting to PBS-Go -- that would likely reduce the implementation time.

@bretg
Copy link
Contributor

bretg commented Sep 1, 2022

Floors are live in PBS-Java as of 1.87

@SyntaxNode SyntaxNode added In Dev - Go and removed Intent to implement An issue describing a plan for a major feature. These are intended for community feedback labels Sep 7, 2022
@bretg bretg removed the projectboard label Sep 8, 2022
@bretg bretg moved this from Triage to Ready for Dev in Prebid Server Prioritization Dec 2, 2022
@afewcc
Copy link
Contributor

afewcc commented Jul 22, 2024

Hello! Are floors also live in PBS-go ? Can this be closed ? Thx

@bretg
Copy link
Contributor

bretg commented Jul 22, 2024

Good call @afewcc - this was indeed done in PBS-Go by the Pubmatic team last year over a series of PRs. Closing.

@bretg bretg closed this as completed Jul 22, 2024
@github-project-automation github-project-automation bot moved this from Ready for Dev to Done in Prebid Server Prioritization Jul 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

7 participants