Mobile Rich Media Ad Interface Definitions (MRAID)

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.

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.

Back up a minute: 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.

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.

How are MRAID and ORMMA working together going forward?

The ORMMA group’s purpose is to support a standard API.  With the transition of the API project from ORMMA to MRAID, the ORMMA group’s focus now is on tools to support the IAB initiative. ORMMA participants are important contributors to MRAID, and intend for the ORMMA reference SDK and other output to be MRAID-compliant once the spec is completed; however, ORMMA remains independent of the IAB.  The IAB hopes that all the mobile rich media vendors will evolve their tools and SDKs to comply with the MRAID API.

While ORMMA’s draft API provided the starting point for MRAID, all participants on the IAB working group have an equal stake in the process and the outcome – no one party speaks with a louder voice in this consensus-based process. The working group has already identified issues and questions that we need to work through, and solutions may deviate from the current draft document.

So the working relationship going forward will be that the IAB will investigate and grow the standard using the entire working group. And ORMMA, closely following and contributing to the process, expects to upgrade and build open tools that support the full MRAID specification.

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?

The IAB working group currently includes representatives from:

24/7 Real Media, Inc.
Adobe Systems Inc.
CBS Interactive
Crisp Media
Dow Jones & Company
Goldspot Media

Microsoft Advertising
MobClix, A Velti Company
Mocean Mobile
NBC Universal Digital Media
New York Times Co.
Rhythm NewMedia
Time Inc.
Turner Broadcasting System, Inc.
The Weather Channel
Yahoo!, Inc.

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 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.

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.