Video Ads: SpringServe Video Ads: SpringServe

Video Ads: SpringServe

Vijay Sharma Vijay Sharma

Monetize your video content by connecting video ads to MAZ via Spring Serve. It’s as simple as copying and pasting your URL ad tags in the MAZ dashboard under App CreatorAds, and OTT Ads. With SpringServe Ad Integration all - Pre, Mid, and Post rolls Ads will work.

Ad tags are URLs that tell a video player where to request video ads and how to display those ads in the player (in this case, MAZ). Ad tags typically have a few constant components and some metadata (known as macros) that provides additional context to the request being made.


Create an ad tag URL through your SpringServe console. Please see SpringServe documentation for additional info. Once you have created ad tag URLs, you'll need to add them in the respective fields for the video ad settings in your MAZ Dashboard. These ad tags will be passed as-is for each platform, meaning calls are made to the URL as is.



Schedule ad breaks without VMAP

Now you can play mid-roll ads in the videos at the pre-defined intervals by selecting any one of these options considering that the ad tag URL provided by you should be a simple VAST tag without any pre-rolls, mid-rolls or post-rolls.

  • Make an ad call every X minutes - With this option, the mid-roll ads will play within the videos every X minutes (value should be greater than ZERO)

Example - If you set it to 5 minutes, then the mid-roll ad will play after every 5 minutes.

  • Make ad calls at cue points in your source feeds - With this option, the ads will play at the defined cue points in your video and will be picked from the MRSS feed
    (example - cuepoints, jwplayer:cuepoints, etc.)

<cuepoints>01:00:00.00, 01:03:00.00, 01:06:00.00, 01:08:00.00, 01:10:00.00</cuepoints>

If you are using JW Player for your content then the cue points should look like below for your JW Player MRSS:

<jwplayer:cuepoints>00:05:22.00, 00:10:20.00, 00:14:50.00<jwplayer:cuepoints/>


Sample MRSS for CuePoints:

<rss xmlns:media="" version="2.0">
<title>Home video feed</title>
<description>Some description text for the feed</description>
<lastBuildDate>Mon, 23 Nov 2015 11:52:32 ­0800</lastBuildDate>
<title>A BIG Title for your Video</title>
<description> Description of the video </description>
<pubDate>Mon, 23 Nov 2015 09:29:47 ­0800</pubDate>
<guid isPermaLink="false">9677095935</guid>
<cuepoints>01:00:00.00, 01:03:00.00, 01:06:00.00, 01:08:00.00, 01:10:00.00</cuepoints>
<media:content duration="36777" medium="video" type="application/x-mpegURL" url=""/>
<media:title>Media Title</media:title>
<media:thumbnail url=""/>
<media:subTitle href=""/>


Sample JW Player MRSS for CuePoints:

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:media="" xmlns:jwplayer="">
<title>Cue Points for JW player</title>
<description>Items with and without cue points</description>
<jwplayer:link rel="first" href=";internal=false&amp;page_offset=1&amp;page_limit=500"/>
<jwplayer:link rel="last" href=";internal=false&amp;page_offset=1&amp;page_limit=500"/>
<title>This is the Video Title/title>
<description>This is a big Video</description>
<pubDate>Thu, 30 Apr 2020 16:47:04 -0000</pubDate>
<guid isPermaLink="false">seNHw4m2</guid>
<enclosure url="" type="video/mp4" length="267"/>
<media:content url="" medium="video" type="application/" duration="266"/>
<media:content url="" medium="video" type="video/mp4" duration="267" width="320" height="160" fileSize="13570895"/>
<media:content url="" medium="video" type="video/mp4" duration="267" width="480" height="240" fileSize="20267446"/>
<media:content url="" medium="video" type="video/mp4" duration="267" width="1280" height="640" fileSize="56991682"/>
<media:content url="" medium="video" type="audio/mp4" duration="267" fileSize="3778566"/>
<media:content url="" medium="video" type="video/mp4" duration="267" width="1920" height="960" fileSize="99767487"/>
<media:content url="" medium="video" type="video/mp4" duration="267" width="640" height="320" fileSize="22236099"/>
<media:content url="" medium="video" type="video/mp4" duration="267" width="960" height="480" fileSize="38104824"/>
<media:thumbnail url="" width="720" />
<jwplayer:track file="" kind="thumbnails"/>
<jwplayer:cuepoints>00:02:00.00, 00:04:00.00, 00:06:00.00, 00:08:00.00, 00:10:00.00</jwplayer:cuepoints>


Please note: Both "Set request frequency" and "Schedule ad breaks without VMAP" settings will work in conjunction.

For example, if you choose to play an ad every 2nd video and you also choose to play the ad at every 3 minutes, the final ad will be played in every 2nd video at 3 minutes intervals. This applies to the cue points ad break as well. 


To begin using KVPs with MAZ, you will need to set up your targeting tags in the MAZ dashboard and in the SpringServe console. MAZ will pick up the values within designated tags from your MRSS feed and pass them to SpringServe for targeted ads.

Please Note: MAZ now supports the passing of various SpringServe macros dynamically in addition to KVPs(if added).

Learn more about KVPs here!


Automated Macros

MAZ will generate Macros and insert them into ad requests dynamically. Each of the following macros should NOT be included in your ad tag.  

  • w - It is size of the player width as per current orientation.
  • h - It is size of the player height as per current orientation.
  • cb - Cache buster. It is a random number to prevent caching.
  • ua - It is a user agent string.
  • desc - It is description of video.
  • dur - It is video duration length in seconds
  • ap - When player set to autoplay
  • placement - Placement of video
  • device_make - Device make : Samsung or Apple
  • device_model - A devices model
  • app_bundle
  • app_name - Name of the app
  • app_store_url - URL of App Store
  • did - User device id for all device types
  • mid - Media id from item feed

  • cid - Content id from item feed
  • vt - Encoded video title.
  • vid - Video id from item feed
  • v_url - Video url. This is content url from item feed
  • gdpr - If GDPR consent is available for an app
  • us_privacy - If CCPA is available for an app
  • coppa - A flag indicating traffic that is subject to the Children's Online Privacy Protection Act of the United States.
  • content_id - Item id from item feed
  • content_title - Encoded item title

Mobile only : 

  • lat - User latitude 
  • lon - User longitude 

Roku only : 

  • ip - Public ip address of the device 

CTV only :

  • brand_name - Device brand name.

Important Note:

With the release of iOS 14 and tvOS 14, Apple has introduced the AppTrackingTransparency framework. As per Apple's new guidelines, apps will need to request permission to track the user and access the device’s advertising identifier to display personalized ads.

Due to this, if your MAZ app is already on the Apple App Store and you decide to turn on or turn off ads on the MAZ dashboard, an app update will be required for iOS/tvOS apps to comply with the new guidelines.

After enabling or disabling ads on the MAZ Dashboard, please write to us at to request an app update for your iOS/tvOS app.