Ad Verification with
Open Measurement SDK

Ad viewability and verification measurement using the Open Measurement SDK


This demo showcases how to enable ad event reporting using the Open Measurement SDK for viewability measurement and tracking.



OM SDK Tracker Configuration
Verification Resource
Event Log


Getting Started Guide

1. Include Bitmovin Player Advertising module (BAM) and the Advertising OM SDK module in your page

<!-- Bitmovin Modular Player Scripts -->
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-core.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-engine-bitmovin.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-xml.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-dash.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-mserenderer.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-container-mp4.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-abr.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-core.js"></script>

<!-- Bitmovin Advertising Module -->
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-core.js"></script>
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-bitmovin.js"></script>

<!-- Bitmovin OM SDK Module -->
<script type="text/javascript" src="https://cdn.bitmovin.com/player/web/8/modules/bitmovinplayer-advertising-omsdk.js"></script>

2. Set up the player instance for ad verification using OM SDK

  1. Add player modules to player core
  2. Create a player configuration including a OM SDK Tracker configuration
  3. Instantiate the player with above configuration, load a source & play

Note: The configured validationScriptUrl , among other things, defines which ad tracking events should subscribed to and the location of the verification server to report to.

// Add modules for ordinary playback, e.g. here specifically for DASH streams (step a)
bitmovin.player.core.Player.addModule(bitmovin.player['engine-bitmovin'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['mserenderer'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['xml'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['dash'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['abr'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['container-mp4'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['polyfill'].default);

// Add Bitmovin Advertising and OM SDK player modules
bitmovin.player.core.Player.addModule(bitmovin.player['advertising-core'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['advertising-bitmovin'].default);
bitmovin.player.core.Player.addModule(bitmovin.player['advertising-omsdk'].default);

// Create player config & include a OM SDK tracker config (step b)
var conf = {
  key: '<YOUR PLAYER KEY>',
  advertising: {
    adBreaks: [ /* ... */ ],
    trackers: {
      omSdk: {
        partnerName: 'awesome-company',
        partnerVersion: '1.0.0',
        verificationResources: [{
          validationScriptUrl: 'https://somewhere.com/validation-script.js',
        }]
      },
    }
  },
};

// Create player instance & load source (step c)
var playerContainer = document.getElementById('player-container');
var player = new bitmovin.player.core.Player(playerContainer, conf);

player.load({
  dash: 'https://cdn.bitmovin.com/content/assets/art-of-motion-dash-hls-progressive/mpds/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.mpd',
});

Ready to get started?

Access your free account today by signing up for a trial