Skip to content
bolt playables Back to site
  1. Home
  2. Playable ad specs
  3. Liftoff (Vungle)

liftoff playable ad specs.

Liftoff Accelerate takes a playable as a single HTML file or a ZIP, up to 5 MB. Liftoff hosts ZIP contents on its CDN, so assets can be separate files with relative paths. The install button calls mraid.open() with no URL (Liftoff adds the destination) or window.Liftoff.open(). Don't include a close button, and play sound only after a tap. Older Vungle playables used a different, postMessage-based spec, covered below.

Last checked October 16, 2026 against Liftoff Accelerate's and Liftoff Monetize (Vungle)'s help centers

Liftoff (Vungle) playable specs at a glance

File formatA single .html file, or a .zip with one folder of assets. In a ZIP, one HTML at the root; if there are several, one must be index.html.
Max file size5 MB for the HTML or ZIP upload
AssetsCan be separate files; Liftoff serves them from its CDN. Relative paths only (./img/logo.png), ASCII file names, case-sensitive.
MRAIDProvided by the environment. Wait for ready and check mraid.viewable. No iframes.
CTA callmraid.open(); with no URL, or window.Liftoff.open(); inside window.Liftoff.ready()Never window.location.
Close buttonDon't add one. Keep a 50×50 px area clear in both top corners.
SoundOnly after a tap or click. Audio on page load can get the creative rejected.
OrientationResponsive, portrait and landscape where possible. Served full screen at 320×480, 480×320, 768×1024 or 1024×768.
Where it runsFull-screen interstitials, and as an interactive end card after a video
TestingCreative QA and preview when you upload in Liftoff's Ads Manager. Content review usually within 24 hours.

Required code

Liftoff injects MRAID. Wait until it's ready, then wire the install button to mraid.open() without an argument. Liftoff intercepts the call and adds the store URL and tracking:

function start() {
  // build the scene, then:
  installButton.addEventListener("click", function () {
    mraid.open(); // no URL: Liftoff supplies it
  });
}

if (window.mraid) {
  if (mraid.getState() === "loading") {
    mraid.addEventListener("ready", start);
  } else {
    start();
  }
} else {
  start(); // plain browser
}

Liftoff's own API does the same job:

window.Liftoff.ready(function () {
  installButton.addEventListener("click", function () {
    window.Liftoff.open();
  });
});

Calling either before the API is ready causes unresponsive or unattributed clicks. Some exchanges don't fire viewableChange if the ad is already visible, so check mraid.viewable rather than waiting for the event.

Liftoff Accelerate vs. the old Vungle spec

Liftoff and Vungle merged, and their playable docs come in three flavors. Make sure you're reading the right one:

  • Liftoff Accelerate (current). For advertisers uploading in Liftoff's Ads Manager. Everything on this page above this section.
  • Vungle Adaptive Creative (older). For playables uploaded to Liftoff Direct (advertiser.vungle.com) and shown in the Vungle SDK. The file is ad.html or index.html in a flat ZIP, all files at the same level, under 5 MB, with every asset local and no mraid.js. The CTA is parent.postMessage('download', '*'), and a playable must also send parent.postMessage('complete', '*') once the player has seen most of it. Never fire both together. It also listens for ad-event-pause and ad-event-resume to pause audio, and supports the START_MUTED token. Test it with the Creative Verifier app.
  • Vungle Exchange (programmatic). For DSPs bidding MRAID 2.0 playables into Liftoff's exchange through OpenRTB, using mraid.open(url).

The two Vungle articles disagree on when to send complete: one says after 3 or more interactions, the other after 5 or more when there's no clear ending. Sending it at your end screen satisfies both.

Creative rules

  • Open the store only after a deliberate tap. No redirects on load or on a timer.
  • Keep a clear install button on screen the whole time, plus clear branding.
  • No fake notifications, system alerts or countdowns, no strobing buttons, no auto-download tricks.
  • Fonts default to the platform's (Roboto on Android, Helvetica Neue on iOS). Bundle your font if the look matters.
  • Expect small regulatory watermarks in the corners, and Liftoff's close button in the top corners.
  • Label AI-generated content when you upload.

How to test a Liftoff playable

Liftoff Accelerate has no standalone validator. Upload the file in Ads Manager (Creative Manager → Add). The Creative QA step scans it for a click event; if it can't find one, you click the install button yourself in the preview. Content review, when it applies, usually takes under 24 hours.

Why Liftoff rejects playables

  • Creative QA finds no click event: the install button doesn't call mraid.open() or Liftoff.open().
  • The CTA fires before the API is ready, so clicks don't register.
  • It uses window.location, or redirects without a tap.
  • Absolute asset paths or URLs, non-ASCII file names, a file-name case mismatch, or an iframe.
  • Sound plays on load.
  • The creative has its own close button.
  • The upload is over 5 MB.

Liftoff doesn't publish a rejection list; these come from its integration and creative guidelines.

Common questions

What is the file size limit for Liftoff playable ads?

5 MB for the HTML file or ZIP you upload to Liftoff Accelerate. The older Vungle Adaptive Creative spec also caps the ad at 5 MB.

Should Liftoff playables call mraid.open with a URL?

No. On Liftoff Accelerate, call mraid.open() with no argument, or window.Liftoff.open(). Liftoff intercepts the call and adds the destination URL. Never use window.location.

Are Vungle and Liftoff playable specs the same?

Not quite. Liftoff Accelerate uses MRAID with mraid.open() or Liftoff.open(). The older Vungle Adaptive Creative spec bans mraid.js and uses parent.postMessage('download', '*') and parent.postMessage('complete', '*') instead.

Can a Liftoff playable load files from outside the HTML?

Yes, from inside its own ZIP. Liftoff hosts ZIP contents on its CDN, so assets can be separate files referenced with relative paths. Absolute URLs aren't allowed.

Should a Liftoff playable have a close button?

No. Liftoff adds its own. Keep a 50 by 50 pixel area clear in both top corners.

How do I test a Vungle playable?

Install Liftoff's Creative Verifier app on a phone and load the ZIP from the phone's browser. It checks for index.html and the download postMessage. For Liftoff Accelerate, use the Creative QA and preview step in Ads Manager.

Sources

Networks change their specs without notice. These are the pages this summary was checked against. If anything here disagrees with them, follow the network.

  • Liftoff Accelerate: Interactive ad integration
  • Liftoff Accelerate: Creative guidelines
  • Liftoff Accelerate: Managing and uploading creatives in Ads Manager
  • Liftoff Accelerate: Ad formats
  • Liftoff Monetize: Adaptive Creative asset requirements
  • Liftoff Monetize: Dos and don'ts of Adaptive Creative
  • Liftoff Monetize: Test your playable with the Creative Verifier
  • Liftoff Monetize: HTML and MRAID creatives submission guidelines
skip the spec sheet.

We build custom playables and package them for every network on this list, ready to upload. Packaging is included in the price.

Get a quote

Specs by network

  • All networks compared
  • AppLovin
  • Meta (Facebook)
  • Google Ads
  • Unity Ads
  • Liftoff (Vungle)
  • Moloco
  • Mintegral
  • Chartboost
  • TikTok
  • Snapchat
  • Adikteev
bolt playables

Custom playable ads, built by the team that makes them. 7,000+ shipped for every major ad network.

[email protected] LinkedIn

Services

  • Custom playables
  • playable.ad soon

Studio

  • Why direct
  • Work
  • How it works
  • FAQ
  • Contact

Resources

  • Playable ad specs
  • Playable ad examples
  • What are playable ads
  • How to make a playable ad
  • MRAID explained
  • Interactive end cards
  • Video playables

Clients

  • Get started
  • Client sign in

Playable ad specs

  • AppLovin
  • Meta (Facebook)
  • Google Ads
  • Unity Ads
  • Liftoff (Vungle)
  • Moloco
  • Mintegral
  • Chartboost
  • TikTok
  • Snapchat
  • Adikteev

© Bolt Playables

  • Privacy
  • Terms