Module Name: Konduit Accelerate
Module Type: Video Module
Maintainer: [email protected]
Konduit Wrapper is a prebid module that allows
- wrapping a bid response so that it is processed through Konduit platform
- obtaining a historical performance indicator for a bid
Your Prebid build must include the konduitWrapper module. Follow the build instructions for Prebid as explained in the top level README.md file of the Prebid source tree.
ex: $ gulp build --modules=konduitWrapper
Konduit module should be used with a valid Konduit identifier.
pbjs.setConfig({
konduit: {
konduitId: your_konduit_id,
}
});
Konduit module respects the Prebid enableSendAllBids
flag and supports both ‘Send All Bids’ and ‘Use only a winner bid’ scenarios.
Please contact [email protected] for assistance.
It is important to configure your GAM line items. Please contact [email protected] for assistance.
In most cases it would require only Creative VAST URL update with the following URL:
Konduit platform supports ‘Send all bids’ scenario and depending on whether this feature is used or not GAM configuration could be slightly different.
- Send all bids is off (a single winner bid is used) GAM line item creative URL should be updated as:
https://p.konduit.me/api/vastProxy?konduit_hb=1&konduit_hb_awarded=1&konduit_cache_key=%%PATTERN:k_cache_key%%&konduit_id=%%PATTERN:k_id%%
- Send all bids is on GAM line item creative URL should be updated as:
https://p.konduit.me/api/vastProxy?konduit_hb=1&konduit_hb_awarded=1&konduit_cache_key=%%PATTERN:k_cache_key_BIDDERCODE%%&konduit_id=%%PATTERN:k_id%%
k_cache_key_BIDDERCODE is a bidder specific macro and ‘BIDDERCODE’ should be replaced with a bidder code. For instance, k_cache_key_appnexus.
Konduit module contains a single function that accepts an options
parameter.
The options
parameter can include:
bid
- prebid object with VAST url that should be cached (if not passed first winning bid fromauctionManager.getWinningBids()
will be used)bids
- array of prebid objects with VAST url that should be cached (if not passed andenableSendAllBids: true
bids fromauctionManager.getBidsReceived()
will be used)adUnitCode
- adUnitCode where a winner bid can be foundtimeout
- max time to wait for Konduit response with cache key and kCpm datacallback
- callback function is called once Konduit cache data for the bid. Arguments of this function are -error
andbids
(error should benull
if Konduit request is successful)
The function adds two parameters into the passed bid - kCpm and konduitCacheKey. Additionally processBids
updates bid's adserverTargeting
with k_cpm
, konduti_cache_key
and konduit_id
fields.
pbjs.requestBids({
bidsBackHandler: function (bids) {
pbjs.adServers.konduit.processBids({
callback: function (error, processedBids) {
var videoUrl = pbjs.adServers.dfp.buildVideoUrl({
...
});
}
});
}
})
var videoAdUnit = [{
code: 'videoAd',
mediaTypes: {
video: {
playerSize: [640, 480],
context: 'instream'
}
},
bids: [{
bidder: 'appnexus',
params: {
placementId: 13232361,
video: {
skippable: true,
playback_method: ['auto_play_sound_off']
}
}
}]
}];
pbjs.que.push(function(){
pbjs.addAdUnits(videoAdUnit);
pbjs.setConfig({
konduit: {
konduitId: 'your_konduit_id',
},
});
pbjs.requestBids({
bidsBackHandler : function(bids) {
var winnerBid = pbjs.getHighestCpmBids('videoAd')[0];
pbjs.adServers.konduit.processBids({
bid: winnerBid,
adUnitCode: videoAdUnit[0].code,
timeout: 2000,
callback: function (error, processedBids) {
var vastTagUrl = pbjs.adServers.dfp.buildVideoUrl({
adUnit: videoAdUnit,
params: {
iu: '<gam ad unit>',
output: 'vast',
},
});
invokeVideoPlayer(vastTagUrl);
}
});
}
});
});
function invokeVideoPlayer(vastTagUrl) {
videojs("video_player_id").ready(function() {
this.vastClient({
adTagUrl: vastTagUrl,
playAdAlways: true,
verbosity: 4,
autoplay: true
});
this.play();
});
}