-
Notifications
You must be signed in to change notification settings - Fork 219
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
Return multiple results in an auction #1074
Comments
Hi, I'll appreciate your thoughts |
Responses from the trusted server could be cacheable, if you use the appropriate HTTP caching headers. But you're correct that you would need to invoke runAdAuction() separately for each ad. We have not tried to design a return-many-winners API for the whole auction. Are you just looking for returning the top-scored N ads? Or is your request for some kind of whole-page optimization logic in which the choice of one ad interacts with the choices of other ads? The simple top-N thing seems feasible and in line with what we have today. An approach to whole-page optimization is trickier, because re-ranking ads based on other ads needs to somehow be reconciled with the Protected Audience approach of ad selection based on single-site rather than many-site user information. |
@michaelkleber Top N ads along with their corresponding score should be enough, with this we can run a single auction and then place the ads in the correct place, in relation to the contextual ads. Does that violate the single-site information? If so, how? |
Even if the Protected Audience auction were modified to produce N ads, there's no way it would be able to give out the scores of those N ads as well! Each ad coming out of the auction is an opaque object: you can see that it is an ad, but you can't tell which one, all you can do with it is render it. This is important for minimizing the information leakage. (If each ad came with its score, then it would be trivial for the list of scores to encode a unique identifier for this user.) If you have a collection of contextual ads and you want to properly order the whole lot, then I think the way forward would be to pass N contextual ads into the PA auction as well, using the mechanism of Additional Bids. Then you could get a list of N ads as output, some of which could be the contextual ones and some the ones from Interest Groups — but you would not be able to tell which was which. |
What if we limit the score to x bits? Regarding using additional bids, we're considering it. The problem is that Protected Audiences is not yet ready to handle Native advertising well, we fear it may affect the page performance and that the use of Fenced Frames (in the future) is very limiting. |
I don't think there is any value of x that would make this both useful and private. I look forward to working on making Native and Fenced Frame work well together. If you can make this work in the iframe-rendering environment, then it would definitely help justify the idea of changing the API to return N ads. I think that without a private rendering solution, it would be hard to justify the work of returning many ads. |
We're working under the assumption that there will be a solution for Native. |
In Native advertising, a common use case is to have an endless feed rendering the ads. For example see here https://www.usatoday.com/story/news/nation/2024/03/05/clinton-township-michigan-fire-explosion/72848495007/ and scroll to the bottom of the article, you'll see an endless Taboola feed.
Since we need to auction between any ad that is returned in the contextual flow and the Protected Audiences flow, we will:
A solution for this is to have the Protected Audiences flow return X (as an input to the auction) items with their relevant score so we'll know what to position where.
I'll appreciate your thoughts on this.
The text was updated successfully, but these errors were encountered: