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

google playable ad specs.

Google runs playables as HTML5 assets in App campaigns (app installs). Upload a ZIP of up to 5 MB and 512 files. The HTML needs an ad.orientation meta tag, the exitapi.js script in the head and ExitApi.exit() on the install button. Only CSS, GIF, HTML, JPEG, JS, PNG and SVG files are allowed, and the only outside files allowed are Google-hosted ones. Check it in Google's HTML5 validator before uploading.

Last checked October 16, 2026 against the Google Ads help center

Google Ads playable specs at a glance

File format.zip with a primary HTML file
Max file size5 MB for the ZIPOne of Google's troubleshooting pages says up to 5.2 MB for interstitials. Treat 5 MB as the limit.
Max files512 (folders don't count)
Allowed file typesCSS, GIF, HTML, JPEG, JS, PNG, SVG
File namesLetters, numbers, periods, hyphens and underscores. No spaces.
Required HTML<!DOCTYPE html>, <html>, <body> and an orientation meta tag in <head>
Orientation<meta name="ad.orientation" content="portrait"> (or landscape, or portrait,landscape). Without it the ad renders portrait only.
CTA callExitApi.exit(); after loading exitapi.js in the head
MRAIDNot required. Google uses its own Exit API.
External requestsOnly Google Fonts and Google-hosted jQuery, GreenSock and CreateJS. Everything else inside the ZIP.
Not allowediframes, local storage, AMP, <video> without a source
SoundMust not play before the user interacts
CampaignsApp campaigns for installs. Not pre-registration or engagement campaigns.
TestingGoogle Ads HTML5 Validator

Required code

Put the orientation tag and the Exit API script in the head as literal tags. Google warns that injecting exitapi.js from other JavaScript can make the whole ad clickable:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="ad.orientation" content="portrait">
  <script type="text/javascript"
    src="https://tpc.googlesyndication.com/pagead/gadgets/html5/api/exitapi.js"></script>
</head>
<body>
  <!-- game -->
  <button onclick="ExitApi.exit()">Install</button>
</body>
</html>

ExitApi.exit() takes no URL. Google sends the user to the app in your campaign. If you leave the Exit API out, Google adds its own “Install” button to the ad.

Older playables use <meta name="ad.size" content="width=320,height=480"> (or 480x320 for landscape) instead. That still works, but any other size is rejected with “Dimensions are not allowed”, and if both tags are present ad.orientation wins.

Building in Google Web Designer? Don't use the Exit API there. Use GWD's Tap Area component, and publish with the gwd-googleads or gwd-admob environment.

Where Google playables run

HTML5 playables are an asset type in App campaigns for installs. Google shows them full screen, mostly in interstitial slots on the Google Display Network, which includes the in-app inventory of AdMob publishers. You're charged per engagement (the first interaction or click), and installs within 30 days of an engagement count as conversions. Each ad group takes up to 20 HTML5 ZIPs.

Sound and video

Google supports sound in playables, but it must not start until the user interacts. Audio and video files aren't on the allowed file-type list, and a <video> tag without a source gets disapproved. In practice, ship sound as base64 inside the JavaScript and play it through the Web Audio API after the first tap.

How to test a Google playable

  1. Run the ZIP through the Google Ads HTML5 Validator with the App campaigns option. Fix everything it flags.
  2. Upload it to the App campaign and open the asset preview. Clicks are blocked in preview on purpose.
  3. With the preview open, check Chrome DevTools' Network and Console tabs for outside requests or security errors. These pass upload and get the ad disapproved later as an “Invalid fourth party call”.

Why Google rejects playables

  • File size is too large: the ZIP is over 5 MB.
  • Too many files: over 512.
  • Unsupported file type: anything other than CSS, GIF, HTML, JPEG, JS, PNG or SVG, such as an MP3 or a font file.
  • Unsupported characters: spaces in a file or folder name.
  • Missing primary HTML file: no orientation or size meta tag, a missing doctype, html or body, or self-closing tags like <path /> that need an explicit end tag.
  • Dimensions are not allowed: an ad.size other than 320×480 or 480×320.
  • Referenced asset not found: a path that doesn't match a file in the ZIP.
  • External reference / Invalid fourth party call: a CDN, analytics or font request not on Google's allowlist.
  • Unacceptable HTML5 ad: iframes, AMP tags or a <video> with no source.

Common questions

What is the file size limit for Google playable ads?

5 MB for the ZIP, with no more than 512 files inside. Google's main HTML5 spec page for App campaigns gives 5 MB.

What is ExitApi.exit() in Google playables?

Google's call for the install button. Load exitapi.js from tpc.googlesyndication.com in the head, then call ExitApi.exit() when the user taps install. It takes no URL; Google sends the user to the app in the campaign.

Do Google playable ads need MRAID?

No. Google uses its own Exit API. If the playable doesn't include exitapi.js, Google adds its own Install button.

What is the ad.orientation meta tag?

A tag in the head that tells Google which orientations the playable supports: portrait, landscape, or portrait,landscape. Without a valid orientation tag the ad renders in portrait only.

Which file types can a Google playable ZIP contain?

CSS, GIF, HTML, JPEG, JS, PNG and SVG. Other types, including audio, video and font files, are rejected.

Do Google playables run on AdMob?

Google serves HTML5 playables from App campaigns full screen on the Google Display Network, mostly in interstitial slots, which is where AdMob in-app inventory sits. Google Web Designer even has a gwd-admob publishing environment for them.

How do I test a Google playable ad?

Upload the ZIP to the Google Ads HTML5 Validator at h5validator.appspot.com and choose App campaigns, then check the asset preview in Google Ads.

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.

  • Google Ads Help: About HTML5/Playable ads for App campaigns
  • Google Ads Help: Fix issues with HTML5 assets for App campaigns
  • Google Ads Help: Asset types for App campaigns
  • Google Ads Help: About HTML5 for App campaigns
  • Google Advertising Policies: Unacceptable HTML5 ad
  • Google Ads HTML5 Validator
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