AppLovin requires playable ads to be a single HTML file of 5 MB or less, with every asset embedded (base64 or base122), MRAID 2.0 support, and mraid.open() for the click to the store. The playable has to work in portrait and landscape, stay muted until the first interaction, and never redirect on the first tap. Test it in AppLovin's Playable Preview web tool, then on a real device through the Playable Preview app, before you upload.
- One file, 5 MB at most, no external resources or network calls.
- Wait for MRAID to be ready before any MRAID call or layout decision. It's the most common reason AppLovin playables freeze.
- Click out through
mraid.open()only. The first tap plays; it doesn't redirect. - Violations can get assets blocked or the account banned, so test every build, not only the first.
- Genie Playable builds AppLovin-ready playables from your own game, packaged to these rules alongside nine other networks.
What are AppLovin's playable ad requirements in 2026?
| Requirement | AppLovin's rule |
|---|---|
| File size | 5 MB or less |
| Format | One single HTML file. Images, audio, fonts and scripts embedded as base64 or base122 |
| External resources | Not allowed. No external files, no network calls |
| MRAID | Must support MRAID 2.0. Wait for the ready event, or check that mraid.getState() isn't 'loading', before calling MRAID or deciding the layout |
| Click to store | mraid.open(). Other methods make the click-through fail |
| Orientation | Must work in portrait and landscape |
| Audio | Muted until the first interaction; stopped or muted when the ad closes or is hidden |
| Timer | Any in-ad timer starts only after the first interaction |
| Redirects | No store redirect on the first tap; no auto-click or auto-redirect |
| Loading | Must load and become interactive "in a reasonable time frame" |
| WebGL | AppLovin's older guidelines ask for a fallback UI if WebGL fails or loses context |
Why does AppLovin matter so much for playables?
AppLovin carries the largest share of playable ad traffic, around 59%, and most new playable experiments, according to AppAgent's analysis of Apptica data. For many small studios, AppLovin is the reason they need playables at all. Its Axon engine leans heavily on interactive creatives, and practitioners put the realistic floor for testing a campaign there at about $500 a day. At that budget, a broken playable is an expensive way to learn.
How do I test an AppLovin playable before uploading?
- 1Open the Playable Preview web tool at p.applov.in/playablePreview?create=1.
- 2Load your playable. Paste a URL to your hosted .html file, or drag and drop the file.
- 3Play it in the simulated device. Use the Rotate button to check both orientations.
- 4Tap your CTA. A working
mraid.open()shows "You have successfully clicked." - 5Scan the QR code at the bottom of the page with the Playable Preview app (AppLovin, iOS and Android). It runs the playable inside the AppLovin SDK on a real device, which is as close to production as you'll get before launch.
- 6Test on a low-end Android phone. Check load time, frame rate, and that sound stays off until you tap.
The tool also warns that playables should be "made using Runtime Analysis", or they may freeze and be disabled. AppLovin doesn't define the term publicly. If you see freezes in preview, check MRAID readiness first.
Why do AppLovin playables get rejected or disabled?
| Problem | Why it breaks | Fix |
|---|---|---|
| MRAID called before it's ready | The ad freezes or the layout is wrong | Listen for the MRAID ready event before any MRAID call |
| Over 5 MB | Rejected | Compress assets and aim for 2 to 3 MB, since base64 adds about a third |
| External or relative asset paths | Blank or broken assets inside the SDK | Inline everything into the single HTML file |
Click through window.open or a link | Click-through fails | Use mraid.open() |
| First tap opens the store, or an auto-redirect | Policy violation | Let the first tap play; show the CTA later |
| Sound autoplays | Policy violation | Start muted; unmute after interaction |
| Portrait-only layout | Broken on landscape placements | Responsive layout for both |
AppLovin's demand partner policies allow it to block assets or ban accounts for violations. Test every version.
What should I check before every AppLovin upload?
- Single .html file, 5 MB or less
- No external URLs in the code (search it for "http")
- MRAID ready check before any MRAID call
- CTA uses
mraid.open()and shows the success message in Playable Preview - First tap plays, no redirect
- Muted until the first interaction
- Works in both orientations (Rotate button)
- Tested on a device through the Playable Preview app
How do I ship AppLovin playables faster?
The build is rarely the hard part. The loop is. AppLovin creatives fatigue fast, so the studios that do well ship steady variations of a winning playable, such as a new hook, a different fail state or an event skin, instead of one hero file. Genie Playable builds AppLovin-ready playables from your own game, from a format that's already working, or from a brief, and lets your team make the next version from the last one. Try it free on your game.
FAQ
What is the AppLovin playable ad size limit?+
5 MB or less, as one single HTML file with every asset embedded.
Does AppLovin accept ZIP files for playables?+
No. AppLovin requires a single self-contained HTML file.
Which MRAID version does AppLovin use?+
MRAID 2.0. Your playable has to wait until MRAID is ready before using it.
How do I preview an AppLovin playable?+
Use the AppLovin Playable Preview web tool, then scan its QR code with the Playable Preview app to test on a real device.
Can I run the same playable on AppLovin and Meta?+
Not the same file. Meta requires the playable to work without mraid.js and uses FbPlayableAd.onCTAClick(). Our Playable ad specs by network covers the differences.

