Mobile Rich Media Ad Interface Definitions (MRAID)

Executive Summary
What is MRAID?
Why is the IAB running the MRAID project?
What is an API, and how does it relate to an SDK?
So do I need to speak code?
Does MRAID limit innovation?
Who are the companies participating in drafting the MRAID spec?
How many versions of MRAID are there?
How is the IAB monitoring vendor compliance with MRAID?
How does MRAID relate to other IAB standards like SafeFrame, VAST, and VPAID?
I’ve built an MRAID ad. How do I make sure it works?
My company is an IAB member.  How do I get involved in MRAID?
What are the next steps for the MRAID project?


Executive Summary

As rich media display advertising in mobile applications and on the mobile web has become more popular over the last several years, various innovative companies have accepted the challenge of creating an ecosystem for mobile ad serving. Innovation in mobile rich media ad serving has led to many exciting possibilities for content publishers and advertisers, but it has also created inefficiencies that often delay and inhibit the optimal monetization of content.

Simplifying the process for designers of ad creatives significantly increases the likeliness that agencies will leverage mobile into their media buys. Advertisers want to review compelling creative, approve it and decide to buy a specific inventory of mobile media, regardless of which device platform, application, or technology is used to display the media.

The IAB created MRAID in order to help mobile rich media advertising scale more successfully. The two versions of MRAID (v1 and v2) enable a variety of mobile rich media ad types and provide clarity regarding which publishers and networks support which types of rich media ads.

The IAB released the original version of MRAID v2 in September, 2012. In April, 2013, the IAB issued a revised version of MRAID v2, which removes some areas of ambiguity in the specification to encourage greater consistency in implementation and provide greater stability for creators of MRAID ads.

In July 2014, IAB updated its compliance program for MRAID v2.0, establishing a first-ever objective test for MRAID, consisting of a suite of six test ads with documentation regarding the expected behavior for each of them.

What is MRAID?

MRAID, or “Mobile Rich Media Ad Interface Definitions” is the IAB Mobile Marketing Center of Excellence’s project to define a common API (Application Programming Interface) for mobile rich media ads that will run in mobile apps.  This is a standardized set of commands, designed to work with HTML5 and JavaScript, that developers creating rich media ads will use to communicate what those ads do (expand, resize, get access to device functionalities such as the accelerometer, etc) with the apps they are being served into.

Today different apps (incorporating different rich media vendors’ SDKs) have disparate requirements in terms of the APIs that creative developers must use to communicate with the app.  Therefore, the same creative has to have its code rewritten in order to run across different apps.  Developing a single API that diverse SDK vendors will support is the goal of MRAID.

This means that MRAID compliant rich media ads will run within MRAID compliant applications from any publisher using an MRAID compliant SDK. Put another way, agencies will be able to quickly and easily run creative across applications from different publishers.

Why is the IAB running the MRAID project?

In-application advertising is a fertile and growing space with strong interest from publishers and agencies alike.  A number of early entrants in the space have developed their own creative APIs, SDKs, and testing tools.  The range of options, while good for the pace of innovation, creates fragmentation and opportunities for friction between buyers and sellers.  Last year a consortium of companies started an industry effort to build a mobile rich media API.  Their open source project, called Open Rich Media for Mobile Advertising (ORMMA), made a good start on an API as well as an open source Software Developers Kit (SDK) and tools for testing for compliance with their spec.

However, in order to gain acceptance by a wide array of industry participants interested in mobile rich media, developing the interface specification within the IAB’s standards process is important.  Standardizing the disparate creative APIs in the market will help publishers have a consistent set of offerings for advertisers and will allow creative developers the opportunities for scale that a uniform specification provides.

The MRAID initiative is independent of ORMMA’s and other vendors’ efforts to build toolsets and rich media SDKs, but includes key participants from those efforts.

The industry derives other key benefits from the IAB Mobile Center spearheading MRAID:

  • Consistency with other standardized APIs.  The IAB released Video Player Ad Interface Definitions (VPAID) in 2009, a spec that informs how web video ad creative communicates with video players.  MRAID was originally described as “VPAID for mobile,” and having the IAB manage MRAID will help ensure that the final MRAID API is consistent with VPAID.
  • Ties to the agency community.  The IAB has strong ties with the agency community, both directly and through our relationship with the 4A’s.  Since agency creative developers are the ones who will be making use of any rich media API, this relationship will be useful for both feedback as we develop the standard and buy-in once it is released.

What is an API, and how does it relate to an SDK?

An API—Application Programming Interface—is a set of commands, the language that programmers or developers use to communicate with a specific piece of software or hardware.  In our case, the MRAID API will be a JavaScript-based interface that rich media ad creators can leverage to enable their ads to communicate with the apps in which they are running. The intent is that MRAID should be easy to understand and learn by anyone with HTML and JavaScript experience, and should feel familiar to developers accustomed to building online rich media ads.

A Software Developer’s Kit (SDK) is a pre-packaged piece of code that developers can incorporate into their work to avoid having to develop it from scratch.  In the case of mobile rich media advertising, mobile application developers can write the code for handling advertising on a custom basis, but it is far easier to incorporate an SDK from a rich media vendor to enable this functionality.  Ads themselves use an API to communicate with the SDK that is built into the app.

MRAID’s primary purpose is to make life easier for creators of rich media ads.  If an app is MRAID compliant, it means that regardless of the SDK built into it, it will understand and display correctly ads written using the MRAID API. The IAB and the MRAID working group will not be building an SDK or endorsing any particular group or vendor’s SDK; rather, MRAID will be the interface specification which vendors can incorporate into their advertising SDKs.

So do I need to speak code?

It’s up to you. The MRAID specification can be used either directly by creative developers or indirectly as part of a rich media toolset. Although MRAID is still a work in progress, some vendors have already started to align their APIs and toolsets with the draft MRAID spec in order to help smooth the transition for creative designers and agency teams once the standard is complete.

Does MRAID limit innovation?

Definitely not! Vendors and publishers are free to build their own creative extensions within their SDKs. The MRAID API forms a minimum set that all compliant SDKs must implement so that agencies can be sure MRAID compliant creative can run across publishers. There’s no limitation on vendors’ building on top of and extending beyond the foundational capabilities MRAID will establish.

Who are the companies participating in drafting the MRAID spec?

As of July 2014, the IAB MRAID working group includes representatives from:

4th Screen Advertising
Adobe Systems Inc.
ASE Labs
Conversant Media
GoldSpot Media
IM Services Group

Millennial Media
Mocean Mobile
Opera MediaWorks
Rhythm NewMedia
The New York Times Company
The Weather Channel
Time Inc.
Tremor Video
Turner Broadcast System

How many versions of MRAID are there?

The IAB currently supports two versions of MRAID:  v1 and v2.  These should be thought of as “basic” and “advanced.”  MRAID v1 supports expandable and interstitial ads, the workhorses of mobile rich media advertising.  MRAID v2 adds support for resizable ads (ads that change size with greater subtlety than expandables), and gives more features for controlling expandables as well.  MRAID v2 is backwards compatible with MRAID v1, so a v2-compliant SDK will run v1 ads with no errors.

Some publishers and ad networks want to support basic rich media functions, but not the added complexities of supporting resizable ads.  While having two versions of MRAID creates complexity in the marketplace, it also makes it very clear what kinds of ads a publisher or network or vendor will accept.

The IAB released clarifications to MRAID v2 on April 16, 2013.  This version of MRAID v2 removes ambiguities in the original version of the document (released in September 2012) which were making it difficult to ensure consistent ad behavior across SDKs.  This is not a different version of MRAID—rather it correctly captures behaviors the working group intended for MRAID v2 from the start.  Going forward this is the ONLY valid version of MRAID v2, and vendors claiming MRAID v2 compliance must be aligned with this specification.

Currently, there are no plans for an MRAID v3—the working group’s main goal now is driving adoption of, compliance with, and support for MRAID v2 (and v1).

How is the IAB monitoring vendor compliance with MRAID?

The IAB has set up a self-attestation-based compliance program for MRAID.  Vendors seeking to use the IAB’s MRAID v1 compliance seal must attest in writing to the IAB that they comply with that version of the specification.

For MRAID v2, the IAB has an objective compliance test for MRAID, consisting of six well-documented test ads developed by a coalition of members.  To qualify to display the MRAID v2 compliance seal a vendor must attest that it has successfully run all six of these test ads in its container, and that the ads behaved fully in keeping with the checklists outlined in the documentation.

More information on the MRAID compliance program is here.

How does MRAID relate to other IAB standards like SafeFrame, VAST, and VPAID?

The IAB has created a number of standards that simplify the creation of rich ads.  These include MRAID for ads in mobile applications, SafeFrame for the web, and the VSuite (VAST, VPAID, and VMAP) for video ads.  While it makes sense for these specifications to remain separate at present, as often happens in digital media, these parts of the landscape are increasingly converging.  While there is not a specific IAB project on this front at present, we expect that future versions of these specs will increasingly align with one another.  For a deeper IAB perspective on this topic, please see “Choosing Between VPAID, MRAID, and SafeFrame,” released in May 2014.

I’ve built an MRAID ad. How do I make sure it works?

A basic web-based tester for MRAID ads is available here: This open source project, still under development, should help ad creators ensure that they’ve implemented MRAID correctly in their ad.  Note that while this basic test can identify errors in using MRAID, ad creators are strongly recommended to also QA test MRAID ads with the actual apps/SDKs that will be running them.

My company is an IAB member.  How do I get involved in MRAID?

Join (or appoint someone on your team to join) the MRAID Working Group!  Send a note to the IAB’s Member Services team, or just email [email protected].

What are the next steps for the MRAID project?

With the compliance program in place, the MRAID group will be working mainly on driving awareness and adoption of MRAID as a top priority.

In addition, we are going to be looking more closely at options for making it easier to use MRAID and VPAID together, including possibly creating an IAB best practice on the topic.

As the IAB-4A’s-ANA joint Making Measurement Make Sense (3MS) initiative turns to establishing a viewable impression definition for mobile advertising, we may amend MRAID to create industry-standards ways for an ad to query the container that’s running it for ad counting and tracking purposes.  However, that conversation is tabled pending 3MS metrics definitions.