Skip to content
bolt playables Back to site
  1. Home
  2. Playable ad specs
  3. TikTok

tiktok playable ad specs.

TikTok takes a playable as a .zip under 5 MB with index.html and config.json at the top level. It must load TikTok's own playable SDK, send users to the store with window.openAppStore(), and make no HTTP requests. MRAID is not used. The same file works on TikTok Ad Network (formerly Pangle).

Last checked October 16, 2026 against TikTok Ads Manager help center

TikTok playable specs at a glance

File format.zip with index.html and config.json at the top level. More files inside are fine; don't wrap them in a folder.
Max file sizeUnder 5 MB, compressed (the .zip)Older guides that say 2 MB or 3 MB are out of date.
MRAIDNot allowed. TikTok says the playable must not be in mraid.js format.
Required scriptTikTok's playable SDK, at the bottom of <body> before your own JS
CTA callwindow.openAppStore();
External requestsNone. No HTTP requests, CDN files, web fonts, analytics or remote config. Everything ships in the zip.
OrientationSet in config.json: 0 either, 1 portrait, 2 landscape. Must adapt to different devices.
RedirectsNo JavaScript redirects. The store opens only from openAppStore() after a tap.
Where it runsTikTok For You feed (App Promotion, Smart+ only) and TikTok Ad Network rewarded and interstitial
TestingUpload in Ads Manager (it validates the zip), then preview on a phone with the QR code

Required code

Put TikTok's SDK at the bottom of the body, before your game's scripts, and call openAppStore() from every install button:

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

// game.js
installButton.addEventListener("click", function () {
  window.openAppStore();
});

Use the lowercase SDK address. TikTok's help page prints the script as …/Playable/sdk/Playable-sdk.js in one place and …/playable/sdk/playable-sdk.js in another. On October 16, 2026 the capitalized one returned a 404 and the lowercase one loaded.

Then add config.json next to index.html:

{ "playable_orientation": 0 }

0 means it works in either orientation, 1 portrait only, 2 landscape only. TikTok's two help pages spell the key with and without a capital P; the lowercase form matches the TikTok Ad Network page and most tools.

There are no lifecycle callbacks to call (no equivalent of Mintegral's gameReady or gameEnd). The SDK handles muting for the host app.

Where TikTok playables run

  • TikTok (For You feed). The ad starts as a video; after a few seconds a button invites the viewer to play, the playable runs inside TikTok, and an end card asks for the install. App Promotion objective, App Install, in the upgraded Smart+ setup only. TikTok recommends at least six videos and one playable per ad group.
  • TikTok Ad Network (formerly Pangle). TikTok's in-app network. Playables run in rewarded and interstitial placements alongside at least one video, image or carousel ad in the same ad. The file spec is identical, so one zip covers both.

Design rules TikTok recommends

These come from TikTok's guidance rather than its validator, but they're what reviewers look for:

  • Make the game understandable in about 2 seconds, with a short text or animated hand guide.
  • If the player stops interacting for 10 seconds, move on to the next scene by itself.
  • Keep an install button on screen the whole time. The logo, game name or an upgrade button can also open the store.
  • Play sound only after the first tap.
  • Keep key elements out of TikTok's interface overlays. Ads Manager doesn't check safe zones, so check them yourself.
  • Show gameplay that matches the real app, and don't disguise the download prompt.

How to test a TikTok playable

TikTok has no standalone validator. Upload the zip in Ads Manager (Tools → Creative library → Playable → Upload); it rejects files that break the technical rules. Then scan the preview QR code to play it on a real phone. The store jump is disabled in preview, so a dead install button there is expected.

Why TikTok rejects playables

  • The zip is 5 MB or more.
  • index.html isn't at the top level, or the files are wrapped in a folder or a second zip.
  • config.json is missing or isn't valid JSON.
  • The SDK script is missing or points at the 404ing capitalized address.
  • The playable makes an HTTP request: a web font, an analytics call, a CDN library.
  • It includes mraid.js or calls mraid.open() instead of openAppStore().
  • It redirects on its own, without a tap.

TikTok doesn't publish a list of rejection reasons. These are the official rules that most often catch a build made for another network.

Porting a playable from another network

A playable built for AppLovin or Unity is usually one HTML file with mraid.js and mraid.open(). For TikTok, strip the MRAID script, swap the CTA for window.openAppStore(), add the SDK and config.json, and zip it. If TikTok spots a playable built for another platform, Ads Manager shows an Adapt Playable Asset window that asks which orientation it supports.

Common questions

What is the file size limit for TikTok playable ads?

Under 5 MB for the compressed .zip. Older guides quote 2 MB or 3 MB; TikTok's current help center says 5 MB.

Do TikTok playable ads use MRAID?

No. TikTok says the playable must not be in mraid.js format. It uses its own playable SDK, and the install button calls window.openAppStore().

What goes in config.json for a TikTok playable?

The orientation: {"playable_orientation": 0}, where 0 means either orientation, 1 portrait only and 2 landscape only. It sits next to index.html at the top level of the zip.

Can a TikTok playable load files from a CDN?

No. TikTok's playable SDK is the only external file allowed. Images, audio, fonts and libraries must all be inside the zip.

Are TikTok and Pangle playable specs the same?

Yes. Pangle is now TikTok Ad Network, and TikTok says its playables follow the same requirements, so one zip works on both.

How do I test a TikTok playable ad?

Upload the zip to the Creative library in TikTok Ads Manager, which checks the technical rules, then preview it on a phone with the QR code. There is no separate public test tool.

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.

  • TikTok Ads Manager: About playable ads
  • TikTok Ads Manager: How to create playable ads
  • TikTok Ads Manager: How to create TikTok Ad Network (formerly Pangle) playable ads
  • TikTok Ads Manager: About TikTok Ad Network playable ads
  • TikTok playable SDK (the lowercase address)
skip the spec sheet.

We build custom playables and package them for every network on this list, ready to upload. Packaging is included in the price.

Get a quote

Specs by network

  • All networks compared
  • AppLovin
  • Meta (Facebook)
  • Google Ads
  • Unity Ads
  • Liftoff (Vungle)
  • Moloco
  • Mintegral
  • Chartboost
  • TikTok
  • Snapchat
  • Adikteev
bolt playables

Custom playable ads, built by the team that makes them. 7,000+ shipped for every major ad network.

[email protected] LinkedIn

Services

  • Custom playables
  • playable.ad soon

Studio

  • Why direct
  • Work
  • How it works
  • FAQ
  • Contact

Resources

  • Playable ad specs
  • Playable ad examples
  • What are playable ads
  • How to make a playable ad
  • MRAID explained
  • Interactive end cards
  • Video playables

Clients

  • Get started
  • Client sign in

Playable ad specs

  • AppLovin
  • Meta (Facebook)
  • Google Ads
  • Unity Ads
  • Liftoff (Vungle)
  • Moloco
  • Mintegral
  • Chartboost
  • TikTok
  • Snapchat
  • Adikteev

© Bolt Playables

  • Privacy
  • Terms