The Video Module

The Prebid Video Module allows Prebid to directly integrate with a Video Player.

The Video Module will allow Prebid.js to automatically:

  • render bids in the desired video player
  • mark used bids as won
  • trigger player and media events
  • fill the oRTB Video Impression and Content params in the bid request

Publishers

Publishers benefit the most from the Video Module since it allows integrating with a Video Player by simply configuring Prebid.

Setting up

The Video Module does not load the Video Player source files on the page. The publisher must have the Video Player’s build on the page.

Include submodule in build

The first step is to include the submodules for the Video Players that you will be integrating with in your build.

gulp build --modules=jwplayerVideoProvider,bidAdapter1,bidAdapter2

The following Video Players are currently supported:

Video Player Submodule Name Vendor Code
JW Player jwplayerVideoProvider 1
video.js videojsVideoProvider 2
AdPlayer.Pro adplayerproVideoProvider 3

Not seeing your desired video player ? Learn how to add support by reading our contribution guide

Optionally, if you are using an Ad Server, you can configure the Video Module to integrate with it. The following Ad Servers are currently supported:

Ad Server Module Name Vendor Code
Google Ad Manager dfpAdServerVideo ‘gam’

Note: You must include the Ad Server’s module in your build.

Configure Prebid

To register a video player with Prebid, you must use setConfig to set a video config compliant with the structure described in the setConfig reference.

Configure Ad Units

In order for Prebid to know which Ad Unit relates to which Video Player, you must include a video configuration in your Ad Unit. This allows Prebid to render the ad in the proper Video Player and obtain the Ortb data from the Video Player that will render the ad. For the list of properties in the video object of the ad unit please visit the adUnit.video reference.

Implementation Examples

Video.js

JW Player

AdPlayer.Pro

Features for Publishers

Integrating with the Video Module gives publishers access to the following features

Render ads

Prebid can load the ad directly into the player when the auction is complete. This feature happens automatically as long as you do not define a bidsBackHandler when calling requestBids.

Events

Media, ad and Player events are added when using the Video Module. The event payload includes metadata which can be used for analytics, error handling, and customizing your integration.

Event Constant Event String Description
SETUP_COMPLETE ‘videoSetupComplete’ Fired when the player is instantiated and the integration is complete. At this point the API is ready to be used.
SETUP_FAILED ‘videoSetupFailed’ Fired when the integration was unsuccessful.
DESTROYED ‘videoDestroyed’ Fired when the player instance has been destroyed.
AD_REQUEST ‘videoAdRequest’ Fired when the player is asked to load an ad.
AD_BREAK_START ‘videoAdBreakStart’ Fired when an ad break begins. An ad break consists of an ad, or a sequence of subsequent ads.
AD_LOADED ‘videoAdLoaded’ Fired when the player has finished loading the ad’s VAST response.
AD_STARTED ‘videoAdStarted’ Fired when the ad playback has started.
AD_IMPRESSION ‘videoAdImpression’ Fired when an ad has been played for 2 consecutive seconds while the player is at least 50% viewable, as defined by the IAB standards for video ad impressions.
AD_PLAY ‘videoAdPlay’ Fired when ad playback starts and is resumed after a pause.
AD_TIME ‘videoAdTime’ Fired as the ad playback progresses. Frequency depends on the player.
AD_PAUSE ‘videoAdPause’ Fired when the ad is paused.
AD_CLICK ‘videoAdClick’ Fired when the ad is clicked or tapped.
AD_SKIPPED ‘videoAdSkipped’ Fired when the ad is skipped.
AD_ERROR ‘videoAdError’ Fired when an error occurred while attempting to load or render the ad.
AD_COMPLETE ‘videoAdComplete’ Fired when the ad has reached its end.
AD_BREAK_END ‘videoAdBreakEnd’ Fired when the sequence of ads in the break has ended.
PLAYLIST ‘videoPlaylist’ Fired when a media playlist has been loaded into the player.
PLAYBACK_REQUEST ‘videoPlaybackRequest’ Fired when an attempt to start the media playback has been made i.e. the viewer has tapped the play icon.
AUTOSTART_BLOCKED ‘videoAutostartBlocked’ Fired when autostart has been prevented. Generally, autostart is prevented by the browser.
PLAY_ATTEMPT_FAILED ‘videoPlayAttemptFailed’ Fired when the user’s attempt to begin playback is unsuccessful.
CONTENT_LOADED ‘videoContentLoaded’ Fired when the content media is loaded into the player.
PLAY ‘videoPlay’ Fired when the content playback begins or is resumed.
PAUSE ‘videoPause’ Fired when the content playback is paused.
BUFFER ‘videoBuffer’ Fired when the player enters a buffer state. Usually caused by a delay in loading video segments to continue playback.
TIME ‘videoTime’ Fired as the content playback progresses. Frequency depends on the player.
SEEK_START ‘videoSeekStart’ Fired when the viewer begins seeking in content.
SEEK_END ‘videoSeekEnd’ Fired when the viewer has finished seeking in the content.
MUTE ‘videoMute’ Fired when the player is muted.
VOLUME ‘videoVolume’ Fired when the player’s volume has changed.
RENDITION_UPDATE ‘videoRenditionUpdate’ Fired when a change occurred in the video’s encoded width, encoded height, reported video bitrate, reported audio bitrate or video framerate.
ERROR ‘videoError’ Fired when a player experiences an unrecoverable playback error while playing or attempting to play content.
COMPLETE ‘videoComplete’ Fired when a media content has reached its end.
PLAYLIST_COMPLETE ‘videoPlaylistComplete’ Fired when the last piece of content in a media playlist has ended.
FULLSCREEN ‘videoFullscreen’ Fired when the player enters or exits fullscreen mode.
PLAYER_RESIZE ‘videoPlayerResize’ Fired when the player’s size is modified.
VIEWABLE ‘videoViewable’ Fired when the player’s viewability is changed. Viewability is a percentage of the player’s size currently in view. The granularity at which this event is triggered depends on the player.
CAST ‘videoCast’ Fired when casting to an external device begins or ends.
AUCTION_AD_LOAD_ATTEMPT ‘videoAuctionAdLoadAttempt’ Fired when Prebid attempts to load the winning ad from a Prebid auction into the player.
AUCTION_AD_LOAD_QUEUED ‘videoAuctionAdLoadQueued’ Fired when Prebid queues the winning ad from a Prebid auction. This occurs when the Video Provider is not yet instantiated. The ad will be loaded into the player once the Video Provider is instantiated.
AUCTION_AD_LOAD_ABORT ‘videoAuctionAdLoadAbort’ Fired when the attempt to load the winning ad from a Prebid auction into the player is prevented.
BID_IMPRESSION ‘videoBidImpression’ Fired when the ad from a bid resulted in an impression.
BID_ERROR ‘videoBidError’ Fired when the ad from a bid resulted in an error.
Event params

All Video Module events include a divId and type param in the payload by default. The divId is the div id string of the player emitting the event; it can be used as an identifier. The type is the string name of the event. The remaining Payload params are listed in the following:

SETUP_COMPLETE
argument name type description
playerVersion string The version of the player on the page
viewable boolean Is the player currently viewable?
viewabilityPercentage number The percentage of the video that is currently viewable on the user’s screen.
mute boolean Whether or not the player is currently muted.
volumePercentage number The volume of the player, as a percentage
SETUP_FAILED
argument name type description
playerVersion string The version of the player on the page
errorCode number The identifier of the error preventing the media from rendering
errorMessage string Developer friendly description of the reason the error occurred.
sourceError object The underlying root Error which prevented the playback.
DESTROYED

No additional params.

AD_REQUEST
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
AD_BREAK_START
argument name type description
offset string Scheduled position in the video for the ad to play. For mid-rolls, will be the position in seconds as string. Other options: ‘pre’ (pre-roll), ‘post’ (post-roll), ‘api’ (ad was not scheduled)
AD_LOADED
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
offset string Scheduled position in the video for the ad to play. For mid-rolls, will be the position in seconds as string. Other options: ‘pre’ (pre-roll), ‘post’ (post-roll), ‘api’ (ad was not scheduled)
loadTime number Time the ad took to load in milliseconds
vastAdId string The ID given to the ad within the ad tag’s XML. Nullable when absent from the VAST xml.
adDescription string Description of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
adServer string Ad server used (e.g. dart or mediamind) from the vast tag. Nullable when absent from the VAST xml.
adTitle string Title of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
advertiserId string Optional identifier for the advertiser, provided by the ad server. Nullable when absent from the VAST xml.
advertiserName string Name of the advertiser as defined by the ad serving party, from the vast XML. Nullable when absent from the VAST xml.
dealId string The ID of the Ads deal. Generally relates to Direct Sold Ad Campaigns. Nullable when absent from the VAST xml.
linear boolean Is the ad linear or not?
vastVersion string Version of VAST being reported from the tag
creativeUrl string The URL representing the VPAID or MP4 ad that is run
adId string Unique Ad ID - refers to the ‘attribute’ of the node within the VAST. Nullable when absent from the VAST xml.
universalAdId string Unique identifier for an ad in VAST4. Nullable when absent from the VAST xml.
creativeId string Ad server’s unique ID for the creative pulled from the ad tag’s XML. Should be used to specify the ad server’s unique identifier as opposed to the Universal Ad Id which is used for maintaining a creative id for the ad across multiple systems. Nullable when absent from the VAST xml.
creativeType string The MIME type of the ad creative currently being displayed
redirectUrl string the url to which the viewer is being redirected after clicking the ad. Nullable when absent from the VAST xml.
adPlacementType number The video placements per IAB guidelines. Enum list: In-Stream: 1, In-Banner: 2, In-Article: 3, In-Feed: 4, Interstitial/Slider/Floating: 5
waterfallIndex number Index of the current item in the ad waterfall
waterfallCount number The count of items in a given ad waterfall
adPodCount number the total number of ads in the pod
adPodIndex number The index of the currently playing ad within an ad pod
wrapperAdIds array[string] Ad IDs of the VAST Wrappers that were loaded while loading the Ad tag. The list returned starts at the inline ad (innermost) and traverses to the outermost wrapper ad. An empty array is returned if there are no wrapper ads.
AD_STARTED
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
offset string Scheduled position in the video for the ad to play. For mid-rolls, will be the position in seconds as string. Other options: ‘pre’ (pre-roll), ‘post’ (post-roll), ‘api’ (ad was not scheduled)
loadTime number Time the ad took to load in milliseconds
vastAdId string The ID given to the ad within the ad tag’s XML. Nullable when absent from the VAST xml.
adDescription string Description of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
adServer string Ad server used (e.g. dart or mediamind) from the vast tag. Nullable when absent from the VAST xml.
adTitle string Title of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
advertiserId string Optional identifier for the advertiser, provided by the ad server. Nullable when absent from the VAST xml.
advertiserName string Name of the advertiser as defined by the ad serving party, from the vast XML. Nullable when absent from the VAST xml.
dealId string The ID of the Ads deal. Generally relates to Direct Sold Ad Campaigns. Nullable when absent from the VAST xml.
linear boolean Is the ad linear or not?
vastVersion string Version of VAST being reported from the tag
creativeUrl string The URL representing the VPAID or MP4 ad that is run
adId string Unique Ad ID - refers to the ‘attribute’ of the node within the VAST. Nullable when absent from the VAST xml.
universalAdId string Unique identifier for an ad in VAST4. Nullable when absent from the VAST xml.
creativeId string Ad server’s unique ID for the creative pulled from the ad tag’s XML. Should be used to specify the ad server’s unique identifier as opposed to the Universal Ad Id which is used for maintaining a creative id for the ad across multiple systems. Nullable when absent from the VAST xml.
creativeType string The MIME type of the ad creative currently being displayed
redirectUrl string the url to which the viewer is being redirected after clicking the ad. Nullable when absent from the VAST xml.
adPlacementType number The video placements per IAB guidelines. Enum list: In-Stream: 1, In-Banner: 2, In-Article: 3, In-Feed: 4, Interstitial/Slider/Floating: 5
waterfallIndex number Index of the current item in the ad waterfall
waterfallCount number The count of items in a given ad waterfall
adPodCount number the total number of ads in the pod
adPodIndex number The index of the currently playing ad within an ad pod
wrapperAdIds array[string] Ad IDs of the VAST Wrappers that were loaded while loading the Ad tag. The list returned starts at the inline ad (innermost) and traverses to the outermost wrapper ad. An empty array is returned if there are no wrapper ads.

AD_IMPRESSION
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
offset string Scheduled position in the video for the ad to play. For mid-rolls, will be the position in seconds as string. Other options: ‘pre’ (pre-roll), ‘post’ (post-roll), ‘api’ (ad was not scheduled)
loadTime number Time the ad took to load in milliseconds
vastAdId string The ID given to the ad within the ad tag’s XML. Nullable when absent from the VAST xml.
adDescription string Description of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
adServer string Ad server used (e.g. dart or mediamind) from the vast tag. Nullable when absent from the VAST xml.
adTitle string Title of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
advertiserId string Optional identifier for the advertiser, provided by the ad server. Nullable when absent from the VAST xml.
advertiserName string Name of the advertiser as defined by the ad serving party, from the vast XML. Nullable when absent from the VAST xml.
dealId string The ID of the Ads deal. Generally relates to Direct Sold Ad Campaigns. Nullable when absent from the VAST xml.
linear boolean Is the ad linear or not?
vastVersion string Version of VAST being reported from the tag
creativeUrl string The URL representing the VPAID or MP4 ad that is run
adId string Unique Ad ID - refers to the ‘attribute’ of the node within the VAST. Nullable when absent from the VAST xml.
universalAdId string Unique identifier for an ad in VAST4. Nullable when absent from the VAST xml.
creativeId string Ad server’s unique ID for the creative pulled from the ad tag’s XML. Should be used to specify the ad server’s unique identifier as opposed to the Universal Ad Id which is used for maintaining a creative id for the ad across multiple systems. Nullable when absent from the VAST xml.
creativeType string The MIME type of the ad creative currently being displayed
redirectUrl string the url to which the viewer is being redirected after clicking the ad. Nullable when absent from the VAST xml.
adPlacementType number The video placements per IAB guidelines. Enum list: In-Stream: 1, In-Banner: 2, In-Article: 3, In-Feed: 4, Interstitial/Slider/Floating: 5
waterfallIndex number Index of the current item in the ad waterfall
waterfallCount number The count of items in a given ad waterfall
adPodCount number the total number of ads in the pod
adPodIndex number The index of the currently playing ad within an ad pod
wrapperAdIds array[string] Ad IDs of the VAST Wrappers that were loaded while loading the Ad tag. The list returned starts at the inline ad (innermost) and traverses to the outermost wrapper ad. An empty array is returned if there are no wrapper ads.
time number The playback time in the ad when the event occurs, in seconds.
duration number Total duration of an ad in seconds
AD_PLAY
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
AD_TIME
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
time number The current poisition in the ad timeline
duration number Total duration of an ad in seconds
AD_PAUSE
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
AD_CLICK
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
offset string Scheduled position in the video for the ad to play. For mid-rolls, will be the position in seconds as string. Other options: ‘pre’ (pre-roll), ‘post’ (post-roll), ‘api’ (ad was not scheduled)
loadTime number Time the ad took to load in milliseconds
vastAdId string The ID given to the ad within the ad tag’s XML. Nullable when absent from the VAST xml.
adDescription string Description of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
adServer string Ad server used (e.g. dart or mediamind) from the vast tag. Nullable when absent from the VAST xml.
adTitle string Title of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
advertiserId string Optional identifier for the advertiser, provided by the ad server. Nullable when absent from the VAST xml.
advertiserName string Name of the advertiser as defined by the ad serving party, from the vast XML. Nullable when absent from the VAST xml.
dealId string The ID of the Ads deal. Generally relates to Direct Sold Ad Campaigns. Nullable when absent from the VAST xml.
linear boolean Is the ad linear or not?
vastVersion string Version of VAST being reported from the tag
creativeUrl string The URL representing the VPAID or MP4 ad that is run
adId string Unique Ad ID - refers to the ‘attribute’ of the node within the VAST. Nullable when absent from the VAST xml.
universalAdId string Unique identifier for an ad in VAST4. Nullable when absent from the VAST xml.
creativeId string Ad server’s unique ID for the creative pulled from the ad tag’s XML. Should be used to specify the ad server’s unique identifier as opposed to the Universal Ad Id which is used for maintaining a creative id for the ad across multiple systems. Nullable when absent from the VAST xml.
creativeType string The MIME type of the ad creative currently being displayed
redirectUrl string the url to which the viewer is being redirected after clicking the ad. Nullable when absent from the VAST xml.
adPlacementType number The video placements per IAB guidelines. Enum list: In-Stream: 1, In-Banner: 2, In-Article: 3, In-Feed: 4, Interstitial/Slider/Floating: 5
waterfallIndex number Index of the current item in the ad waterfall
waterfallCount number The count of items in a given ad waterfall
adPodCount number the total number of ads in the pod
adPodIndex number The index of the currently playing ad within an ad pod
wrapperAdIds array[string] Ad IDs of the VAST Wrappers that were loaded while loading the Ad tag. The list returned starts at the inline ad (innermost) and traverses to the outermost wrapper ad. An empty array is returned if there are no wrapper ads.
time number The playback time in the ad when the event occurs, in seconds.
duration number Total duration of an ad in seconds
AD_SKIPPED
argument name type description
time number The playback time in the ad when the event occurs, in seconds.
duration number Total duration of an ad in seconds

AD_ERROR
argument name type description
playerErrorCode number The ad error code from the Player’s internal spec.
vastErrorCode number The error code for the VAST response that is returned from the request, as defined in the VAST spec.
errorMessage string Developer friendly description of the reason the error occurred.
sourceError object The underlying root Error which prevented the playback.
adTagUrl string The URL for the ad tag associated with the given ad event
offset string Scheduled position in the video for the ad to play. For mid-rolls, will be the position in seconds as string. Other options: ‘pre’ (pre-roll), ‘post’ (post-roll), ‘api’ (ad was not scheduled)
loadTime number Time the ad took to load in milliseconds
vastAdId string The ID given to the ad within the ad tag’s XML. Nullable when absent from the VAST xml.
adDescription string Description of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
adServer string Ad server used (e.g. dart or mediamind) from the vast tag. Nullable when absent from the VAST xml.
adTitle string Title of the ad pulled from the ad tag’s XML. Nullable when absent from the VAST xml.
advertiserId string Optional identifier for the advertiser, provided by the ad server. Nullable when absent from the VAST xml.
advertiserName string Name of the advertiser as defined by the ad serving party, from the vast XML. Nullable when absent from the VAST xml.
dealId string The ID of the Ads deal. Generally relates to Direct Sold Ad Campaigns. Nullable when absent from the VAST xml.
linear boolean Is the ad linear or not?
vastVersion string Version of VAST being reported from the tag
creativeUrl string The URL representing the VPAID or MP4 ad that is run
adId string Unique Ad ID - refers to the ‘attribute’ of the node within the VAST. Nullable when absent from the VAST xml.
universalAdId string Unique identifier for an ad in VAST4. Nullable when absent from the VAST xml.
creativeId string Ad server’s unique ID for the creative pulled from the ad tag’s XML. Should be used to specify the ad server’s unique identifier as opposed to the Universal Ad Id which is used for maintaining a creative id for the ad across multiple systems. Nullable when absent from the VAST xml.
creativeType string The MIME type of the ad creative currently being displayed
redirectUrl string the url to which the viewer is being redirected after clicking the ad. Nullable when absent from the VAST xml.
adPlacementType number The video placements per IAB guidelines. Enum list: In-Stream: 1, In-Banner: 2, In-Article: 3, In-Feed: 4, Interstitial/Slider/Floating: 5
waterfallIndex number Index of the current item in the ad waterfall
waterfallCount number The count of items in a given ad waterfall
adPodCount number the total number of ads in the pod
adPodIndex number The index of the currently playing ad within an ad pod
wrapperAdIds array[string] Ad IDs of the VAST Wrappers that were loaded while loading the Ad tag. The list returned starts at the inline ad (innermost) and traverses to the outermost wrapper ad. An empty array is returned if there are no wrapper ads.
time number The playback time in the ad when the event occurs, in seconds.
duration number Total duration of an ad in seconds
AD_COMPLETE
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
AD_BREAK_END
argument name type description
offset string Scheduled position in the video for the ad to play. For mid-rolls, will be the position in seconds as string. Other options: ‘pre’ (pre-roll), ‘post’ (post-roll), ‘api’ (ad was not scheduled)
PLAYLIST
argument name type description
playlistItemCount number The number of items in the current playlist
autostart boolean Whether or not the player is set to begin playing automatically.
PLAYBACK_REQUEST
argument name type description
playReason string wWy the play attempt originated. Options: ‘Unknown’ (Unknown reason:we cannot tell), ‘Interaction’ (A viewer interacts with the UI), ‘Auto’ (Autoplay based on the configuration of the player - autoStart), ‘autoOnViewable’ (autoStart when viewable), ‘autoRepeat’ (media automatically restarted after completion, without any user interaction), ‘Api’ (caused by a call on the player’s API), ‘Internal’ (started because of an internal mechanism i.e. playlist progressed to a recommended item)
AUTOSTART_BLOCKED
argument name type description
errorCode number The identifier of error preventing the media from rendering
errorMessage string Developer friendly description of the reason the error occurred.
sourceError object The underlying root Error which prevented the playback.
PLAY_ATTEMPT_FAILED
argument name type description
playReason string Why the play attempt originated. Options: ‘Unknown’ (Unknown reason:we cannot tell), ‘Interaction’ (A viewer interacts with the UI), ‘Auto’ (Autoplay based on the configuration of the player - autoStart), ‘autoOnViewable’ (autoStart when viewable), ‘autoRepeat’ (media automatically restarted after completion, without any user interaction), ‘Api’ (caused by a call on the player’s API), ‘Internal’ (started because of an internal mechanism i.e. playlist progressed to a recommended item)
errorCode number The identifier of error preventing the media from rendering
errorMessage string Developer friendly description of the reason the error occurred.
sourceError object The underlying root Error which prevented the playback.
CONTENT_LOADED
argument name type description
contentId string The unique identifier of the media item being rendered by the video player. Nullable when not provided by Publisher, or unknown.
contentUrl string The URL of the media source of the playlist item
title string The title of the content; not meant to be used as a unique identifier. Nullable when not provided by Publisher, or unknown.
description string The description of the content. Nullable when not provided by Publisher, or unknown.
playlistIndex number The currently playing media item’s index in the playlist.
contentTags array[string] Customer media level tags describing the content. Nullable when not provided by Publisher, or unknown.
PLAY

No additional params.

PAUSE

No additional params.

BUFFER
argument name type description
time number Playback position of the media in seconds
duration number Current media’s length in seconds
playbackMode number The current playback mode used by a given player. Enum list: vod: 0, live: 1, dvr: 2
TIME
argument name type description
position number Playback position of the media in seconds
duration number Current media’s length in seconds
SEEK_START
argument name type description
position number Playback position of the media in seconds, when the seek begins
destination number Desired playback position of a seek action, in seconds
duration number Current media’s length in seconds
SEEK_END
argument name type description
position number Playback position of the media in seconds, when the seek has ended
duration number Current media’s length in seconds
MUTE
argument name type description
mute boolean Whether or not the player is currently muted.
VOLUME
argument name type description
volumePercentage number The volume of the player, as a percentage
RENDITION_UPDATE
argument name type description
videoReportedBitrate number The bitrate of the currently playing video in kbps as reported by the Adaptive Manifest.
audioReportedBitrate number The bitrate of the currently playing audio in kbps as reported by the Adaptive Manifest.
encodedVideoWidth number The encoded width in pixels of the currently playing video rendition.
encodedVideoHeight number The encoded height in pixels of the currently playing video rendition.
videoFramerate number The current rate of playback. For a video that is playing twice as fast as the default playback, the playbackRate value should be 2.00
ERROR
argument name type description
errorCode number The identifier of the error preventing the media from rendering
errorMessage string Developer friendly description of the reason the error occurred.
sourceError object The underlying root Error which prevented the playback.
COMPLETE

No additional params.

PLAYLIST_COMPLETE

No additional params.

FULLSCREEN
argument name type description
fullscreen boolean Whether or not the player is currently in fullscreen
PLAYER_RESIZE
argument name type description
height number The height of the player in pixels
width number The width of the player in pixels
VIEWABLE
argument name type description
viewable boolean Is the player currently viewable?
viewabilityPercentage number The percentage of the video that is currently viewable on the user’s screen.
CAST
argument name type description
casting boolean Whether or not the current user is casting to a device
AUCTION_AD_LOAD_ATTEMPT
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
adUnitCode string Unique identifier that was used when creating the ad unit.
AUCTION_AD_LOAD_QUEUED
argument name type description
adTagUrl string The URL for the ad tag associated with the given ad event
adUnitCode string Unique identifier that was used when creating the ad unit.
AUCTION_AD_LOAD_ABORT
argument name type description
adUnitCode string Unique identifier that was used when creating the ad unit.
BID_IMPRESSION
argument name type description
bid object Information about the Bid which resulted in the Ad Impression
adEvent object Event payload from the Ad Impression
BID_ERROR
argument name type description
bid object Information about the Bid which resulted in the Ad Error
adEvent object Event payload from the Ad Error

Bids marked as won

When an impression or error from an ad originating from a winning bid occurs, the bid will be automatically marked as used.

Limitations: the mechanism used to determine when an error occurred for an ad originating from a winning might fail at times when the ad server is GAM because of a limitation in GAM.

Bid request Enrichment

For your convenience, when an auction begins, the Video Module will update oRTB params in the auction for SSPs to consume and include in their bid requests.

adUnit.mediaTypes.video

The params in adUnit.mediaTypes.video are populated with information extracted from the player. Any param already filled by the publisher will remain unchanged. Some params such as battr, minduration, maxduration are specific to a publisher’s preferences and should therefore be populated by the Publisher.

bidderRequest.ortb2.site.content

The params in bidderRequest.ortb2.site.content are populated with information extracted from the video player. Any params already filled by the publisher will remain unchanged. This feature can be disabled by setting video.contentEnrichmentEnabled to false in the Prebid config. In the case where multiple video players are registered with the Video Module, the bidderRequest.ortb2.site.content params will be updated by the video player registered to the ad unit in the auction. If one of the Video Players is responsible for rendering the main content on the page, it may be appropriate for the site.content params to be populated with metadata from that player; in such case, you should populate video.mainContentDivId in the Prebid config with the video player’s div id. |

SSPs

Before bids are requested, the Video Module automatically enriches the auction. SSPs can benefit from this by reading from the proper params. Given that the video player is the source of truth for most video params, SSPs and DSPs can rely on the accuracy of the information.

mediaTypes.video

Before bids are requested, all ad units configured to be handled by the Video Module will be enriched. The adUnit’s mediaTypes.video param will be populated automatically. SSPs wishing to benefit from this enrichment should read from mediaTypes.video.

bidderRequest.ortb2.site.content

Similarly, before bids are requested, the bidderRequest.ortb2.site.content param is populated in the bidderRequest argument of the buildRequests function with content metadata from the video player and its media. SSPs wishing to benefit from this enrichment should read from bidderRequest.ortb2.site.content.

Contributing

The Prebid Video Module acts as a simple Video interface which Prebid can connect to. In order for the Video Module to plug into a Video Player, a video submodule must be implemented. The Video Submodule acts as a bridge between the Video Module and the Video Player. To add a submodule please follow the instructions in How to add a video submodule.