Skip to content

Free tools · No account

Check your playable before the network does

Drop an HTML5 or ZIP playable and see, network by network, whether it passes the size limit, packaging, MRAID and store-call rules, with what to change when it doesn’t.

  • Same rules as our export
  • Files never stored
  • 9 ad networks

merge-garden.html

3.1 MB · single HTML · checked for 9 networks

2 fail · 1 warn
  • AppLovin3.1 MB of 5 MB · MRAID ready gate
  • Unity AdsWaits for viewable · mraid.open()
  • Meta3.1 MB is over the 2 MB limit
  • Google AdsShip it as a ZIP with index.html
  • TikTokNo window.openAppStore() call
Example report. Each failed check comes with what to change.

What the playable ad validator checks

Each rule runs once per network, because networks disagree: a file that is right for Meta is wrong for AppLovin. The rules are the ones our own export is built to pass.

  1. 01

    File size

    Against each network’s limit: 2 MB for Meta, 5 MB for the rest. A ZIP checked for a single-file network is sized as one HTML file with its assets inlined, which adds about a third to each asset.

  2. 02

    Packaging

    One HTML file for AppLovin, Unity, ironSource, Meta and Moloco. A ZIP with the right entry file for the others: index.html for Google, index.html and config.json for TikTok, ad.html for Liftoff, name/name.html for Mintegral.

  3. 03

    mraid.js

    Present where the network serves MRAID (AppLovin, Unity, ironSource), absent where it’s rejected (Meta, Moloco, TikTok).

  4. 04

    Start gate

    On MRAID networks the game should wait for MRAID’s ready event and for the ad to be viewable. Unity requires the viewable part.

  5. 05

    Store call

    The install button has to use the network’s own call: mraid.open(), dapi.openStoreUrl(), FbPlayableAd.onCTAClick(), ExitApi.exit(), openAppStore(), window.install() or a postMessage.

  6. 06

    External requests

    Scripts, stylesheets, fonts, images or fetch calls to other servers, and libraries loaded from a CDN instead of inlined. Ad web views block them and networks reject the ad.

  7. 07

    Network extras

    Google’s exitapi.js and ad.orientation meta tag, Mintegral’s gameEnd() call, Liftoff’s "complete" message when the game ends.

  8. 08

    Phone basics

    A viewport meta tag, a layout that follows resize and rotation, sound that waits for a tap, no store redirect on a timer and no alert() dialogs.

Playable ad specs for nine ad networks

Size limit, file layout, whether mraid.js belongs in the file and how the install button reaches the store. One page per network.

Guides and comparisons

Questions about the tools

Skip the fixes: build it right the first time.

Paste your store link. Playbaker builds the playable and exports a file per network that passes these checks.