Genie

Meta playable ad specs: Facebook, Instagram and Audience Network

Meta's 2026 playable ad rules for Facebook, Instagram and Audience Network: 5 MB HTML or ZIP, no mraid.js, FbPlayableAd.onCTAClick, placements and testing.

Yonathan Avivi
Yonathan Avivi, Head of Marketing, Genie Labs Technical review by Yotam Wolf, CTO·Published ·Last verified against Meta's official documentation·6 min read

Meta accepts playable ads up to 5 MB, as either a single HTML file with every asset embedded as data URIs or a ZIP with index.html at the root and no more than 100 files. The playable must work without mraid.js, should call FbPlayableAd.onCTAClick() for the click to the store, must be built in portrait and responsive, and can't make any external requests. Playables run across Facebook and Instagram Feed, Stories and Reels plus Audience Network, under the App promotion objective, and each one needs a companion video.

Key takeaways
  • 5 MB for both formats. The "2 MB for HTML" figure in many guides doesn't match Meta's own help page.
  • No mraid.js. This is the most common reason a playable built for AppLovin fails on Meta.
  • Click to store with FbPlayableAd.onCTAClick(). Moloco uses the same call.
  • Portrait first, responsive, no network requests, and a companion video.
  • Genie Playable exports a Meta-ready version of every playable from the same source as your AppLovin, Google and TikTok versions.
Short on time?Analyze this article and get the key conclusions

What are Meta's playable ad requirements?

RequirementMeta's rule
File size5 MB for a single HTML file; 5 MB for a ZIP
FormatSingle .html or .htm file with all assets as data URIs, or a ZIP with index.html at the root and assets in subfolders referenced by relative paths
ZIP file count100 files at most
MRAIDMust work without mraid.js or similar frameworks
Click to storeFbPlayableAd.onCTAClick() ("strongly recommended"). In a ZIP, call it once
OrientationBuilt in portrait, responsive
External requestsNone. No XMLHttpRequest, no dynamic asset loading, no JavaScript redirects
Companion videoRequired alongside the playable
ObjectiveApp promotion, with the app registered to the ad account
PlacementsFacebook and Instagram Feed, Stories, Reels, and Audience Network

Is the Meta playable limit 2 MB or 5 MB?

5 MB. Several widely shared spec guides say Meta allows 2 MB for an HTML file and 5 MB for a ZIP. Meta's help page says 5 MB for a single HTML file and 5 MB for a ZIP of up to 100 files. That said, aim for 2 to 3 MB anyway. Feed and Reels players scroll fast, and a playable that loads slowly loses them before the first tap. See why is my playable over 5 MB.

Why does my AppLovin playable fail on Meta?

Usually one of three things:

ProblemWhyFix
mraid.js includedAppLovin requires MRAID; Meta requires the playable to work without itRemove MRAID from the Meta build
Click uses mraid.open()Meta's click-out call is differentUse FbPlayableAd.onCTAClick()
Landscape-first layoutMeta playables are built in portraitPortrait-first, responsive layout

The mechanic, art and logic can be shared across networks. The packaging can't. That's why most teams keep one source and generate a separate build per network.

One source. A Meta build and nine more.Genie Playable packages each playable for Meta without mraid.js and with the right click-out call, next to your AppLovin, Google and TikTok versions.
Try it free on your game

How do I test a Meta playable before launch?

  1. 1Build the Meta version: single HTML with data URIs, or ZIP with index.html at the root.
  2. 2Search the code for "mraid" and "http". Neither should be there.
  3. 3Check that the CTA calls FbPlayableAd.onCTAClick().
  4. 4Upload in Ads Manager under an App promotion campaign and add the companion video.
  5. 5Use the preview in Ads Manager, and the "Refresh playable" button after each change.
  6. 6Preview on a real phone in Feed, Stories and Reels placements.

Are playables worth running on Meta?

It depends on your mix. Playables run at their biggest scale on in-app SDK networks like AppLovin, and one agency says the format's advantage "does not transfer" to Meta in the same way. The picture is moving, though. In September 2026, Matej Lancaric spotted a vertical playable running in Facebook Reels, the fastest-growing placement on the platform.

Our read: test playables on Meta once they're working on AppLovin, and build the Meta version from the same source so the test costs you packaging, not a rebuild.

What should I check before every Meta upload?

  • 5 MB or less, single HTML or ZIP with at most 100 files
  • index.html at the ZIP root, relative paths only
  • No mraid.js
  • FbPlayableAd.onCTAClick() on the CTA
  • No XMLHttpRequest, dynamic loading or JavaScript redirects
  • Portrait-first, responsive
  • Companion video ready
  • App registered to the ad account, App promotion objective

Where does Genie fit?

Genie Playable builds playables from your game (your APK or HTML build plus the assets, narrative and live events in Genie), from a format that's already working, or from a brief. Each one exports as a Meta-ready build and as versions for Google, TikTok, AppLovin, Unity Ads, Mintegral, Liftoff, Moloco, Snapchat and Digital Turbine, all from one source. Testing Meta becomes an export, not a new project. Try it free on your game.

FAQ

What is the maximum file size for Meta playable ads?+

5 MB, for both a single HTML file and a ZIP of up to 100 files.

Does Meta support MRAID playables?+

No. Meta requires playables to work without mraid.js or similar frameworks.

What CTA function do Meta playables use?+

FbPlayableAd.onCTAClick(). Meta strongly recommends it, and in a ZIP you call it once.

Where do Meta playable ads run?+

Facebook and Instagram Feed, Stories and Reels, and Audience Network, under the App promotion objective.

Do Meta playables need a video?+

Yes. Meta requires a companion video with the playable.

Sources

  1. Meta Business Help, playable ads
  2. Meta Business Help, playable ad requirements
  3. Moloco playable specs
  4. Matej Lancaric, Brutally Honest newsletter
  5. Sett, playable ad networks

Ready to ship playables from your game?

Thanks, we'll be in touch.

A Genie expert will reach out to set up your demo.

Tell us about your studio

We'll use this to route you to the right Genie expert.

By submitting this form, you agree to receive product information from Genie. See our Privacy Statement.