Moloco playable specs at a glance
| File format | A single .html or .htm file, all assets inlined as data URIs. No ZIP. |
|---|---|
| Max file size | Less than 5 MB (the HTML file itself) |
| MRAID | Not allowed. The uploader rejects files that include mraid.js. |
| CTA call | FbPlayableAd.onCTAClick(); (no arguments) |
| External requests | None. No XMLHttpRequest, HTTP requests or dynamic loading. |
| Redirects | No JavaScript redirects |
| Orientation | Portrait and landscape; responsive across phones and tablets |
| Sound | You choose in Ads Manager whether audio can start before the first tap |
| Formats | Standalone playable, or interactive end card (IEC) after a video |
| Testing | Ads Manager preview (a pop-up confirms the CTA works) and the Moloco Creative Lab app |
| Review | 1–3 business days at Moloco, then each ad exchange can review separately |
Required code
Moloco uses Meta's playable call, so there's no script to include. Wire every install button to it:
installButton.addEventListener("click", function () {
if (typeof FbPlayableAd !== "undefined") {
FbPlayableAd.onCTAClick();
}
});
That's the only required call. Before uploading, search the build for XMLHttpRequest, fetch(, mraid and http. Moloco's uploader rejects the file if any network code is left in, even code that never runs.
Standalone playable or interactive end card
- Standalone playable: only the interactive demo. Upload it under the HTML (Playable) tab.
- Interactive end card (IEC): a video of the app plays first, then the playable. Upload it as a Playable end card under Videos.
Both use the same file spec. Moloco buys inventory across many third-party exchanges, so one creative can show up in a lot of apps. That's also why a creative can be approved by Moloco and still be marked Limited when one exchange rejects it.
Moloco vs. Meta
Moloco's spec is close to Meta's: one inlined HTML file, FbPlayableAd.onCTAClick(), no MRAID, no network calls. They still need separate builds: Moloco doesn't accept a ZIP and wants landscape support, while Meta is portrait-only.
Some tool docs list Moloco as “2 MB HTML / 5 MB ZIP”. Moloco's current guide says one HTML file under 5 MB and no ZIP.
How to test a Moloco playable
- Upload in Moloco Ads Manager and open the preview. Tap the install button: a pop-up saying the action is working confirms the CTA call.
- Install the Moloco Creative Lab app (iOS, Android), sign in with your Ads Manager account and play it in Moloco's SDK with the event log open.
Why Moloco rejects playables
- The file contains
XMLHttpRequest,mraid.js, an external reference or a JavaScript redirect. - It's a ZIP, or the HTML is 5 MB or more.
- The install button doesn't call
FbPlayableAd.onCTAClick(), so the preview pop-up never appears. - An exchange rejects it (status Limited) for file size, quality, the click URL, a restricted app category or the wrong language for the country.
- Content policy: buttons disguised as system UI, fake OS alerts or auto-download on click.
Common questions
What is the file size limit for Moloco playable ads?
Less than 5 MB for the single HTML file, with every asset inlined as data URIs.
Does Moloco accept ZIP playables?
No. Moloco's creative guide says the ad file must not be compressed into a ZIP. Upload one HTML file.
What is the CTA call for Moloco playables?
FbPlayableAd.onCTAClick(), with no arguments. It's the same call Meta uses.
Do Moloco playables use MRAID?
No. The playable must not include mraid.js; the uploader shows an error if it does.
How long does Moloco take to review a playable?
One to three business days. After Moloco approves it, each ad exchange can still review it separately.
How do I test a Moloco playable?
Tap the CTA in the Moloco Ads Manager preview and look for the pop-up confirming the action works, then play it on a phone in Moloco's Creative Lab app.
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.