-
Notifications
You must be signed in to change notification settings - Fork 2.2k
PBS Bid Adapter oRTB caching and video updates #3528
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
PBS Bid Adapter oRTB caching and video updates #3528
Conversation
# Conflicts: # modules/prebidServerBidAdapter/index.js # modules/rubiconBidAdapter.js # test/spec/modules/prebidServerBidAdapter_spec.js # test/spec/modules/rubiconBidAdapter_spec.js
…cludewinners value
…che_path, since the hb_cache_hostpath will be suppressed soon
Latest changes from ticket have been applied and ready for review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prebid: { | ||
targeting: { | ||
// includewinners is always true for openrtb | ||
includewinners: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pardon my ignorance here, but are either of these flags a breaking change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not think so,
I believe they just instruct PBS what to do with the ext.prebid.targeting.adServerTargeting
response object.
includewinners: true ==> hb_{}
keys are passed back
includebidderkeys: true ==> hb_{}_{bidder}
keys are passed back
We set the latter to false to keep the number of KVPs down.
@bretg Can confirm maybe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, that makes sense.
|
||
// If ext.prebid.targeting exists, add it as a property value named 'adserverTargeting' | ||
if (extPrebidTargeting && typeof extPrebidTargeting === 'object') { | ||
bidObject.adserverTargeting = extPrebidTargeting; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's the use case for PBS setting the keys into Prebid.js? AFAIK this is only for mobile use case where the client doesn't process the bids => keys.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are additional KVPs that need to be copied through to the ad server, all utilized by the Prebid Universal Creative:
- hb_cache_host
- hb_cache_path
- hb_winurl (not there yet, but will be)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see thanks for clarifying. I wonder if PBJS should be setting these then? Because there could be a case where PBS isn't involved but universal creative is being used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I realized after commenting while the above is true, you most likely won't need either _host
or _path
unless you are using AMP or prebid mobile, both of which are powered by PBS. So this most likely safe.
Added @hhhjort for a quick review as well. |
@hhhjort Can you review sometime today as we're trying to get into the release tomorrow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
…3018_pbs-adapter-enhancements-RE
…change should make it unnecessary
We did some extra testing and found an issue. When We implemented a fix in |
I did some additional testing based on the above comment and the fix that was implemented appears to be working; the bids are properly generating the values for the |
Type of change
Description of change
Changes to the prebidServerBidAdapter were needed to support S2S video:
When trying to do S2S video, we need the ability to:
request.ext.prebid.cache.vastxml
to cache XMLrequest.ext.prebid.targeting.includewinners
:true
request.ext.prebid.targeting.includebidderkeys
:false
Without these, the openrtb won't work for video.
Several changes are needed to the prebidServerBidAdapter:
s2sConfig
extPrebid
support: merge intorequest.ext.prebid
making
response.ext.prebid.cache
values available to prebidjs core, renderers, and analytics adaptersappend
adserverTargeting
to response bidObj if defined, thebuildDfpVideoUrl
function indpfAdServerVideo
will add it's properties as additional targeting, includinghb_cache_host
,hb_cache_path
,hb_cache_path_rubicon
,hb_cache_host_rubicon
Other information
Per cache requirements