prebid / prebid-server

Open-source solution for running real-time advertising auctions in the cloud.
https://prebid.org/product-suite/prebid-server/
Apache License 2.0
430 stars 738 forks source link

openrtb request ext parameters problem for video endpoint #3305

Open liulu721 opened 11 months ago

liulu721 commented 11 months ago

In function buildRequestExtForBidder(exchange/utils.go ), we found there might be two issues for video endpoint: (1) bidderParamsInReqExt seems always nil, since the ext part of the requestExt is previously constructed without the bidderparams part in function createBidExtension(/endpoints/openrtb2/video_auction.go). (2) prebid.Targeting = requestExtParsed.Prebid.Targeting should also be performed, or targeting params can never be in the newly constructed ext part in this function. We found this issue when we tested with appnexus adapter because we can never contain "include_brand_category" with "true" value in the constructed openrtb request for appnexus.

SyntaxNode commented 11 months ago

(1) bidderParamsInReqExt seems always nil, since the ext part of the requestExt is previously constructed without the bidderparams part in function createBidExtension(/endpoints/openrtb2/video_auction.go).

The video endpoint does not support request.ext.prebid.bidderparams, among many other features. The video endpoint was built as a way to include ad podding signals alongside OpenRTB 2.5. Now that OpenRTB 2.6 natively includes these signals, the custom data model of the video endpoint is obsolete. We plan to remove the video endpoint in 2024 and perform similar ad podding processing in the auction endpoint using OpenRTB 2.6 fields. Please follow https://github.com/prebid/prebid-server/issues/2581 for that effort.

(2) prebid.Targeting = requestExtParsed.Prebid.Targeting should also be performed, or targeting params can never be in the newly constructed ext part in this function.

This is a good point. Parts of the request.ext are hidden from bidders to prevent an unfair advantage in the auction. This filtering was revisited this past year with updates to remove the targeting information. The AppNexus adapter is still relying on this outdated path. I'll raise the issue to our team.

bretg commented 3 months ago

To close this issue, the targeting.includebrandcategory field should not be filtered from adapters by the /video endpoint. Moving to ready-for-dev.