This optional module will trigger a BID_VIEWABLE event which can be consumed by Analytics adapters. In addition, the winning bidder can implement an onBidViewable
method to capture this event.
Notes:
Instead of listening for events, bidders may supply a bid.vurls
array and this module may fire those pixels when the viewability signal is received. Publishers can control this with module config ` firePixels: true `. Please note that GDPR and USP related parameters will be added to the given URLs.
This feature doesn’t work with Instream Video, as GPT’s impressionViewable event is not triggered for instream-video-creative
The default logic used to find a matching Prebid.js bid for a GPT slot is
(bid, slot) => (slot.getAdUnitPath() === bid.adUnitCode ||
slot.getSlotElementId() === bid.adUnitCode)
Field | Scope | Type | Description |
---|---|---|---|
bidViewability |
Required | Object | Configuration object |
bidViewability.enabled |
Required | Boolean | when set to true, the module will emit BID_VIEWABLE when applicable. Default: false |
bidViewability.firePixels |
Optional | Boolean | when set to true, will fire the urls mentioned in bid.vurls which should be array of URLs. Default: false |
bidViewability.customMatchFunction |
Optional | function(bid, slot) | this function will be used to find the matching winning bid for the GPT slot. See above for the default. |
pbjs.setConfig({
bidViewability: {
enabled: true,
firePixels: true,
customMatchFunction: function(bid, slot){
console.log('using custom match function....');
return bid.adUnitCode === slot.getAdUnitPath();
}
}
});
pbjs.onEvent('bidViewable', function(bid){
console.log('got bid details in bidViewable event', bid);
});