Prebid.js
Prebid.js copied to clipboard
Feature Request: Server side loss notifications to all bidders
Type of issue
Feature Request
Description
DSPs are shifting spend to AdX because of its new minimum bid to win feature, which lets all auction losers know the highest bid and the auction winner know the second highest bid. Rather than allowing adapters to gather this information; I propose the client calls back to prebid server when a slot renders and lets it know the top prebid bid and if the ad server chose to render it. Prebid server could then distribute this information to all auction participants that were interested, regardless if their endpoint was initially called client side or server side.
From the AdX doc: https://developers.google.com/authorized-buyers/rtb/request-guide
// The minimum bid value necessary to have won the auction, in micros of // your account currency. If your bid won the auction, this is the second // highest bid that was not filtered (including the floor price). If your // bid did not win the auction, this is the winning candidate's bid. This // field will only be populated if your bid participated in a first-price // auction, and will not be populated if your bid was filtered prior to the // auction. optional int64 minimum_bid_to_win = 7;
@patmmccann - two questions about the server-side aspect of this proposal:
-
Whose Prebid Server? Prebid.org doesn't run a cluster of servers, so I assume all host companies would encouraged to adopt this capability?
-
How would Prebid Server know about bidders that don't have a server-side adapter? I don't care for an approach where the client sends the URL because that could open a security hole -- essentially converting PBS into a proxy for whatever URL it's told to hit. I'm more comfortable requiring server-side configuration to utilize this feature.
-
The host companies'
-
I'm not sure, I'm curious as to comments from anyone else interested in this issue
Next step here: work with demand-side companies to determine the requirements.
It would be great if prebid.js could send the 2nd highest price to the SSP server. SSP can pass the data (auction id, 2nd price) to DSPs in any way that parties agree on (such as callback, batch file upload etc), but I would leave this part out of scope at first step. DSP would definitely find this data useful for learning to predict the optimal bid given the impression and user data.
From an analytics point of view it would also nice to have the winning bids being reported back :)
closely related: https://blog.google/around-the-globe/google-europe/some-changes-our-ad-technology/
@patmmccann Did anything ever happen with this? Where did the discussion leave off?
Gam providing loss notifications may have taken some wind out of this sail; this is not actively being worked on by anyone, but anyone interested in picking it up would be welcomed.
Does this have to go through PBS, or would it make sense to attach the previous auction's loss notification to the next request that goes out to SSPs? for example, a bid adapter could get something like adUnit.lastAuctionPrice
and send it along.
Does this have to go through PBS
I would much rather it didn't.
would it make sense to attach the previous auction's loss notification to the next request that goes out to SSPs?
I like this especially if there's a way to pass the "correct" tid to ID the auction. But I'm not sure that Prebid should be setting the standard here. This seems like an IAB thing.
One interesting proposal: all we need is an analytics module to knock this out in JS. The analytics module could listen to the event and send up the formatted loss notification to some infrastructure to be built that would fan them out.
I like the idea of loss notifications from Prebid. Sending on the next request to the SSP is more efficient but needs to deal with the case where there's no subsequent auction. So would likely need a timer that makes the data available to bidders if a subsequent auction doesn't happen within a specified window.
Sending via an analytics module that goes to a server-side infrastructure is a clean solution that minimizes calls from the client and the server infrastructure can batch up the calls, but someone has got to fund and run that infrastructure.