-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
PAAPI module: fill out auctionSignals.prebid.ortb2Imp.banner better #11189
Comments
I recently learned that PAAPI auctions target a single size. Since getting size information is the main driver for this, we may want to reconsider: what the paapi bidders need to know is not what sizes are supported, but what size the auction is targeting and will be used for rendering. Auction configs have a When GAM runs the top level auction it does not appear to do anything with If Prebid runs the top-level auction we have the same problem - we need to choose a size outside of the sandbox. It's unclear to me if the chosen size should also be signaled to adapters. Tentative proposal:
|
IMO you cannot override component auction's
|
What was signaled to DSPs is a set of supported sizes. Currently they have no way of knowing what the actual size chosen by the client will be. We can try to define a way to signal it, but I don't understand how we can respect what comes back in |
That assumes that the seller isn't already choosing a single size, knowing that PAAPI only runs a single size. |
Sure, but even then, there's only one correct value for A compromise is to fill component auctions' |
Given that the component auction's
This would need to be signalled to the bidder adapters, as you've suggested earlier -- and then there won't be any ambiguity through the programmatic chain of OpenRTB requests. |
To me this means that it is not supposed to have any influence on the buyer and vice-versa; the "normal" flow appears to be: SSP forwards the request, which includes all sizes, to DSPs; DSPs decide to signal interest in the PAAPI auction, with signals based on it; SSP collects them into an auction config, and has no interest in setting |
Agreed that it's supposed to be set by the seller, not the buyer -- and yes, it's optional, because it wasn't part of the original PAAPI spec.
This 'forwarding' isn't always 1:1 with the incoming request from the publisher, as not all DSPs support multi-size.
As per the previous statement, this 'manipulation' part of the DSP integration based on their capabilities -- and, as a result, there's often a need to choose a size, and indicate which size was chosen using
Based on the above, this isn't purely a rendering problem on-device, it also impacts programmatic chain signalling via OpenRTB in the sequential auction setup -- I think we need a different solution. |
Proposal:
We would then recommend publishers to leave |
So, to clarify, if both are undefined/unspecified, they would both replicate GAM's size choice algorithm? If so, should be fine, since it's just making the implicit decision that adapters need to make server-side if the absence of a signal more explicit. Also implies that this also should be backwards-compatible with today's presumed behaviour -- since if seller participants are also replicating this algorithm, their Makes sense to me. |
Correct. |
Marking as high priority given increasing attention on calculating the size and the excellent proposal from @dgirardi |
Type of issue
Feature request
Expected results
Sizes are available in auctionSignals.prebid.ortb2Imp.banner, and some more fun additions, including ad unit properties from mediaTypes.video on imp.video
Let's fill out whatever we can from the ad unit, including format, w, h, pos,
Let's not restrict these to PAAPI if we can, but we should be able to provide these into the ortb2Imp object in the bidder request, then we get them here for free.
Actual results
Only ext are available
Here is a full auctionSignals.prebid object we're sending
{ "bidfloor": 1.2068775, "bidfloorcur": "USD", "ortb2": { "source": { "tid": "fe994492-7c57-4e25-baec-0cb36b71bf6f", "fd": 0 }, "cur": [ "USD" ], "at": 1, "device": { "w": 1512, "h": 150, "dnt": 1, "ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 FLEDGE_GAM_EXTERNAL_TESTER", "language": "en", "deviceType": 2, "js": 1, "sua": { "source": 1, "browsers": [], "mobile": 0 } }, "site": { "domain": "repurposingjunkie.com", "publisher": { "domain": "repurposingjunkie.com" }, "page": "https://repurposingjunkie.com/cricut-heat-press-alternative-htvront-heatpress-review/?commit=ed7225c&at_features={%22fldg%22:true}&pbjs_debug=true", "content": { "language": "en" }, "cat": [ "IAB9-2" ], "pagecat": [ "IAB9-2" ], "privacypolicy": 1, "mobile": 1, "ext": { "data": { "mcmp": [ "BA_WSKW20" ], "site_id": [ "600ad629adec3b6b7b1dc60f" ], "verticals": [ "Crafts" ], "pmp_elig": [ true ], "sens": [ "alc", "ast", "cbd", "cosm", "dat", "gamc", "gamv", "rel", "ssr", "srh", "ske", "wtl" ] } } }, "user": { "data": [ { "name": "adthrive.com", "segment": [ { "id": "126" } ], "ext": { "segtax": 601 } } ] }, "regs": { "ext": { "us_privacy": "1YNY" } } }, "ortb2Imp": { "ext": { "data": { "hvp": "80", "pos": "atf", "adserver": { "name": "gam", "adslot": "/18190176/AdThrive_Sidebar_9/600ad629adec3b6b7b1dc60f" }, "pbadslot": "/18190176/AdThrive_Sidebar_9/600ad629adec3b6b7b1dc60f" }, "ae": 1, "tid": "36d73594-17d1-46cc-b5aa-6bd4b1782a3e", "gpid": "/18190176/AdThrive_Sidebar_9/600ad629adec3b6b7b1dc60f" } }
Other information
extension of #10649
The text was updated successfully, but these errors were encountered: