A playable ad is one HTML file. Not a folder, not a build with sibling assets — one file, with the images, audio, and code inlined into it. Every network states a maximum size, and the number is smaller than people expect the first time.
What counts toward the cap
Everything inside the file, after the network's own compression. Base64 encoding — which is how your images end up inline — adds roughly a third to their byte size before any compression claws it back. A 900 KB texture atlas is not a 900 KB cost.
The practical consequence: the asset budget is the whole budget. Code is rarely what puts a playable over the line.
Where the size actually goes
- Textures. Almost always the largest share. Atlas aggressively, drop resolution further than feels comfortable, and prefer solid colour and gradients drawn in code over images.
- Audio. Often the easiest win. Most playables do not need music; a few short effects at a low bitrate will do.
- Fonts. A full webfont for six words of UI is waste. Subset it, or draw the text as part of an atlas.
- The engine runtime. Fixed cost, and the reason tools built for this job beat a general-purpose export.
Rejections that are not about size
Size is the cap people plan for. These are the ones that send a build back:
- No
mraid.jshandling, or a call to the network's close and install hooks that fires at the wrong moment. - External requests. The file must be self-contained. One stray font or analytics call to a CDN fails review.
- Load time on a mid-range Android. Under the cap and still too slow is a rejection.
- No clear call to action, or an end card that cannot be dismissed.
- Orientation. Locking to one and breaking in the other.
Test the file the network receives
Open the exported HTML directly, on a real mid-range phone, with the cache cleared. Not the editor preview, not a local dev server with a bundler in front of it — the single file, exactly as it will be served. Most surprises surface in the first ten seconds of that test.
This is what we do day to day — playable ad production at Factorial Studio.