Ad network export reference

Playable ad specs & export for 12 ad networks

Export HTML5 playable ads to 12 ad networks from a single editor, and interactive end cards to the 7 that take one (Unity, Vungle, Liftoff, Moloco, InMobi, Chartboost and Mintegral). Each network has its own file format, size limit and store-exit call. Every figure below comes from that network's own documentation, and each card opens the full spec page.

Two export formats

Networks fall into two groups by what the exporter ships. Single HTML exports pack everything (JavaScript, CSS and assets) into one self-contained file. ZIP exports produce a small archive laid out the way that network asks (typically index.html plus a companion script, and a config.json for TikTok and Pangle). You select the networks you want and click Export; each one gets its own file.

  • Single HTML: Unity Ads, AppLovin MAX, Chartboost, Moloco and InMobi
  • ZIP: Google Ads / AdMob, Meta (Facebook & Instagram), TikTok Ads, Mintegral, Vungle (Liftoff Monetize), Liftoff (Accelerate) and TikTok Ad Network (formerly Pangle)

File size limits

Most networks publish a 5 MB ceiling. Meta is the strict one: 2 MB HTML (5 MB ZIP). Chartboost publish no figure at all, and Playable Ads Maker applies its own ceiling there. Where our exporter builds below a network's published number it is a safety margin of ours, not the network's rule: AppLovin MAX publishes 5 MB and we build to 4 MB. The Export dialog shows a live size estimate and the Compress Assets option before you download. Every network side by side, with sources: playable ad size limits by network.

Open the editor to build your first playable.

Open editor

ZIP package

Google Ads / AdMob playable ad specs

ZIP

A ZIP (index.html + main.js) that follows Google's HTML5 playable spec, uploaded in Google Ads App campaigns for AdMob and Google inventory.

Not used — ExitApi5 MB

Meta (Facebook & Instagram) playable ad specs

ZIP

A ZIP for Meta Ads Manager, covering Facebook and Instagram placements. The index.html inside it has to stay under 2 MB.

Must not require mraid.js2 MB HTML (5 MB ZIP)

TikTok Ads playable ad specs

ZIP

A ZIP (index.html + main.js + config.json) per TikTok's playable specification, run in Smart+ App Promotion campaigns in TikTok Ads Manager.

Not used — TikTok playable SDK5 MB

Mintegral playable ad specs

ZIP

Asia-Pacific-focused in-app DSP with global reach. The playable uploads as a ZIP with index.html in the Mintegral dashboard; it takes interactive end cards too.

Not used — Mintegral JS API5 MB

Vungle (Liftoff Monetize) playable ad specs

ZIP

In-app video and playable network operated by Liftoff (Liftoff Monetize). Exports a ZIP with ad.html at its root, exiting through Vungle's own download message.

MRAID 2.05 MB

Liftoff (Accelerate) playable ad specs

ZIP

Performance UA platform (Liftoff Accelerate) for mobile games and apps. The playable uploads as a ZIP and exits with Liftoff.open() once MRAID reports it ready and on screen.

MRAID (ready + viewable)5 MB

TikTok Ad Network (formerly Pangle) playable ad specs

ZIP

The TikTok Ad Network (formerly Pangle): TikTok's partner-app network, bought in TikTok Ads Manager. Takes the same ZIP as TikTok Ads.

Not used — TikTok playable SDK5 MB

What MRAID is, and which networks use it

MRAID (Mobile Rich Media Ad Interface Definitions) is the IAB standard that lets a playable talk to the app hosting it: viewability, container state and the store redirect through mraid.open(). Unity Ads, AppLovin MAX, Chartboost, InMobi and Vungle (Liftoff Monetize) require it. Meta (Facebook & Instagram), Moloco, TikTok Ads and TikTok Ad Network (formerly Pangle) document that a playable must not include mraid.js, and Google Ads / AdMob and Mintegral use their own exit call instead. On the MRAID networks, the exported HTML from Playable Ads Maker uses MRAID 3.0 where the placement provides it and 2.0 where it does not, deciding at ad-serve time rather than at export time; on the others it wires that network's own call. You do not pick a version or add anything by hand.

Uploading to each network

After export, download the file for each network. Each package is self-contained and goes directly into the network's creative upload interface, with no renaming or code changes. For ZIP networks, upload the whole archive (do not unzip it before uploading).

  • Google Ads / AdMob: upload the ZIP as an HTML5 asset in an App campaign
  • Meta (Facebook/Instagram): upload the ZIP as a Playable ad creative in Meta Ads Manager
  • TikTok Ads: upload the ZIP in TikTok Ads Manager under Playable Ads
  • Unity / AppLovin / Chartboost: upload the single HTML file in the respective network dashboard

Questions about playable ad specs by network

Which ad networks accept a single HTML file?

Unity Ads, AppLovin MAX, Chartboost, InMobi, Vungle (Liftoff Monetize), Meta (Facebook & Instagram), Moloco, Mintegral and Liftoff (Accelerate) accept a single self-contained .html file (Vungle (Liftoff Monetize), Meta (Facebook & Instagram), Mintegral and Liftoff (Accelerate) take a ZIP as well). Google Ads / AdMob, TikTok Ads and TikTok Ad Network (formerly Pangle) require a ZIP. Moloco is the one that documents the file must not be zipped at all.

Which ad networks need MRAID?

Unity Ads, AppLovin MAX, Chartboost, InMobi and Vungle (Liftoff Monetize) expect a <script src="mraid.js"> tag and the store exit on mraid.open(). Liftoff (Accelerate) runs MRAID (ready + viewable) without requiring the tag. Meta (Facebook & Instagram), Moloco, TikTok Ads and TikTok Ad Network (formerly Pangle) document that a playable must not include mraid.js. Google Ads / AdMob and Mintegral do not use MRAID and have their own exit call instead.

What is the Meta playable ad size limit?

2 MB HTML (5 MB ZIP). Meta accepts a ZIP of up to 5 MB, but the index.html inside it must stay under 2 MB, the strictest published figure among the 12 networks. Playable Ads Maker builds Meta exports to 2 MB.

Do I need a separate file for each ad network?

Yes. The 12 networks use 7 different store-exit calls (mraid.open(), parent.postMessage("download"), ExitApi.exit(), FbPlayableAd.onCTAClick(), window.install(), window.openAppStore() and Liftoff.open() / mraid.open()) and two packaging shapes, so a file built for one is usually the wrong file for another. Playable Ads Maker builds each network's version from the same project at export.

Build once, export to 12 networks

Design the playable ad or end card once. At export you get a separate file for each network you run on, built to that network's spec, with no code to write.

Open editor

What are playable ads? · Spec checker · How-to Guide · Pricing · Documentation · Blog