Skip to content
bolt playables Back to site
  1. Home
  2. Playable ad specs
  3. AppLovin

applovin playable ad specs.

AppLovin takes a playable as one HTML file of 5 MB or less, with every image, sound and font embedded as base64 (or base122) and no network calls. It must support MRAID 2.0, wait for MRAID's ready event, and use mraid.open() for the click-through. It must work in portrait and landscape, keep sound muted until the first tap, and never send the player to the store on the first tap. Test it in AppLovin Playable Preview.

Last checked October 16, 2026 against AppLovin's creative specs and Playable Preview

AppLovin playable specs at a glance

File formatOne .html file. No ZIP.
Max file size5 MB or smaller
AssetsAll embedded as base64 or base122. External resources are prohibited.
External requestsNone. External network calls are prohibited.
MRAIDMRAID 2.0. Wait for ready (or check mraid.getState() isn't loading) before any MRAID call or layout.
CTA callmraid.open(storeUrl);Anything else and AppLovin says the click-through fails.
OrientationMust work in both portrait and landscape
TimingThe ad's timer starts at the first interaction. No store redirect on the first tap, no auto-redirect.
SoundMuted until the first interaction. Stops when the ad closes or is hidden.
WebGLNeeds a fallback if WebGL fails to start or loses its context
AnalyticsOptional: window.ALPlayableAnalytics.trackEvent()
TestingAppLovin Playable Preview and the Playable Preview app

Required code

AppLovin's SDK provides the mraid object. Don't touch MRAID or size the layout until it's ready, then send every install tap through mraid.open():

var STORE_URL = /iPhone|iPad|iPod/.test(navigator.userAgent)
  ? "https://apps.apple.com/app/id000000000"
  : "https://play.google.com/store/apps/details?id=com.your.game";

function start() {
  layout();          // size for the current orientation
  installButton.addEventListener("click", function () {
    mraid.open(STORE_URL);
  });
}

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

AppLovin doesn't say whether to include a <script src="mraid.js"></script> tag. Most AppLovin playables include it in the head; the SDK supplies the file either way.

Gameplay and sound rules

  • The first tap plays. It must never open the store. Only a deliberate tap on an install button or the end screen should.
  • No auto-redirect. The playable can't open the store or a landing page on its own, on load or on a timer.
  • Timers start at the first interaction, not when the ad loads.
  • Sound stays muted until the first interaction, and stops when the ad is closed or hidden.
  • Load fast. AppLovin says the ad must become interactive “in a reasonable time frame”. Inlining everything helps; keep the first frame light.
  • WebGL needs a fallback. If the context fails or is lost, show a UI fallback instead of a black screen.

AppLovin's spec for programmatic buyers on its exchange adds two rules: AppLovin supplies the close button, so remove your own, and rewarded MRAID playables are capped at 30 seconds. Its advertiser docs don't repeat them, but building to them costs nothing.

Optional: AppLovin playable analytics

AppLovin can report how far players get if the playable sends events. It's optional; if you use it, DISPLAYED is required:

function track(name) {
  if (typeof window.ALPlayableAnalytics !== "undefined") {
    window.ALPlayableAnalytics.trackEvent(name);
  }
}

track("DISPLAYED");
track("CHALLENGE_STARTED");
track("CHALLENGE_PASS_50");
track("CHALLENGE_SOLVED");
track("CTA_CLICKED");
track("ENDCARD_SHOWN");

AppLovin says the events aren't meant for playables with fewer than three interactions or no challenge. COMPLETED is deprecated.

How to test an AppLovin playable

  1. Open AppLovin Playable Preview and upload the HTML file, or paste a URL to a hosted copy.
  2. Play it, rotate it with the Rotate control, and tap install. You should see “You have successfully clicked.”
  3. Scan the QR code with the Playable Preview app (iOS, Android) and play it on a real phone. Redirects there only confirm that one happens when expected.

Why AppLovin rejects playables

AppLovin reviews creatives automatically; a failing one shows Rejected in the Media Library and can't be added to a creative set. It doesn't publish a list of reasons, but its spec makes the usual ones clear:

  • Over 5 MB, or more than one file.
  • A web font, CDN library, analytics call or any other network request.
  • The CTA uses window.open or a link instead of mraid.open().
  • The first tap opens the store, or the ad redirects on its own.
  • Sound before the first tap.
  • Broken or cropped in one orientation.
  • MRAID calls before ready, which can leave a blank ad on some devices.
  • Misleading designs and other breaches of AppLovin's demand partner policies.

Common questions

What is the file size limit for AppLovin playable ads?

5 MB or smaller, for one HTML file with every asset embedded as base64 or base122.

Which MRAID version does AppLovin use?

MRAID 2.0. Wait for the ready event, or check that mraid.getState() isn't 'loading', before calling any MRAID method.

What is the CTA call for AppLovin playables?

mraid.open(). AppLovin says the click-through fails if a playable uses anything else.

Can an AppLovin playable be a ZIP?

No. AppLovin requires a single HTML file with every resource embedded.

Can an AppLovin playable open the store on the first tap?

No. The first tap must start play. AppLovin also bans auto-clicks and auto-redirects without user interaction.

How do I test an AppLovin playable?

Upload the HTML file to AppLovin Playable Preview at p.applov.in/playablePreview, tap the CTA to confirm the click registers, rotate it, then scan the QR code to play it in the Playable Preview app on a phone.

Is AppLovin now called Axon?

AppLovin's advertiser platform is branded Axon, with Axon Ads Manager for self-serve. The creative specs are the same and are still published on support.applovin.com.

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.

  • AppLovin: Creative specs and guidelines
  • AppLovin Playable Preview
  • AppLovin: Playable analytics integration
  • AppLovin: ORTB creative types (programmatic buyers)
  • AppLovin: Can't add a creative to a set
  • AppLovin: Demand partner policies
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