Creating An Interactive Unskippable Interstitial Mobile Ad

here is the question by Original Poster (OP).

I’m quite new to AdOps. I need to create an interactive unskippable interstitial mobile ad like the one shown in the example. However I’m not advertising an app. I created the interactive game with javascript and react and it works by itself. How do I serve it as an ad?

I tried as an MRAID ad, but I can’t figure out how to make it 20s unskippable. Where is this defined?

I thought about creating a VAST 4.2 ad tag with a InteractiveCreativeFile as the MediaFile, but all the ad tag test webpages I found do not support this…Any help on this is highly appreciated!

Interactive video ad in mobile

Nbloglinks: To serve your interactive game as an unskippable interstitial mobile ad, you will need to use a mobile ad format that supports interactive and unskippable ads. One option is the MRAID (Mobile Rich Media Ad Interface Definitions) ad format, which is designed for rich media ads on mobile devices.

To make your MRAID ad unskippable, you will need to set the skipoffset parameter in the ad tag. The skipoffset parameter determines how many seconds into the ad the “skip” button will appear, and if you set it to a value greater than the duration of the ad (e.g. skipoffset=”21″ for a 20 second ad), the skip button will not be shown and the ad will be unskippable.

Here is an example of how you could set the skipoffset parameter in an MRAID ad tag:

<script src=""></script>
<div id="ad">
<!-- Ad content goes here -->
mraid.addEventListener("ready", function() {

You can also use a VAST (Video Ad Serving Template) ad tag to serve your interactive game as an ad. To do this, you will need to create a VAST 4.2 ad tag that includes an InteractiveCreativeFile element as the MediaFile for your ad. You can set the duration attribute of the Linear element to specify the length of the ad, and set the skipoffset attribute of the Linear element to make the ad unskippable.

Here is an example of how you could create a VAST 4.2 ad tag with an InteractiveCreativeFile element:

<VAST version="4.2">
<AdSystem>Ad Server</AdSystem>
<AdTitle>Interactive Ad</AdTitle>
<Description>An interactive ad built with JavaScript and React</Description>
<Linear duration="20" skipoffset="21">
<MediaFile id="interactive-ad" type="application/javascript" apiFramework="MRAID">

Once you have created your ad tag, you can use an ad server to serve the ad to mobile devices. There are many ad servers available that support MRAID and VAST ad formats, and you can choose the one that best meets your needs.

OP: Thanks a lot for your detailed answer!


This seems super interesting, but I’m unable to find any documentation on it. May I ask where you found this info? Is it implemented in most of the mraid.js libraries that are injected by the SDKs?

Do you know a way to test the ad tags? The ad tag testers known to me seem like they don’t support the InteractiveCreativeFile type. E.g. I get Linear assets were found in the VAST ad response, but none of them matched the video player's capabilities. from

Nbloglinks: To test an ad tag, you can use an ad tag testing tool or an ad server that allows you to preview the ad before it is served to live users. Here are a few options for ad tag testing tools:

  • IMA HTML5 VAST Validator: This tool, provided by Google, allows you to test VAST ad tags and see if they are compatible with the IMA HTML5 video player.
  • VAST Inspector: This tool, provided by Google, allows you to test VAST ad tags and see how they will render in different video players.
  • VAST Validator: This tool, provided by DoubleVerify, allows you to test VAST ad tags and see if they are properly formatted and comply with industry standards.

It’s worth noting that not all ad tag testing tools may support the InteractiveCreativeFile type, as it is a relatively new feature in the VAST specification. In general, it can be helpful to test your ad tags with multiple tools to ensure that they are working properly.

OP: Thanks again, I’ll try the mentioned tools.

From where did you get the line:

mraid.setSkipOffset(21); ?

I can’t seem to find this function anywhere?



The setSkipOffset method is not included in the latest version of mraid.js library. This method is not part of the official MRAID specification, and it is not supported by all MRAID implementations. that’s why i said it will help you to some extent. if you’re on latest version you can follow this guide :)-

Note : The discussion published here only contains relevant statement. for full details you can check the original thread here

if you like don’t forget to upvote our comment!

Disclaimer :

Your use of the site and the purchase of product is subject to our Terms of Service, Privacy Policy and Earning Disclaimer.

All content reviewed or sold by and its related companies are strictly for informational purposes only. While all attempts have been made to verify the accuracy of information provided on our website and within the publications, neither the authors nor the publishers are responsible for assuming liability for possible inaccuracies.

Every effort has been made to accurately represent this product and its potential.
This site and the products offered on this site are not associated, affiliated or endorsed by Facebook, Microsoft, Amazon, Google, or Yahoo. Nor have they been reviewed tested or certified by Facebook, Microsoft, Amazon, Google, or Yahoo.