Creative Analytics

Playable Ad Specs: Every Major Network Compared (2026)

Eight ad networks still accept advertiser playable uploads in 2026, and only one pair of them takes the same file. The size cap is roughly 5 MB almost everywhere, but the packaging, the MRAID version and the function you call to fire the install are different on nearly every one, so a playable built for AppLovin will not click through on Mintegral, Google or TikTok without being rebuilt.

Three layered white spec cards with a lime 3D price tag and the headline Eight Networks, Seven Builds

If you have ever shipped a playable, you know the part nobody warns you about. The build is fine. The game loop works. Then you upload it to the second network and the CTA does nothing, or the file gets rejected for being 400 KB over, or the whole thing renders sideways because you forgot a config file.

This is not a skill problem. It is a spec problem. Playables are the only mobile creative format where the networks never agreed on a standard, so the same 30 seconds of gameplay has to be packaged seven different ways to run in eight different places.

It matters more now than it used to. Playables were 13.3% of mobile game ad impressions in 2025, up from 6.3% in 2024, according to Sensor Tower's State of Gaming 2026. The format roughly doubled its share in a year while static image share fell. Meanwhile Liftoff's 2025 Mobile Ad Creative Index found playables drive 8x the impression-to-install rate of non-playable formats for top-spending game advertisers, and 16x for other game advertisers.

So the volume is going up and the specs are still fragmented.

What this guide covers. The current playable spec for all eight networks that still take advertiser uploads, each pulled from that network's own documentation in September 2026: file format, size cap, how assets must be handled, the exact install call, the MRAID position and the published review time. Then four networks older roundups still list that no longer accept playable uploads, why one file cannot ship to all eight, when a playable is the wrong thing to build, and a checklist that keeps a single build portable across the packaging rules.

Who is writing it. Segwise is an AI creative analytics and creative generation platform for user acquisition and creative teams. It connects to the ad networks below, plays and tags playable ads at the element level rather than treating each one as a single line item, and helps teams turn the patterns that win into new playables, statics and video. That is why we live in these docs. It is also why there is a section further down arguing that plenty of teams should not build a playable at all.

What to know before you build

  • Eight networks currently accept advertiser playable uploads: AppLovin (Axon), Google Ads, Mintegral, Unity Ads, Meta, TikTok, Liftoff and Moloco.

  • Five incompatible install calls cover those eight. Unity, AppLovin and Liftoff all accept mraid.open(), though Liftoff lists its own Liftoff.open() first and takes mraid.open() with no argument. Google uses ExitApi.exit(), Meta and Moloco use FbPlayableAd.onCTAClick(), Mintegral uses window.install() and TikTok uses window.openAppStore().

  • Meta and Moloco are the only pair where one file can realistically satisfy both, since they share the same CTA function and the same single-file packaging.

  • ironSource Ads is gone. Unity stopped serving its direct demand campaigns on 30 April 2026, and the old advertiser playable docs at developers.is.com now redirect to Unity Grow. Chartboost, Digital Turbine and Snapchat are not upload channels either.

  • If you can only build for two, build for Google and AppLovin. They took 33.0% and 27.3% of mobile game ad impressions in 2025 respectively, 60.3% together (Sensor Tower), and AppLovin hosts 84% of new playable experiments (Apptica data via AppAgent). Below roughly $50k a month in UA spend, one build for AppLovin is usually the whole programme. Past about $250k a month, the impression shares above put the third and fourth builds at Mintegral and Unity, in that order. Both thresholds are our own rule of thumb, read off the share data and the production costs below, not a published benchmark.

  • The format mix is shifting under you. Static images fell from 48.9% of mobile game ad impressions by format in 2024 to 33.0% in 2025, with playables and video taking the difference (Sensor Tower).

The whole landscape in one table

Every value below comes from the network's own documentation, checked in September 2026. "Not published" means the network does not state it anywhere public, not that the rule does not exist.

Network

Package

Max file size

Install call

MRAID

Review time

AppLovin (Axon)

Single HTML file

5 MB

mraid.open()

2.0 required

Not published

Google Ads

ZIP, max 512 files

5 MB (5.2 MB for 320x480 and 480x320)

ExitApi.exit()

Not specified

Not published

Mintegral

ZIP (docs conflict, see below)

5 MB

window.install()

Not used

3 to 5 business days (QA)

Unity Ads

Single HTML file

5 MB

mraid.open()

3.0 required

Under 48 hours

Meta

Single HTML or ZIP

2 MB single HTML, 5 MB ZIP

FbPlayableAd.onCTAClick()

Not published

Not published

TikTok

ZIP with config.json

5 MB after compression

window.openAppStore()

"Should not" use mraid.js

Not published

Liftoff

Single HTML or ZIP

5 MB

Liftoff.open() or mraid.open()

Not published

About 24 hours

Moloco

Single HTML, no ZIP

Under 5 MB

FbPlayableAd.onCTAClick()

mraid.js banned

1 to 3 business days

The eight networks that take playable uploads in 2026

Scope: these are the networks with a public, self-serve or managed advertiser upload path for an HTML5 playable, documented in English. Regional networks such as Bigo Ads, Kwai and Huawei Ads are outside it. Order: the two networks with measured playable traffic share first, then the remaining in-app networks by Sensor Tower impression share, then the feed, social and programmatic channels Sensor Tower does not measure.

1. AppLovin (Axon), best for playable volume and fast iteration

AppLovin is where playable experimentation happens. Apptica data cited by AppAgent puts 59% of playable traffic and 84% of all new playable experiments on AppLovin, on its own tracked sample rather than the whole market. On overall volume it took 27.3% of mobile game ad impressions in 2025, up from 24.4% in 2024, second only to AdMob (Sensor Tower). Axon is AppLovin's advertising platform, renamed in October 2025. The support docs still brand as AppLovin.

The spec, from AppLovin's creative specs page:

  • Package: single HTML file

  • Max size: 5 MB

  • Assets: embedded as base64 or base122, external resources prohibited

  • Install call:mraid.open()

  • MRAID: v2.0 required

  • Orientation: both landscape and portrait

  • Review time: not published

Two rules cause most rejections here. Audio must stay muted until the first user interaction, and must stop or mute when the ad closes or becomes hidden. And you have to wait for the MRAID ready event, or confirm mraid.getState() is not loading, before calling any MRAID API or making layout decisions. Fire early and the click goes nowhere.

The base122 allowance is unusual. No other network on this list mentions it, and it buys you meaningful headroom against the 5 MB cap compared to base64.

2. Google Ads, best for reach when you already run app campaigns

Google's HTML5 playable asset is the odd one out, because it was built on the display ad pipeline rather than the in-app video pipeline. It is also the biggest single in-app destination by measured impression share. AdMob took 33.0% of mobile game ad impressions in 2025, the largest share of any network, though down from 36.0% in 2024 (Sensor Tower). Apptica puts 38% of playable traffic there (via AppAgent). Treat those playable traffic shares as directional rather than exhaustive. Apptica's 59% for AppLovin and 38% here come from its own tracked sample, and the two together leave almost no room for Mintegral, which is plainly a major playable destination on impression share.

From Google's HTML5 asset documentation:

  • Package: ZIP, maximum 512 files, up to 20 ZIPs per ad group

  • Max size: 5 MB, or 5.2 MB for interstitials at 320x480 and 480x320. Both pages are live, so budget for the lower number

  • Assets: relative paths only, with narrow exceptions for Google-hosted fonts, jQuery, GreenSock and CreateJS

  • Install call:ExitApi.exit()

  • MRAID: not specified, "or MRAID framework equivalent"

  • Orientation: declared in markup with <meta name="ad.orientation">

  • Review time: not published

The install call is ExitApi.exit(), and it needs the script tag written literally into the head of the document:

<script type="text/javascript" src="https://tpc.googlesyndication.com/pagead/gadgets/html5/api/exitapi.js"></script>

Google's instruction is to put that script in the <head> tag and then call ExitApi.exit(), for example as <a onclick="ExitApi.exit()">Learn more</a>. If you leave the script out entirely, Google adds its own Install button over your creative.

Google also wants orientation declared in markup, with <meta name="ad.orientation" content="portrait"> or landscape or portrait,landscape. Get it wrong or leave it out and the asset renders portrait only. Everything must load by relative path from inside the ZIP, with narrow exceptions for Google-hosted fonts, jQuery, GreenSock and CreateJS. Sound and video are supported, but sound should not be enabled before the user interacts with the playable.

Google's HTML5 troubleshooting page carries the rules that actually get assets disapproved. Frames are out: <frameset>, <frame> and <iframe> are all unsupported in HTML5 assets. Local storage is out too, though that rule sits on the main asset page rather than the troubleshooting one. And ExitAPI is not supported in Google Web Designer creatives at all, where you use the Tap Area component to assign the clickable area instead. That last one catches teams who prototype in Web Designer and then hand the file to an engineer who adds the exit script by the book.

Two white comparison cards splitting playable networks into single HTML file and ZIP bundle packaging

3. Mintegral, best for scaled gaming inventory outside the walled gardens

Mintegral is the fastest-growing network on this list, at 16.0% of mobile game ad impressions in 2025 against 11.5% in 2024 (Sensor Tower). It also has the most distinctive spec, because it does not use MRAID at all.

Mintegral's own docs hand the technical spec to Mindworks, its in-house creative platform. From the Mindworks playable testing guideline:

  • Package: ZIP, where the ZIP name, the assets folder name and the HTML name all match, and the HTML opens locally

  • Max size: 5 MB

  • Assets: everything other than JS and HTML converted to base64, no dynamic requests

  • Install call:window.install()

  • MRAID: not used

  • Orientation: both, with free rotation supported

  • Review time: 3 to 5 business days for QA

The API is a set of global functions rather than MRAID:

  • window.install && window.install(); for anything that sends the user to the store or a web page

  • window.gameReady && window.gameReady(); once loading finishes

  • window.gameEnd && window.gameEnd(); on a win or a loss

  • window.gameRetry && window.gameRetry(); only if a replay exists

Mintegral also calls two globals of its own if you expose them, gameStart() at the start and gameClose() at the end, and offers optional analytics through its HttpAPI.sendPoint() global, with a root-level action.json and a ceiling of five tracking points.

The creative must also work in both portrait and landscape, with free rotation supported. Do not add your own close button or your own loading screen, because Mintegral supplies both and adding yours causes a rejection. Do not override the global console method either, which the guideline notes can break the redirect and the close. The Mindworks guideline puts the QA process at 3 to 5 business days, the longest of the four networks on this list that publish a review time at all.

There is a live contradiction in Mintegral's own documentation worth flagging. The helpcenter asset specs page, updated 10 September 2026, says "HTML (single file)", while the Mindworks guideline it points to, via Mintegral's own Playable Test Guide, mandates the matched ZIP structure. The Mindworks guideline is the operative spec, since it is the one Mintegral's docs route you to and the one its testing tool is built around. Build the ZIP.

4. Unity Ads, best for the reference build you port everywhere else

Unity took 10.2% of mobile game ad impressions in 2025, down from 13.4% in 2024 (Sensor Tower), and its docs are the most explicit of the eight.

From Unity's playable specifications:

  • Package: single index.html, no external files or folders

  • Max size: 5 MB

  • Assets: all inlined, file minified

  • Install call:mraid.open()

  • MRAID: 3.0 required

  • Orientation: both portrait and landscape

  • Platforms: Android 4.4 and up, iOS 9.0 and up

  • Review time:usually under 48 hours

Unity is the only network on this list that requires MRAID 3.0. Everyone else who uses MRAID is on 2.0. If you have one build you plan to reuse, this is the version to target, since 3.0 is backward compatible in practice while the reverse is not.

The behavioural rules matter as much as the file rules. Do not start the content before the MRAID viewableChange event fires. Check mraid.isViewable(). Do not redirect to the app store automatically, meaning without explicit user action or a call to action. Do not block the close button. Network requests are out, and analytics calls are only allowed if they carry no user or device identifiers. Unity states review usually takes under 48 hours.

Unity also runs playables as end cards on video ads, documented for 15 to 60 second videos, under the same 5 MB and MRAID 3.0 rules.

5. Liftoff, best for teams that keep assets as files rather than inlining them

Liftoff, formerly Vungle, took 4.9% of mobile game ad impressions in 2025, down from 5.9% in 2024 (Sensor Tower), and it is the one network here that wants the opposite of everyone else's inlining rule.

From Liftoff's interactive ad integration docs:

  • Package: single HTML file, or a ZIP containing one folder with all assets

  • Max size: 5 MB

  • Assets: relative paths, so ./images/logo.png is correct and absolute URLs are banned

  • Install call:Liftoff.open(), or mraid.open() with no argument

  • MRAID: not published on the advertiser docs

  • Orientation: responsive by design, both where possible

  • Review time:usually within 24 hours

Liftoff also asks for progressive loading, with a bootstrap bundle of 10 to 20 KB that renders the first frame before the rest lazy-loads.

Clicks go through the global Liftoff.open() helper, or mraid.open() called with no argument, because Liftoff injects the destination URL itself. window.location is banned. The docs are explicit that calling either function before the API is ready causes unresponsive or unattributed clicks, and they publish the exact init pattern to avoid it.

Three layout rules worth building around. Iframes break the creative outright. A 50x50 pixel region in each top corner may be covered by the SDK close button, so keep those corners clear. And you must not draw a close button of your own, since Liftoff supplies it. Liftoff says visual QA is usually complete within 24 hours.

One caution on the size number. Liftoff's older Accelerate API v2 page still recommends under 700 KB, or 1 MB at most, for creatives without video, and under 5 MB for creatives with video. The newer Liftoff Creatives page gives a flat 5 MB for HTML. Both are live. The older figure reads as a performance recommendation rather than a hard cap, but if you are still on the Accelerate path it is the number to design against.

6. Meta, best for apps whose audience is not sitting in other games

Meta's playable has the tightest file budget of any network here, and the most restrictive campaign setup. It is the only one here that targets on a social graph rather than on gameplay behaviour, and the only one whose primary placement is its own feed rather than third-party apps, which is the reason to bother with it. Audience Network does place Meta demand in-app, so the distinction is about targeting signal, not inventory type. If your title indexes on broad demographics rather than on people already playing something else, Meta reaches an audience the gaming networks structurally cannot.

From Meta's playable ad documentation:

  • Package: single HTML file, or a ZIP of fewer than 100 files

  • Max size: 2 MB as a single HTML file, 5 MB as a ZIP

  • Install call:FbPlayableAd.onCTAClick(). Meta returns an explicit error if the function is missing

  • MRAID: not published

  • Also required: a lead-in video, uploaded separately

  • Objective: App Installs only

  • Review time: not published

JavaScript redirects to external links are rejected.

Two campaign-level constraints catch people out. Meta's playable requires a lead-in video, uploaded separately and attached to the creative, so the playable never runs alone. And App Installs is the only supported objective.

That 2 MB single-file cap is the real constraint. If you are inlining assets as base64, which inflates them by roughly a third, you will hit it fast. The ZIP route gives you 5 MB and up to 100 files, which is usually the better path for anything with more than a couple of scenes.

Note that Meta's detailed creative spec sits behind a login wall in the Business Help Center, so orientation, aspect ratio and lead-in video specs are worth checking in your own Ads Manager rather than taking from any third party.

7. TikTok, best for buying both feed and Pangle in-app inventory with one file

TikTok bans MRAID and replaces it with its own SDK, which makes it the least portable target on this list. It is also two products under one spec. TikTok Ad Network playables, the old Pangle, serve on third-party in-app inventory that is largely games. TikTok Playable Ads serve in the For You feed itself, on the App Promotion objective, and are only available in the upgraded Smart+ experience. Both take the same file, so the build question is one thing and the placement question is another.

From TikTok's playable ads documentation:

  • Package: ZIP with index.html in the first-level directory and a config.json alongside it

  • Max size: 5 MB after compression

  • Assets: no external network loading, no HTTP requests

  • Install call:window.openAppStore(), via TikTok's own SDK

  • MRAID: should not be used

  • Orientation: set in config.json, where 0 allows either, 1 is portrait only and 2 is landscape only

  • Also required: at least one video, image or carousel asset alongside the playable

  • Review time: not published

The SDK tag goes at the bottom of the body, before your own JavaScript:

<script src="https://sf16-muse-va.ibytedtos.com/obj/union-fe-nc-i18n/playable/sdk/playable-sdk.js"></script>

Then you call window.openAppStore();. TikTok handles the download and the page jump itself, so you never write that logic. The docs state plainly that playable materials should not be in mraid.js format, must not contain JS redirects, and must not make any HTTP requests.

Watch the casing on that URL. TikTok's main playable ads article renders the path with capitals, as Playable/sdk/Playable-sdk.js, which returns a 404. The lowercase path above is the one that resolves.

Like Meta, TikTok will not run a playable on its own. Each ad must include at least one video, image or carousel asset alongside the playable, with a recommended companion video of 10 to 25 seconds and a 30 second maximum. TikTok's guidance also asks that a user understand the gameplay within 2 seconds, and that an idle state auto-advances after 10 seconds without input.

8. Moloco, best for reusing a Meta build without rewriting it

Moloco's spec is the strictest interpretation of "one file, no dependencies" on this list, and it borrows Meta's API to get there. That combination makes it the cheapest second network to add if you already ship playables on Meta.

From Moloco's playable and interactive end card guide, updated 11 June 2026:

  • Package: single HTML5 file. ZIP files are explicitly rejected

  • Max size: under 5 MB

  • Assets: every asset, including sound and image, data-URI compressed before upload

  • Install call:FbPlayableAd.onCTAClick() with no parameters

  • MRAID:mraid.js banned, along with XMLHttpRequest, external references, dynamic asset loading and JavaScript redirects

  • Orientation: both portrait and landscape

  • Review time:one to three business days

The CTA is FbPlayableAd.onCTAClick() called with no parameters, the same function Meta requires. That makes Meta and Moloco the only pair on this list where one build has a realistic chance of working on both, provided you stay under Meta's 2 MB single-file ceiling.

Moloco also treats interactive end cards as the same asset class. A playable is the interactive demo alone, an IEC is a video ad followed by the interactive demo, and both carry the same technical spec. Creative review takes one to three business days, and Moloco publishes a "Limited" status for creatives that pass its own review but are still under exchange review or have been rejected downstream by one.

Four networks people still list that are not advertiser upload channels

Half the playable spec roundups online are two years stale. If your build list still includes these, cut them.

ironSource Ads. Dead as an advertiser channel, and still listed as a live platform in plenty of playable guides, including an older one of ours. Unity announced the sunset in March 2026, stopped new campaign and creative creation on 15 April 2026, stopped serving direct demand campaigns on 30 April 2026, and ended advertiser reporting access on 31 May 2026. LevelPlay mediation and the ironSource Exchange continue, but neither is a place an advertiser uploads a playable. The clearest proof is that developers.is.com, which hosted the ironSource playable guidelines, now redirects to Unity Grow.

Chartboost. Now positioned as an in-app monetization and programmatic platform for app developers rather than an advertiser tool. The self-serve advertiser docs are gone, and demand arrives through DSPs bidding into the Chartboost Exchange. Playable specs still exist there, but they are OpenRTB bid response contracts for DSPs, not an upload path for advertisers.

Digital Turbine / Fyber. Same situation. The playable documentation lives under demand-partner docs and describes bid-response requirements for DSPs, with a recommended 2 MB file size and MRAID 2.0 support, and a note that playables do not need to be MRAID at all. There is no advertiser creative upload flow for playables.

Snapchat. Snap's official ad format list covers Sponsored Snaps, image and video ads, Story Ads, Collection Ads, Commercials, AR Lenses and AR Filters. No playable format appears anywhere in Snap's own documentation. AR Lenses are the nearest interactive equivalent, and they are a completely different build.

Why one playable will never ship to all eight

Five white cards naming the install calls playable ad networks require, from mraid.open to openAppStore

The size caps converge at roughly 5 MB, which makes the networks look more aligned than they are. The install call is where they diverge, and it is not a detail you can abstract away cleanly.

Unity requires MRAID 3.0. AppLovin requires MRAID 2.0. Liftoff accepts mraid.open() but prefers its own Liftoff.open(). TikTok says materials should not be in mraid.js format and gives you its own SDK. Moloco bans mraid.js and asks for Meta's FbPlayableAd.onCTAClick(). Mintegral ignores MRAID entirely in favour of window.install(). Google wants a literal script tag in the head and ExitApi.exit().

That is five incompatible click mechanisms across eight networks, and Meta and Moloco are the only pair that can realistically ship the same file. Packaging then splits the field again: Google and TikTok demand a ZIP, Moloco forbids one, and Mintegral wants a ZIP whose name matches the folder and the HTML inside it.

So the same playable concept becomes seven builds, seven QA passes and eight review queues, the slowest of them documented at five business days. That is a large part of why playable output has stayed low relative to video even as the format's share of impressions doubled, though production cost and game-loop suitability matter too, as the next section covers. Industry-wide the ratio is about one playable for every 41 videos, with leading teams at one in 16, according to Sett Labs' Q4 2025 analysis built on AppMagic data. The same analysis found the top 20 grossing games ship a median of 64 new playables a month, which tells you what the gap costs the teams that cannot keep up.

Volume is climbing anyway. Global monthly new playable creatives went from under 1,000 in October 2023 to between 50,000 and 60,000 in October 2025 (Sett Labs).

When not to build a playable at all

Three numbered circles showing when not to build a playable ad: weak D7 ROAS, a loop too complex, a small UA budget

The spec table above is not an argument for building playables. Plenty of teams read a guide like this, budget for eight builds, and would have been better off putting the same money into video. Three situations where that is the case.

Your ROAS problem is downstream of the install. Liftoff's 2022 Index found playables had the lowest cost per install of any format at $1.98, and the weakest D7 ROAS at 6.48%, against 11.11% for banner, per a GameDev Reports summary of that year's data. The numbers are dated and the format has improved since, but the mechanism has not gone away. A playable pulls in people who wanted to play the demo, not necessarily people who wanted your game. If your monetisation depends on a narrow high-intent cohort, a cheaper install is not automatically a better one.

Your game does not have a loop that survives 30 seconds out of context. The formats that win as playables are the ones where a single mechanic is legible immediately. TikTok's own guidance asks that a user understand the gameplay within 2 seconds. A 4X strategy title or a narrative RPG usually cannot meet that bar honestly, and the common workaround, building a match-3 minigame that is not in the shipped game, buys installs that churn on day one.

You are under roughly $50k a month and have no in-house build capacity. External playable production runs $3,000 to $5,000 per creative with a two to four week turnaround, according to AppAgent's 2025 review, and that is one network's build. At that spend level the same budget buys a lot more tested video variants, and video is where your creative data will be anyway.

If none of those describe you, the spec table above is the job, and the next section is how to make it survive eight packagings.

A build checklist that survives repackaging

Radial diagram with One Build at the centre and five playable build rules radiating around it

You cannot write one file for eight networks. You can build so that repackaging is a config change rather than a rewrite. The following comes straight out of the specs above, not from general advice.

  1. Abstract the install call behind one function. Write a single fireCTA() in your codebase and swap its body per network build: mraid.open(), ExitApi.exit(), FbPlayableAd.onCTAClick(), window.install() or window.openAppStore(). Everything else in the game loop stays untouched.

  2. Budget for 2 MB, not 5 MB. Meta's single-file limit is 2 MB, and a 2 MB build clears all eight current specs, with Meta's single-file route sitting exactly at the limit. The exception is not one of the eight: it is Liftoff's legacy Accelerate path, which recommends staying under 700 KB, so treat that as a separate target if you still buy there.

  3. Keep assets in a folder during development and inline at build time. Liftoff wants relative paths. AppLovin, Unity, Moloco and Mintegral want everything inlined. A build step that can emit both saves you maintaining two source trees.

  4. Gate everything behind a ready check. Unity, AppLovin and Liftoff all reject or silently break on calls made before the container signals ready. Write the check once and keep it in every build.

  5. Never draw your own close button or loading screen. Mintegral supplies both and rejects creatives that add their own. Liftoff bans a close button in the creative. Unity rejects creatives that block the container's close button.

  6. Keep the top corners clear. Liftoff reserves 50x50 pixels in each top corner for the SDK close button.

  7. Start muted. AppLovin requires audio stay muted until first interaction. Google says sound should not be enabled before the user interacts.

  8. Build for both orientations by default. Unity, AppLovin, Moloco and Mintegral all require portrait and landscape. Google and TikTok let you declare a single orientation, in markup and in config.json respectively, and those are the only two places it is worth doing.

Where Segwise fits

Knowing the specs does not solve the harder half of the problem, which is knowing what to put inside the playable. Most teams pick the concept from whatever performed well last month in a video, then find out six weeks later whether it worked as a playable.

Segwise is an AI creative analytics and creative generation platform, and playables are one of the few places it does something structurally different. Its Creative Tagging Agent actually plays interactive playable ads and tags their elements, which makes it one of the few that can report on playable performance at the element level rather than treating the whole asset as one line item. Every tag maps to the performance metrics you already track, such as ROAS, CPA and IPM, so you can see which hook, which fail-state and which end-card treatment is carrying the install rate.

That tagging layer feeds the Creative Generation Agent, which helps teams turn winning patterns into finished statics, video and interactive playable ads, with a "why this ad" rationale attached to each suggestion and export in any aspect ratio the team needs. Generated ads are tagged and tracked automatically once they go live, so the next round is built on what the last one actually did.

It reads the data through no-code connectors to Meta, Google Ads, TikTok, Snapchat, AppLovin (Axon), Unity, Mintegral, Moloco, Liftoff, LinkedIn, Reddit, StackAdapt, Taboola, Outbrain, Tapjoy, Vibe and Bidease, plus the MMPs AppsFlyer, Adjust, Branch, Singular and Kochava. All eight of the networks in the spec table above are in that connector list, so the creative data you are reading and the places you ship playables overlap completely.

Build playables from your own performance data
Segwise plays and tags your playable ads, maps every element to the metrics you track, and helps you turn the winning patterns into new playables, statics and video

The bottom line

Playables are now a real share of mobile game impressions and a rounding error in most teams' creative output, and the gap between those two facts is mostly a packaging problem. Eight networks, five different install calls, two networks that publish an explicit MRAID version requirement and three that ban, discourage or ignore MRAID, and a 2 MB ceiling on one of them. None of that is hard individually. All of it together is what stops a good playable concept from running everywhere it should.

The practical move is to treat the spec sheet as a build config rather than a set of separate projects, keep the game logic identical across all eight, and pick your concepts from element-level data on the playables you have already run rather than from a video that happened to work. The teams shipping 64 playables a month are not building 64 games. They are rebuilding a smaller number of proven concepts, correctly, for every network they buy on.

Frequently asked questions

What are the playable ad specs for each network in 2026?

Eight networks accept advertiser playable uploads, and the cap is 5 MB on seven of them. The differences are in packaging and the install call:

Network

Package

Max size

Install call

AppLovin (Axon)

Single HTML

5 MB

mraid.open()

Google Ads

ZIP

5 MB

ExitApi.exit()

Mintegral

ZIP

5 MB

window.install()

Unity Ads

Single HTML

5 MB

mraid.open()

Liftoff

HTML or ZIP

5 MB

Liftoff.open()

Meta

HTML or ZIP

2 MB / 5 MB

FbPlayableAd.onCTAClick()

TikTok

ZIP + config.json

5 MB

window.openAppStore()

Moloco

Single HTML

5 MB

FbPlayableAd.onCTAClick()

Every figure comes from the network's own documentation, linked in the sections above.

Can I use the same playable file on every ad network?

Only across one pair. Meta and Moloco share the FbPlayableAd.onCTAClick() function and both take a single self-contained HTML file, so one build under 2 MB can serve both. Everywhere else the install call differs, and packaging splits the field again: Google and TikTok require a ZIP while Moloco forbids one. The practical approach is one game build with a network-specific wrapper for the CTA and the packaging.

Does ironSource still accept playable ads?

No. Unity sunset ironSource Ads as an advertiser channel in 2026: new campaigns stopped on 15 April, direct demand stopped serving on 30 April, and advertiser reporting ended on 31 May, per Unity's sunset FAQ. LevelPlay mediation and the ironSource Exchange continue, but neither is a place an advertiser uploads a playable. Migrate to Unity Ads User Acquisition.

What does the playable spec fragmentation mean for a small UA team?

Your playable output ends up capped by build capacity rather than by ideas, because one concept becomes up to seven packaged builds, seven QA passes and eight review queues. The usual response is to pick two networks and run video everywhere else. On Sensor Tower's 2025 impression data that pair is Google and AppLovin, at 33.0% and 27.3% of mobile game ad impressions. Element-level reporting on the playables you do run is what makes sure the two concepts you can afford to build are the right ones.

How big can a playable ad file be?

Most networks cap it at 5 MB, and two exceptions matter. Meta allows only 2 MB for a standalone HTML file, though its ZIP option goes to 5 MB. Liftoff's legacy Accelerate path still recommends 700 KB to 1 MB for creatives without video. Build to a 2 MB budget and you clear all eight current specs.

How do playables actually perform compared to video ads?

Liftoff's 2025 Mobile Ad Creative Index found playables drive 8x the impression-to-install rate of non-playable formats for top-spending game advertisers, and 16x for other game advertisers. The format reached 13.3% of mobile game ad impressions in 2025, up from 6.3% in 2024, according to Sensor Tower. The counterweight is retention quality: Liftoff's 2022 Index found playables had the lowest CPI of any format at $1.98 but the weakest D7 ROAS, at 6.48% against 11.11% for banners. Cheap installs do not automatically mean better users.

What is the difference between a playable ad and an interactive end card?

A playable is the interactive demo on its own. An interactive end card is a video ad followed by the interactive demo. Moloco documents both under the same technical spec, so the file requirements are identical, and Unity runs playables as end cards on 15 to 60 second videos under its standard rules. Meta and TikTok both require a companion asset, so on those two a playable never runs alone.

What is the fastest way to get a playable approved?

Build to the tightest spec on your list rather than to each network's ceiling: under 2 MB, both orientations, all assets inlined, no external network calls, no self-drawn close button or loading screen, audio muted until first interaction, and no auto-redirect on load or first touch. Those cover the stated rejection reasons at Unity, AppLovin, Google, Mintegral and Moloco. Published review times run from about 24 hours at Liftoff and under 48 hours at Unity to 3 to 5 business days for Mintegral's QA. AppLovin, Google, Meta and TikTok do not publish one.

Frequently Asked Questions

What are the playable ad specs for each network in 2026?
Eight networks accept advertiser playable uploads. AppLovin (Axon) takes a single HTML file up to 5 MB using mraid.open() and MRAID 2.0. Google Ads takes a ZIP up to 5 MB with ExitApi.exit(). Unity Ads takes a single inlined HTML file up to 5 MB with mraid.open() and MRAID 3.0. Meta takes 2 MB as a single HTML file or 5 MB as a ZIP, using FbPlayableAd.onCTAClick(). Mintegral takes a 5 MB ZIP using window.install(), with QA documented at 3 to 5 business days in the Mindworks guideline. TikTok takes a 5 MB ZIP with a config.json and window.openAppStore(). Liftoff takes HTML or ZIP up to 5 MB with Liftoff.open(). Moloco takes a single data-URI HTML file under 5 MB with FbPlayableAd.onCTAClick(). Each figure comes from that network's own current documentation: AppLovin, Google, Unity, Meta, TikTok, Liftoff and Moloco.
Can I use the same playable file on every ad network?
Only across one pair. Meta and Moloco share the FbPlayableAd.onCTAClick() function and both take a single self-contained HTML file, so a build under 2 MB can serve both. Everywhere else the install call differs: Unity needs MRAID 3.0, AppLovin needs MRAID 2.0, TikTok and Moloco ban mraid.js, Mintegral uses window.install() and Google uses ExitApi.exit(). Packaging differs too, since Google and TikTok require a ZIP while Moloco forbids one. The practical approach is one game build with a network-specific wrapper for the CTA and the packaging.
Does ironSource still accept playable ads?
No. Unity sunset ironSource Ads as an advertiser channel in 2026. New campaign and creative creation stopped on 15 April 2026, direct demand campaigns stopped serving on 30 April 2026, and advertiser reporting access ended on 31 May 2026, per Unity's sunset FAQ. LevelPlay mediation and the ironSource Exchange continue as supply-side products. Advertisers who ran playables there should migrate to Unity Ads User Acquisition.
What does the playable spec fragmentation mean for a small UA team?
It means your effective playable output is capped by build capacity, not by ideas. One concept becomes up to eight packaged builds, eight QA passes and eight review queues, the slowest of them documented at 3 to 5 business days. The usual response is to pick two networks and run video everywhere else. On Sensor Tower's 2025 impression data that pair is Google and AppLovin, which took 33.0% and 27.3% of mobile game ad impressions respectively, with AppLovin also hosting 84% of new playable experiments (Apptica via AppAgent). Element-level reporting on the playables you do run helps make sure the two concepts you can afford to build are the right ones. Segwise, which publishes this guide, is one tool that does that by playing and tagging the interactive asset itself.
How big can a playable ad file be?
Most networks cap it at 5 MB. The exceptions matter. Meta allows only 2 MB for a standalone HTML file, though its ZIP option goes to 5 MB with fewer than 100 files. Google allows 5 MB, or 5.2 MB for assets at 320x480 and 480x320. Liftoff's newer docs say 5 MB while its older Accelerate API page still recommends 700 KB to 1 MB. Building to a 2 MB budget clears all eight current specs. The one exception is Liftoff's legacy Accelerate path, which is not among the eight.
How do playables actually perform compared to video ads?
Liftoff's 2025 Mobile Ad Creative Index found playables drive 8x the impression-to-install rate of non-playable formats for top-spending game advertisers, and 16x for other game advertisers. In 2024, top games allocated 35% more spend share to playables than other game advertisers. The format reached 13.3% of mobile game ad impressions in 2025, up from 6.3% in 2024, according to Sensor Tower. The counterweight is retention quality: Liftoff's 2022 Index found playables had the lowest CPI of any format at $1.98 but the weakest D7 ROAS at 6.48%, against 11.11% for banners, per a GameDev Reports summary. Cheap installs do not automatically mean better users.
What is the difference between a playable ad and an interactive end card?
A playable is the interactive demo on its own. An interactive end card is a video ad followed by the interactive demo. Moloco documents both under the same technical spec, so the file requirements are identical. Unity runs playables as end cards on 15 to 60 second video ads under its standard 5 MB and MRAID 3.0 rules. Meta requires a lead-in video, and TikTok requires at least one video, image or carousel asset alongside the playable, so on those two networks a playable never runs alone.
What is the fastest way to get a playable approved?
Build to the tightest spec on your list rather than to each network's ceiling. That means under 2 MB, both orientations supported, all assets inlined, no external network calls, no self-drawn close button or loading screen, audio muted until first interaction, and no auto-redirect to the store on load or on first touch. Those rules cover the stated rejection reasons at Unity, AppLovin, Google, Mintegral and Moloco. Published review times run from about 24 hours at Liftoff and under 48 hours at Unity to one to three business days at Moloco and 3 to 5 business days for Mintegral's QA. AppLovin, Google, Meta and TikTok do not publish one.
What are the playable ad specs for each network in 2026?
Eight networks accept advertiser playable uploads, and the cap is 5 MB on seven of them. The differences are in packaging and the install call:
Can I use the same playable file on every ad network?
Only across one pair. Meta and Moloco share the FbPlayableAd.onCTAClick() function and both take a single self-contained HTML file, so one build under 2 MB can serve both. Everywhere else the install call differs, and packaging splits the field again: Google and TikTok require a ZIP while Moloco forbids one. The practical approach is one game build with a network-specific wrapper for the CTA and the packaging.
Does ironSource still accept playable ads?
No. Unity sunset ironSource Ads as an advertiser channel in 2026: new campaigns stopped on 15 April, direct demand stopped serving on 30 April, and advertiser reporting ended on 31 May, per Unity's sunset FAQ. LevelPlay mediation and the ironSource Exchange continue, but neither is a place an advertiser uploads a playable. Migrate to Unity Ads User Acquisition.
What does the playable spec fragmentation mean for a small UA team?
Your playable output ends up capped by build capacity rather than by ideas, because one concept becomes up to seven packaged builds, seven QA passes and eight review queues. The usual response is to pick two networks and run video everywhere else. On Sensor Tower's 2025 impression data that pair is Google and AppLovin, at 33.0% and 27.3% of mobile game ad impressions. Element-level reporting on the playables you do run is what makes sure the two concepts you can afford to build are the right ones.
How big can a playable ad file be?
Most networks cap it at 5 MB, and two exceptions matter. Meta allows only 2 MB for a standalone HTML file, though its ZIP option goes to 5 MB. Liftoff's legacy Accelerate path still recommends 700 KB to 1 MB for creatives without video. Build to a 2 MB budget and you clear all eight current specs.
How do playables actually perform compared to video ads?
Liftoff's 2025 Mobile Ad Creative Index found playables drive 8x the impression-to-install rate of non-playable formats for top-spending game advertisers, and 16x for other game advertisers. The format reached 13.3% of mobile game ad impressions in 2025, up from 6.3% in 2024, according to Sensor Tower. The counterweight is retention quality: Liftoff's 2022 Index found playables had the lowest CPI of any format at $1.98 but the weakest D7 ROAS, at 6.48% against 11.11% for banners. Cheap installs do not automatically mean better users.
What is the difference between a playable ad and an interactive end card?
A playable is the interactive demo on its own. An interactive end card is a video ad followed by the interactive demo. Moloco documents both under the same technical spec, so the file requirements are identical, and Unity runs playables as end cards on 15 to 60 second videos under its standard rules. Meta and TikTok both require a companion asset, so on those two a playable never runs alone.
What is the fastest way to get a playable approved?
Build to the tightest spec on your list rather than to each network's ceiling: under 2 MB, both orientations, all assets inlined, no external network calls, no self-drawn close button or loading screen, audio muted until first interaction, and no auto-redirect on load or first touch. Those cover the stated rejection reasons at Unity, AppLovin, Google, Mintegral and Moloco. Published review times run from about 24 hours at Liftoff and under 48 hours at Unity to 3 to 5 business days for Mintegral's QA. AppLovin, Google, Meta and TikTok do not publish one.

Turn your creative data into your next winning ads.

Built for every kind of performance marketing and creative team.

Angad Singh

Angad Singh
Marketing and Growth

Segwise

Segwise's AI creative analytics tags and analyzes every creative you run, finds your winning creative patterns and helps you turn them into on-brand statics, videos and playables.