Platform
Chevron right icon
Mobile Rich Media Ad Interface Definitions (MRAID)

Mobile Rich Media Ad Interface Definitions (MRAID)

What is MRAID?

MRAID (Mobile Rich Media Ad Interface Definitions) is a technical standard published by the IAB Tech Lab that defines a common JavaScript API between rich media mobile ads and the app environments that host them. It gives creative developers a single set of methods and events for behaviors such as expanding a banner, resizing inline, checking viewability, and reading device or placement information, so a single ad build can run across many mobile ad networks and apps.

MRAID sits between the ad creative (typically HTML5 with JavaScript, and increasingly WebGL or model-viewer content) and the host app's WebView. Without a shared API, each mobile ad SDK would expose its own methods for the same actions, forcing creative teams to build and QA a separate version of every ad for each network.

How MRAID works

When an MRAID ad loads in a mobile WebView, the host app SDK injects an mraid.js object into the page. The creative queries and controls its environment through this object. A well-formed MRAID ad follows the lifecycle below.

  1. Load and ready. The creative waits for the ready event, which signals that the SDK has finished setup and the API is safe to call.
  2. State and placement checks. The creative reads the current state (default, loading, expanded, resized, or hidden) and placement type (inline or interstitial) to decide how to render.
  3. Interaction. Methods such as expand(), resize(), open(), and close() change how the ad presents inside the host app.
  4. Environment feedback. Events such as viewableChange, stateChange, sizeChange, and exposureChange notify the creative about visibility, orientation, or size changes so it can adapt playback.
  5. Cleanup. On close, the creative pauses timers, releases resources, and returns control to the host app.

Capabilities exposed by MRAID

MRAID groups its API into several capability areas. The items below describe the main surfaces that creatives interact with in current implementations.

  • Presentation control. Expand a banner into a larger overlay, resize inline within the containing view, or open an external URL in the system browser.
  • Viewability and exposure. Report whether the ad is on screen and how much of it is currently visible, aligned with industry viewability measurement.
  • Device and placement information. Read screen size, orientation, safe area, and placement type so the creative can lay out correctly across phones and tablets.
  • Video and audio coordination. Align with the app's native audio and video sessions through defined events, reducing conflicts with other media in the app.
  • Feature-gated device access. Newer versions expose permissioned actions such as adding calendar events, saving a picture, or asking for location, always subject to user consent.

Versions and evolution

MRAID has moved through several versions since its introduction, each expanding what a mobile creative can do inside a host app.

  • MRAID 1.0 (2011). Established the base concept of a shared JavaScript API for mobile rich media and defined core methods such as expand, close, and useCustomClose.
  • MRAID 2.0 (2012). Added common rich media capabilities including calendar event creation, storing pictures, playing inline video, and resizing to non-fullscreen sizes.
  • MRAID 3.0 (2018). Added viewability signals aligned with the IAB Open Measurement standards, richer audio and video events aligned with VAST, and updates to location and vibration handling.

Creatives typically feature-detect the reported version through getVersion() before invoking newer methods, so a single build can degrade gracefully on older SDKs.

MRAID and 3D advertising

Rich media formats on mobile are shifting toward interactive 3D and augmented reality experiences, and MRAID remains a common transport for this content on in-app inventory. A WebGL, model-viewer, or WebXR creative can run inside an MRAID container as long as the host WebView supports the underlying web features and the creative respects the ad size and viewability contract.

In this pattern, MRAID handles the ad-to-app contract (expansion, viewability, lifecycle, and close) while the 3D or AR runtime handles rendering. As mobile advertising adopts more capable formats, MRAID continues to sit alongside newer specifications rather than being replaced outright, making it a practical foundation for streamable 3D ads in existing mobile ad networks.

See also

Rich media ad — interactive mobile ad format that MRAID standardizes across networks and apps.

Playable ads — interactive mobile ad format frequently built on top of MRAID.

Streamable 3D ads — 3D ad creatives delivered on demand, often hosted in MRAID containers on mobile inventory.

WebGL — browser 3D graphics API used to render interactive 3D content inside MRAID creatives.

WebXR — web standard for AR and VR experiences that can be embedded in MRAID ad units on capable devices.

Additional resources