Salesforce

« Go Back
Information
In-read
Smart-Video-Read
Details

User-added image

Summary

Overview
Demo
Compliancy
Creatives
Creative template parameters
Features
Metrics
Limitations
Known issues
Release notes

Overview

Formerly named "Smart Video-Read" / "RTB+ Smart Video-Read". The "In-read" creative template displays a video ad, for which it automatically determines the best position within the page content. It automatically pauses/resumes video playback when video visibility is below/above 50% ensuring maximum advertising impact.

Demo

In-read demo 

Compliancy

CriterionCompliancy
RTB
VAST 4.2 and lower
VAST wrapper
VPAID
SIMID
Creative rotation 
Responsive web design
Friendly iFrame
Viewability counting (MRC standard)*

* Viewability measurement is limited to the initial position of the ad - no viewability measurement when the ad is in mini player mode

Creatives

This section applies for the direct creative template only.
Supported video files:

  • mp4, webm (use files with high resolution and bitrate)
  • any VAST redirect containing the formats: mp4, ogg, webm, javascript (for VPAID only)

Note 1: In case of VAST redirects, the ad format picks the most appropriate file to play according to the following priorities: (1) mp4, (2) webm, (3) ogg, (4) javascript.

Note 2: In case of VAST redirects, use the "Paste script" creation method and paste the URL or the entire XML into the "Creative script" field.

Note 3: This ad format will be billed only when the user watches the first frame of the ad or when the banner will be displayed ("Show banner first" feature).

Creative template parameters

NameDescriptionDefault value
Position

Selected position

Select position of the ad

  • ad placement: display the ad where Equativ tags are inserted. If you choose this option, leave the other positions fields empty.
  • automatic: place ad automatically in the page content. This beta option may be helpful for customers who want to deliver one insertion on many sites. If you choose this option, leave the other positions fields empty. Read more about the automatic positioning algorithm in the chapter "Positioning options" below 
  • paragraph by id: specifies id or more ids of elements which contain article text. Separate them by semicolon if needed. Equativ will try find paragraphs inside this element.
  • paragraph by class name: specifies class name or more class names of elements which contain article text. Separate them by semicolon if needed. Equativ will try find paragraphs inside this element.
  • paragraph by itemprop: specifies item prop or more item props of elements which contain article text. Separate them by semicolon if needed. Equativ will try find paragraphs inside this element.
  • specified element by id: appends ad inside element with specified id.
  • specified element by class name: appends ad inside element with specified class name.
ad placement
Identifier's namesSpecifies identifier or more identifiers of elements. Separate them by semicolon if needed. Equativ will put an ad inside it 
Paragraph typeSpecifies type of paragraph (p, div, ...) inside specified article. Value of this field won't be taken into account if ad placement or automatic is selectedp
Position in paragraphSpecifies position of an ad in paragraph. If you choose automatic, algorithm will pick the best place for showing an ad. Top/bottom means ad will be placed in the top/bottom of specified article. To have an ad placed in specified position - choose specified paragraph.automatic
Specified paragraph's numberPlaces an ad after the specified paragraph, e.g. paragraph no. 3. If there is not enough paragraphs on a page - the ad will be placed after the last one. This field will be used only if you chosen the specified paragraph in the Position in paragraph option.1
Player options
Max ad's container width (px/%)

Specifies max width of the ad's container. Do not forget the unit (e.g. 750px, 100%)! Please note that percentage value refers to max width of parent container. There is no height param. This creative template calculates it by itself.
Note: Use '!' symbol to have a fixed width of the video player (e.g. 400px! what means that the video player will have 400px width and proportional height.
Make sure you read the warning "Player width in RTB In-read creative template" below.

100%
Trigger start/pausePart of the player (in %) which needs to be visible to start/pause the video ad. Note, if you put 0, the player will be shown immediately even it's not in the viewport.50
AnimationSpecifies if there is a transition when player and mini player are showing and hidingtrue
Mute/Unmute on hoverSpecifies if sound is muted/unmuted on mouse out/on.

Please notice that the newest version of Chrome and Safari browsers do not allow to programmatically mute / unmute video. In that case video player may be paused instead of muted / unmuted. We recommend to keep this option disabled.
false
Loop videoSpecifies if video is loopedfalse
Collapse at the endSpecifies if the video will collapse at the end or will the replay button appeartrue
zIndexSpecifies zIndex of the creative1
Tracking url(s)Separate tracking URLs by "||" if required;
make sure you add [timestamp] to the URL for cache busting

 
Duration label

Specifies the duration label; Note: Use {0} in label to count down the time until the end of the ad

End of ad break in {0} s
Button options
Creative feedbackShows creative feedback buttontrue
Fullscreen buttonSpecifies if player has a fullscreen buttonfalse
Play/pause buttonSpecifies if player has play/pause buttonsfalse
Volume buttonSpecifies if player has a volume buttontrue
Force close buttonForces an additional close button coming from the template to be able to close 3rd party VPAID creatives which are not allowing to close the adfalse
Controls colorSpecifies the controls color#cccccc
Auto hideSpecifies if buttons should be hidden after a while; this option works only if "Bar mode" param is set to "FLOATING"true
Skipping options
Skip time

Specifies the delay time before the close button will appear; Note: VAST wrappers overwrite this value

5
Skip labelSpecifies the skip label; Note: use {0} in label to count down the timeYou can close Ad in {0} s
Bar options
Bar modeSpecifies the bar modeFLOATING
Bar opacitySpecifies the opacity of the bar; this option works only if "Bar mode" param is set to "FLOATING"0.5
Mini player options
Enable mini playerUnleashes the player from its position when scrolling, if its visibility is less than 51%false
Start mini player on page loadedOn page load, if the main player isn't visible, directly start the video using the mini-player. This option is useful when "Enable mini-player" is active. See animation of a mini player loaded on page load in chapter "Demo" above.
Note: also the option Trigger start/pause should be set to 0
false
Width of mini playerSpecifies the max. width of the mini player; make sure you enter the unit (e.g. 750px, 100%); a percentage value refers to the "max-width" of the initial container; there is no height param (this creative template calculates it by itself)50%
Mini player position

Specifies the position of the mini-player:

  • "left/right" - moves the mini-player to the left/right side relative to the top-left corner of the initial place of the ad container
  • "top-left/top-right/bottom-right/bottom-left" - pins the mini-player to the chosen corner of the viewport
bottom-right
Mini player Offset X (in px)

Specifies the horizontal offset of the mini player:

  • if the Position option is set to "left/right", it is measured from the top-left corner of initial place of the ad container
  • if the Position option is set to "top-left/top-right/bottom-right/bottom-left", it is measured from the chosen corner of viewport

This value must be greater than or equal to 0.

0
Mini player Offset Y (in px)

Specifies the vertical offset of the mini player:

  • if the Position option is set to "left/right", it is measured from the top of the browser window
  • if the Position option is set to "top-left/top-right/bottom-right/bottom-left", it is measured from the chosen corner of viewport

This value must be greater than or equal to 0.

0
Text label options
Label textSpecifies the label which appears above the playerAdvertisement
Label font sizeSpecifies the font size of the label12
Label font colorSpecifies the color of the label text#cccccc
Banner options
Banner urlSpecifies if the ad has a banner above the video 
Banner widthSpecifies the width of the banner300px
Banner heightSpecifies the height of the banner50px
Is banner scalableSpecifies if the banner is scalable; Note: the banner scales in relation to the "Max width" param of the videotrue
Expand options:
Enable expandEnable expand modefalse
Expand directionSpecifies expand directionbottom left
Expand widthSpecifies expand width. Do not forget the unit! E.g. 750px, 100%. Please note that percentage value refers to width of the initial container.600px
Expand heightSpecifies expand height.Do not forget the unit! E.g. 750px, 100%. Please note that percentage value refers to height of the initial container.400px
Expand tracking urlIt will be called when expand action occurs. Remember to add [timestamp] to url so it is called correctly 
Collapse tracking urlIt will be called when collapse action occurs. Remember to add [timestamp] to url so it is called correctly 
RTB options (only for the RTB template)
Video player widthSpecifies the video player width (in px); the height will be calculated automatically using the aspect ratio (16:9). Make sure you read the warning "Player width in RTB In-read creative template" below. 
Minimum durationThe minimum ad duration, in second(s) 
Maximum durationThe maximum ad duration, in second(s) 
Minimum bitrateThe minimum expected bitrate for the video creative, in Kbps 
Maximum bitrateThe maximum expected bitrate for the video creative, in Kbps 

Features

The In-read can analyze the publisher's content and automatically identify the best position where the ad can be displayed. When the user scrolls down the page while reading the content, the In-read waits until more than a specified percentage of the ad's surface (50% by default) is visible. At that point it will autoplay expanding the publisher's page. Once the video ad is watched until the end, it automatically disappears.
This ad format also has the ability to unleash the player from its position while scrolling (Mini player option) and to expand player to preset size (Expand option).

Responsive web design support

The size of the video ad can be adjusted to the container where the video player is placed if you choose a percentage value for the "max width" parameter.

Player width in In-read creative template

When using the In-read creative template:

  • make sure you define the "Video player width" parameter in the "RTB options". The height will be calculated automatically using the aspect ratio (16:9). For example, if you set a width of 300px, the height will be 168px.
  • make sure you define the "Max ad's container width (px/%)"  in the "Player options". This value (100% by default) refers to the max. width of the parent container. If you want the width of the ad to match the "Video player width" parameter defined in the "RTB options", use the '!' character to set a fixed video player width; for instance, define 300px! for a video player width of 300px and the proportional height

Automatic pausing/resuming

The In-read automatically pauses/resumes the video when the visibility is below/above a specified percentage in order to ensure maximum impact for the advertiser.

User-added image

Mute/Unmute

By default, the sound is off upon mouse hover but the behavior is completely customizable.

Positioning options

You can position the ad as follows:

  • ad placement (default) - video is appended inside the Equativ tag
  • automatic -  it places your ad automatically in the page content; it is useful when serving the In-read on many different sites; no other positioning options are required; see explanation of the automatic positioning algorithm below
  • paragraph by idparagraph by class nameparagraph by item propspecified element by idspecified element by class name - place ad in a specific element (which can be determined by Identifier's names and Paragraph type options)
  • position in paragraph - allow to set specific place in paragraph where to show video
  • specified paragraph's number - allow to place ad after the specified paragraph

If the creative template cannot find the element where you chose to position the ad, a fallback mechanism will kick in to determine and display the ad at the best possible location. This ensures monetization even if the ad placement configuration is incorrect.

Automatic positioning algorithm
The algorithm, applied if the position of the ad is set to "automatic", works as follows:

  • list all HTML nodes except script, style, title, label, header, h2, li, a, ul, form, figure, noscript, iframe as soon as the page is rendered
  • determine if the page is an article based on the criteria: (1) at least 3 text nodes with the same parent; (2) at least 150 characters per text node; (3) 300px offset of the parent node from the top of the page; if the criteria apply, then the ad is placed at approximately 30% of the article content
  • if the page is not an article, attempt to find a collection of HTML nodes with the same parent matching with the criteria: (1) ordered from top to bottom and by width (the wider the better); (2) nodes with at least 300x100px; (3) parent node with a 300px offset from the top of the page (4) no style overflow:hidden of parent node (5) no position absolute, fixed of parent node
  • attempt to find a node matching the criteria: (1) placed in the first 50% of the page; (2) offset from top about 75% the height of the screen; (3) size of at least 300x100px; (4) no position absolute, fixed

If the algorithm cannot find any appropriate spot, an error is logged in the console.

Event listening

The In-read supports the following events: adBegin, adDuration, adEnd and adError. You can listen to these events to control the functioning of your site.
Any event contains the parameter formatId to get which formatId (on the page) fired the event:

window.addEventListener('adBegin', function (e) {
    console.log(e.formatId);
});

 

adBegin / adEnd
For instance, if your website has a video player playing video content, you can mute that player when the ad appears and unmute when it disappears:

window.addEventListener('adBegin', function (e) {
    document.querySelector('video').muted = true;
});

 

adDuration
The adDuration provides access to the videoDuration property, which can be useful to retrieve the duration of the whole video ad:

window.addEventListener('adDuration', function (e) {
    console.log(e.videoDuration);
});

 

adError
To take an action when there is an error or the VAST is empty:

window.addEventListener('adError', function (e) {
    console.log("Ad error occured");
});


The legacy names of custom events are still supported (sasVideoStart, sasVideoEnd, sasVideoDuration).

Force VPAID media files

To update media files selection and prioritize VPAID creatives the sasVpaidFirst variable can be used with a value of true. The below snippet can be added as a custom script:

<script> sasVpaidFirst = true; </script>

Metrics

The player and event logging start when the player is visible at least as defined in the Trigger start/pause parameter. Additionally, if there is problem with the VAST parsing (error or empty response), the "viewerror" metric is logged.
Also see the Video metrics article.

Limitations

  • The newest version of Chrome and Safari browsers do not allow to programmatically mute / unmute video. In that case video player may be paused instead of muted / unmuted. We recommend to keep "On mouse over unmute" and "On mouse out mute" options disabled.
  • Mini player can't be correctly positioned on a page in case a parent element is affected by a transform or position:fixed style effect 

Known issues

  • Some of the VPAID creatives are not scalable so they may be rendered incorrectly in the fullscreen and mini-player mode
  • If an In-read insertion is called from another primary ad server (e. g. Google), the ad call may be in too many containers, resulting in incorrect dimension calculations: the creative may be shown smaller than it should be. Pasting the script below into the Custom script field may fix this issue:
    <script type="text/javascript">
    (function(w){
    var d=w.document, h=d.getElementsByTagName('head')[0], b=d.body;
    var css='#sas_[sas_formatId], #sas_container_[sas_insertionId]{width:300px !important;height:250px !important;}#sas_[sas_formatId]{margin:auto;}#sas_videoDiv_formatId], #sas_relDiv_[sas_insertionId]{width:300px !important;height:200px !important;}',
    style=d.createElement('style');
    style.type='text/css';
    if (style.styleSheet) style.styleSheet.cssText=css;
    else style.appendChild(document.createTextNode(css));
    if (typeof w.sas_ajax != 'undefined' && w.sas_ajax) w.sas_appendToContainer([sas_formatId], style);
    else h.appendChild(style);
    })(window.top);
    </script>

Release notes

  • 20-01-2025 - Update for click counting URL for RTB template
  • 08-01-2025 - Improved CLS score
  • 12-11-2024 - Fixed double banner
  • 29-10-2024 - Fixed skip label for mini player
  • 21-10-2024
    • ​​​​Added creative feedback and DSA button
    • Removed "Show video button options", "Show banner first", "Banner position" parameters, 
  • 25-09-2024 - Added support for OMSDK
  • 24-01-2024 - Removed support for obsolete macros
  • 16-10-2023 - Updated Video Placement Type parameter
  • 03-10-2023 - Technical improvements
  • 18-07-2023 - Added new RTB macros
  • 05-04-2023 - Updated sas-libs version to 1.1
  • 25-01-2023 - Select the most appropriate creative encoded version based on bandwidth and resolution
  • 14-06-2022 - RTB send Playback Method with Bid Request
  • 30-05-2022 - Add 'Collapse ad the end' option
  • 04-11-2021 - Fix for video resizing in the mini-player mode for Android device
  • 21-04-2021 - Fix for creatives rotation mode
  • 13-05-2020 - Removed start muted custom parameter
  • 20-04-2020 - Removed RTB parameters from click count pixel
  • 25-03-2020 - Fix click issue of some VPAID creatives
  • 07-01-2020 - Fix CSS issue for rendering VPAID creatives
  • 05-08-2019 - Add new options for banner position
  • 19-06-2019 - Add new user parameter *Start player on page loaded*, which activates mini player when ad is loaded
  • 13-06-2019 - Added the ‘Start on page load’ option to the mini-player to allow it to directly start even when the main player isn’t visible.
  • 30-05-2019 - Added support for video placement types (OpenRTB 2.5) in RTB template
  • 05-02-2019 - Viewability module improvements - Measures are now more accurate and more integrations are covered
  • 28-01-2019 - Add RTB dimensions in click url
  • 03-01-2019 - Fix for pausing video on hover for VPAID creatives
  • 10-10-2018 - To be able to use the In-read template in the same way as the deprecated Video-Inline the option Animation has been added to specify if there are transitions when player and mini player are showing and hiding. Additionally, there is a possibility to set the start/pause trigger to 0 what means that the player will be showed and start playing immediately even the placement is not visible.
  • 26-09-2018 -  Fix for media files without protocol
  • 11-09-2018 -  Add tracking pixel for "Expand" module
  • 03-09-2018 -  Fix for Header Bidding compliancy, add support of extra parameter to "Max-width" option
  • 18-07-2018 -  Merged with In-read for Mobile and Video-Inline
  • 23-05-2018 - Changed default values of mouse over options
  • 07-05-2018 - Mini-player fix (not pausing player in mini-player mode)
  • 03-04-2018 - Triggering video play and pause depends on player visibility
  • 28-03-2018 - Positioning ad inside the Equativ tag
  • 05-02-2018 - Checking offset top value of element
  • 22-01-2018 - Updated meta parameters
  • 05-12-2017 - Fix for pages with body's height set to 100%
  • 13-11-2017 - Improved creative resizing for "Mini player" feature
  • 18-10-2017 - Updated meta parameters in RTB template
  • 27-09-2017 - Updated meta parameters in RTB template
  • 22-09-2017 - Update for tracking URL parameters
  • 21-08-2017 - Fix for sas.clean and sas.refresh functions; Support for standalone tag
  • 10-08-2017 - New algorithm for automatic position feature
  • 06-07-2017 - Remove "Minimum duration" and "Maximum duration" default values for RTB template
  • 05-07-2017 - Remove "Playback method" user parameter from RTB template and replace it with value from "Start muted" field
  • 04-07-2017 - Add possibility to pin mini-player to screen corners
  • 22-06-2017 - Forced close button added
  • 20-06-2017 - Remove duplicated "complete" tracking pixel in VPAID
  • 23-05-2017 - Update for HTML5 player
  • 22-05-2017 - Add "Offset Y" parameter for "Mini player"
  • 17-05-2017 - Rename option "Unleash" by "Mini player"
  • 21-04-2017 - Add Unleash the player option
  • 13-04-2017 - New fields order in the position section
  • 21-03-2017 - Remove useless option "Show anyway"
  • 14-03-2017 - Fix for URL for media files with get-parameters at the end
  • 23-02-2017 - Automatic position of the ad
  • 01-12-2016 - Update for html5 player
  • 28-11-2016 - Support for custom events and add the Specified paragraph's number option
  • 07-11-2016 - Fix for blocked video player on latest version of Google Chrome
  • 18-10-2016 - Choose the best file to play according to priority (VAST redirects)
  • 06-10-2016 - Support for .flv files and VPAID with flash creatives
  • 04-10-2016 - Stretch video to the container instead of zooming it
  • 29-09-2016 - Fix for FIF delivery
  • 26-09-2016 - Add Max width and Scalable options
  • 21-09-2016 - Update for HTML5 player + fix for VPAID
  • 26-08-2016 - Show banner first option

Powered by