Contact support

Video plugin: get started

Overview

Equativ's Video plugin lets publishers manage in-stream video ads (pre-rolls/mid-rolls/post-rolls, overlays) and benefit from the plugin’s advanced features. These include single-line code integration, full VAST support, passback management, or callbacks.

Feature matrix

The feature matrix in the Supply in-stream video inventory: get started article lists all features and their compatibility with the Video plugin and the other integration methods.

FAQ

Can I deliver Equativ video ads without using Equativ's Video plugin?

Yes, you can choose from two integration modes: standalone VAST request or the Equativ Embedded Ad Manager (EAM). The Video plugin or EAM modes provide access to additional features, such as ad rules, passbacks, or user identification. For more details, see Supply in-stream video inventory: get started

 
 

What type of reporting does Equativ provide for a video ad?

Equativ provides reporting for VAST metrics and custom metrics. For more information, see Report metric reference and Report dimension reference.

 
 

How can I integrate Equativ's solution into a custom player?

Read the Video plugin: integration tutorial to integrate the Video plugin with your custom HTML5 content player.

 
 

Can I deliver ads in a content playlist with the Video plugin?

Yes, you can deliver ads in a content playlist: you must call the sas.video.register method for each playlist item before it starts. You must also call the sas.video.clearPlayer method to remove the previous plugin instance before registering a new one.

The only parameter required for sas.video.clearPlayer is a string containing the player container's ID.

For example, if you use JW Player, implement the registration as follows:

jwplayer(container).on('playlistItem', function () {
  if (typeof sas !== 'undefined' && typeof sas.video !== 'undefined') {
    window.setTimeout(function () {
      sas.video.clearPlayer('containerId');
      sas.video.register(pluginConfigurationObject);
    }, 0);
  }
});

Note that this implementation differs from a typical registration that occurs only once, on player ready:

jwplayer(container).on('ready', function () {
  if (typeof sas !== 'undefined' && typeof sas.video !== 'undefined') {
    sas.video.register(pluginConfigurationObject);
  }
});

For this type of integration, there might be an issue with post-rolls playing completely if another content item is scheduled to play immediately after. Setting post-roll instances for the last content item only is strongly recommended.

 
 
 

How can I debug a console error?

Enable the verbose mode to display the console logs. Add the verbose parameter to the requested resource as follows:

http://r.sascdn.com/video/controller.js?nwid=<YOUR_NETWORK_ID>&verbose=true
 
 

Why do I get the error "No Access Control-Allow-Origin" in the console log?

This error occurs only when you try to display an ad from a third-party ad server using a VAST Wrapper template. The Video plugin uses a JavaScript file to make ad requests and parse VAST responses, which requires the ad server to supply Cross-Origin Resource Sharing (CORS) headers in the HTTP response so the request can be loaded by other domains using AJAX or the Fetch API.

Not all ad servers support this by default. Equativ recommends that customers ask for redirection with CORS headers from the third-party ad server.

 
 

Why do I get the error "Uncaught TypeError: Cannot call method "toLowerCase" of "null" in the console log?

This error indicates that the targeting options (site, page, or formats) might not have been set up correctly. Before contacting the support team, review the documentation and sample integrations to ensure all settings are correct.

 
 

How can I set a timeout for the ad call for video ads?

The Video plugin uses two timeout levels:

  • requestTimeout: The time allocated for a single VAST request (the first request to Equativ or subsequent wrapper requests to third-party ad servers). The default value is 3 seconds.
  • totalTimeout: The time constraint that ensures an ad fires its impression within a certain time. If the impression doesn't fire within this time, Equativ tries to display the next ad, which has the same time constraint.
    For the first ad in an ad pod, Equativ starts counting when the VAST loads. For subsequent ads in an ad pod, Equativ starts counting when the previous ad is completed or skipped.
    By default, ads must fire their impressions within 8 seconds.

You can change both values by loading a custom configuration with a modified publisher section. For more information, see “Configure publisher” in Video plugin: configure and customize.

 
 

How can I make an ad non-skippable?

By default, linear ads are skippable. You have two options to make them non-skippable:

  • Creative template parameters: Edit the insertion's creative template parameters as follows: 
    1. Leave the Skip offset parameter undefined. This parameter sets the time until the ad becomes skippable.
    2. Clear the Use publisher's skip offset checkbox to ensure that the skip offset defined on creative level is applied. This option is selected by default. If you kept this option selected, the value defined in the plugin configuration would be applied.
  • Custom Video plugin configuration: set the skipDelay parameter to -1 in the publisher section of the Video plugin configuration. For more information, see skipDelay in Video plugin: configure and customize.