Varrando player offers 2 choices for running ads:
- Varrando Engine
- IMA SDK
We have built our proprietary engine in an attempt to fill the gaps and become IAB compliant. There are significant differences between our engine and anything found on the market.
In this article, we will compare Varrando Engine against the most popular engine on the market: IMA SDK. Both libraries are closed source.
1. Preloading Ads
Preloading ads VMAP / Map and VAST tags is of great importance for overall user experience. Ideally, ad requests should be fast. Practically, this is not the truth. Considering that a VAST response may include a redirect to yet another ad-server, it may take a considerable amount of time. Varrando was particularly focused on addressing this.
Varrando Engine preloads everything:
- MAP / VMAP
- Pre-roll ads
- Mid-roll ads
- Post-roll ads
IMA has limited support: natively, they only preload mid-roll ads. In addition to this, our wrapper library (over IMA) can be configured to preload VMAP / Map as well.
2. Controlling Ads
There is still a long way from loading ads to actually delivering the impression. Whole process may take an insane amount of time. We are recording waiting times of more than 30 seconds. The guilty party is, mostly, VPAID ad units that are trying to backfill inventory. They can take forever.
Varrando Engine has implemented several timeout strategies. When things are taking too long, we return the viewer back to content. The ad may continue to load its assets, and it may even start later. Everything controllable via options. When the engine decides that things are not working well, it will remove the ad from the scene.
We have tried to achieve the same level of service around IMA SDK. It was not possible. We can’t prevent an ad from running once it has loaded. The ad will control everything. For instance, publishers may desire to prevent an ad from starting on post-roll, if it takes more than 5 seconds to start. There are many important things on post-roll: presenting playlist items, auto-playing the next item, showing share options, etc. But not when running ads with IMA SDK. You can’t stop / prevent the ad. You can try, but you will end up having an ad running invisible overlapping the sound of the content.
IMA position is very clear. They discourage attempts that cause the ad not to play in the regular workflow. Natively, they provide 2 options:
- A request timeout which cannot be changed (8 seconds for first VAST request and 4 seconds for consecutive Wrapper requests)
- A creative load timeout which can be changed. If loading takes longer, the ad playback is canceled.
3. Ad Scheduling
A map is a schedule for one or more videos. Such maps may be defined using VMAP specifications, or using a custom format for use only with proprietary library. IMA supports DFP/AdSense’s playlist format and VMAP. Varrando Engine supports its own format and VMAP.
IMA is missing important features:
- VMAP-specific tracking events and error codes
- Percent based time offsets. This is a significant limitation when using multiple videos. The advertising setup is most of the time separate from content management, without any knowledge on content duration. This also prevents a good strategy of using mid-roll ads. We have addressed this limitation in our wrapper library.
- BreakType attribute. We believe in this feature, mostly, because we believe in a good user experience and premium video delivery. We always advise our clients to run a mix of linear and nonlinear ads. And rely on this attribute to satisfy this requirement.
- RepeatAfter attribute
Varrando Engine provides full support for VMAP. We advise to use our engine for broader compatibility across all ad networks worldwide.
You may read about IMA compatibility here.
4. Advanced Options
Varrando provides many advanced features on player level to use across all ad servers (run on stream, user frequency, waterfall and broadcast competition, etc.). IMA only supports DFP / AdSense special features that can be configured on ad-server side.
IMA supports an interesting feature – VPAID Mode, related to VPAID JS creatives. You can choose to:
- Run VPAID in a secure environment using an untrusted iframe and a video proxy object. This is a deviation from VPAID specifications and will not work with some VPAID creatives.
- Run VPAID according with IAB specifications, inside a friendly iframe.
- Disable VPAID creatives.
Varrando Engine does not support VPAID Mode for the time being. Upon feedback we may decide to add it to our technology stack.
5. A nonlinear may follow a pod of one or more linear ads
According to VAST specifications a nonlinear ad may follow after a pod of one or more linear ads. This is a very powerful feature, consolidating the linear ad impression. This feature is even more powerful when combined with “Skip Ads”. For both ad campaign and user experience. Even if linear ad is skipped, a nonlinear ad will provide the incentive to record the “click”action.
IMA does not support this feature. They can play either a linear or nonlinear. Never both.
Use Varrando Engine if you wish to support this wonderful requirement.
6. Ad Pods
They are quite popular and may be used to advertise longer content, to provide a backfill strategy, or to create a hands-on advertising campaign. E.g. one may define a pod of ads from 2 separate ad partners, aiming to improve fill rate.
IMA partially supports ad pods. We have encountered important omissions:
- A nonlinear will not follow a pod. Read above on this.
- IMA will skip the second ad in a pod when the first ad is nonlinear. This is not conforming with the VAST specifications. An important impression will be missed. Only linear ads should be considered for a pod. The nonlinear ad may be considered part of the buffet, or may run after the pod.
- IMA aggregates all standalone (VAST) Wrappers together, playing all their ads. This will prevent ad networks from using wrappers for backfill strategies. Interesting finding, DFP/AdSense is forcing IMA for backfill using a custom Extension element.
- IMA doesn’t provide fallback when a Wrapper in a pod returns with no ads, even if standalone ads are present in response and the Wrapper’s fallbackOnNoAd attribute is true. This will also prevent backfill strategies and will miss important impressions.
Varrando Engine offers a rich support for ad pods and backfill strategies. We do provide a two-fold fallback on no-ads:
- When a redirect returns with no ads (during loading sequence).
- When creatives can’t be played because of incompatible file types, early errors, etc. (during start sequence).
We recommend to use Varrando Engine for the broadest ad compatibility.
7. IMA issues
IMA SDK is a third-party proprietary library with specific issues and limitations. Therefore, Varrando has a limited control over its issues. We have encountered and reported several issues over the last months. And applied workarounds for most of them.
For instance, the entire ad schedule is destroyed when IMA throws NONLINEAR_DIMENSIONS_ERROR. That is, the remaining ads scheduled on mid-roll and post-roll will never run. This error occurs when dimensions of the ads container fall below the size of running ad (e.g. you may reproduce this by changing device’s orientation). We have found no workaround for this issue.
Varrando Engine has a flexible approach on running non-linear ads (and better in our opinion). Because we live a responsive world, we are resizing the nonlinear ads on the fly (while maintaining aspect ratio, of course!).
We have also encountered an IMA issue when the player is embedded using iframe, missing significant impressions on Firefox. Their support mentioned that embedding IMA in an iframe may not be a good idea. We advise our clients to use a script embed instead.
All video platforms should provide ways for effectively debugging issues in production. Varrando does so. We are watching for all possible errors, tracking down the progress on library level (including IMA), while also logging all kind of states and user behavior (i.e. drop-off rate).
Varrando opens a door for ad creativity and broader compatibility. We are not just throwing impressions like all the other engines on the market. Instead, we embrace the VAST standards, built for making video ads reliable and fun for everyone. The market is changing.
IMA SDK speaks the language of DFP/AdSense best. We recommend to use them when relying on DFP/AdSense’s special features (pods, user frequency, etc).
Use Varrando Engine for everything else. It provides the best fill rate, user experience, and compatibility on the market.
Varrando Engine can also run DFP ads when advanced DFP features are not used. We are working to achieve 100% compatibility with DFP/AdSense. But their documentation is not quite explicit on how to integrate their special features into another library.