BACK TO ALL ARTICLES
Published: August 27, 2026
Last updated: September 1, 2026
Table of Contents
HTML5 display ads replaced Flash as the standard format for rich, interactive display creatives that work across devices without a plugin. The technical rules are not one universal specification. They depend on whether the creative is uploaded to Google Ads, uploaded directly to DV360, trafficked through CM360 or Studio, third-party served, or built for platforms such as AdRoll and Amazon. Building to the wrong one produces a package that looks correct and still gets rejected, or worse, uploads successfully with broken click tracking.
This guide is organized around identifying which path applies, then covering the specs and click-tag mechanics separately for each. It’s written as a specification and planning reference: it will tell you exactly which rules apply to your destination and what to check before production, but for the final, exact implementation syntax, treat each platform’s own current documentation as the source of truth, since that’s what a build should ultimately be checked against.
Confirm the destination before writing any code. The click-tracking mechanism especially, is not interchangeable between these paths.
Google Ads. Uploaded HTML5 ZIPs are capped at 600 KB, a separate limit from the 150 KB cap on static image and GIF ads on the same platform. HTML5 upload access isn’t automatic. Google’s eligibility guidance lists account age (90+ days), lifetime spend ($9,000+), and policy compliance history as minimum requirements, but meeting them doesn’t guarantee approval; check access inside the account before commissioning the creative.
Display & Video 360, direct upload. DV360 supports uploading an HTML5 creative directly as a ZIP. Per DV360’s HTML5 guidelines, the ZIP itself can include up to 100 files with no stated upload-size limit, but DV360 won’t serve a creative whose total downloaded files exceed 5 MB, set more than 25 cookies, or make more than 100 HTTP calls. Individual publishers can impose tighter limits on top of that.
Display & Video 360, third-party served or CM360-synced. If the creative arrives through Campaign Manager 360 or a third-party ad server instead of direct DV360 upload, follow that route’s rules instead; the direct-upload figures above don’t apply.
Campaign Manager 360. HTML5 assets are compressed into a ZIP or ADZ file. CM360’s own pages list the package limit slightly differently depending on which page you’re reading: 9.5 MB on the asset-options page, 10 MB on the preparation page. Treat about 9.5 MB as the conservative working limit and confirm the current figure in the upload interface. The package can include up to 100 files. The primary HTML file must be a complete document, include at least one click tag, and be able to load in an iframe. CM360 does not accept assets that use local or session storage.
Studio. Rich, interactive creatives (expandables, interstitials) are typically built in Studio rather than uploaded directly. Studio creatives can subsequently be associated with Campaign Manager 360 and used in DV360 workflows, but the tracking mechanism (the Enabler API) is Studio’s own.
AdRoll. ZIP files are capped at 150 KB, per AdRoll’s HTML5 requirements, and external-domain code references aren’t permitted, so all assets need to be local.
Amazon DSP. Common Amazon desktop HTML placements list a 200 KB limit, per Amazon’s technical guidelines; this isn’t a single general “Amazon DSP file limit,” since mobile, static, and rich-media requirements vary by placement type, and some placements are specifically third-party iframe-served rather than site-served. Confirm the figure for your exact placement rather than assuming one number covers all Amazon inventory.
Packaging conventions that hold up across most of these platforms: a single primary HTML file, no nested ZIPs, and relative rather than absolute paths for referenced assets. Naming that file index.html is a safe, common convention, but it isn’t a universal mandate; CM360 and DV360, for example, don’t require that exact filename, only that the HTML file be complete and reference all assets it uses.
We use applicable IAB display and HTML5 guidance as a general reference for building compliant creative, including the Tech Lab’s “HTML5 for Digital Advertising” material. It doesn’t override any individual platform’s or publisher’s specific requirements, which take precedence where they differ.
These terms get used loosely, but they describe different builds:
Fixed-size HTML5 creative. A single declared dimension, the most common uploaded format. Standard IAB sizes remain dominant across networks:
Responsive HTML5 creative. A specifically configured build that adapts across a defined set of supported dimensions within a single package, distinct from a fixed-dimension creative and not something you get by default just by using flexible CSS.
Responsive display ad. A different product entirely, in which the platform assembles the ad from separate image and text assets you supply, rather than you building a single HTML5 package at all.
Test each type accordingly. A fixed-size creative should be tested at its declared dimensions. A genuinely responsive HTML5 build should be tested across the specific dimensions it’s configured to support, a defined, finite list, not an open-ended set of screen widths.
Animation timing rules are platform-specific rather than universal:
As a production practice, we recommend communicating the core message and offer early in the animation, since the ad may only get a viewer’s attention briefly. Designing the final frame to work as a strong static ad on its own is worth doing too, since that’s what remains visible once motion stops.
The platforms covered in this guide either prohibit autoplaying audio or require that it begin only after user interaction. Where autoplay video is supported, audio generally must remain muted until user interaction. Some platforms require a pause control for longer videos; check the specific platform’s current policy.
For interactivity, animation libraries add real weight while working within tight file caps. As a production practice, we favor GSAP or CreateJS over general-purpose frameworks like jQuery for animation-only needs, since the footprint difference matters against a 150 KB or 200 KB ceiling. For simple DOM manipulation, vanilla JavaScript is often sufficient without importing a library.
Compliance protects the campaign from suspension. Advertisers must avoid misleading claims and unsafe redirects. Major ad platforms generally require secure HTTPS delivery for external URLs and tracking calls. Each platform publishes its own creative policy, and these change, so review current guidance before each launch.
Google Ads generally requires code and assets to be referenced from within the ZIP; uploaded HTML5 creatives that reference external domains are typically disapproved. Its documented exceptions include Google Fonts and certain Google-hosted libraries. Separately, cross-domain redirects from the Final URL must use an approved tracking setup, and the landing-page domain must satisfy Google’s destination requirements. This is supported by Google Ads’ uploaded-display specifications. DV360 won’t serve creatives that exceed 100 HTTP calls or set more than 25 cookies, regardless of whether those calls go to approved vendors. AdRoll forbids references to external-domain code entirely, so all assets must be hosted locally within the ZIP.
Click tracking is where mixing up platforms causes the most damage, since the mechanism genuinely differs between them.
The clickTag variable needs to stay easy for the ad server to detect. Minifying the click tag code specifically isn’t allowed; other JavaScript in the creative can be minified, but the click tag portion must remain unminified so CM360 can find it during upload.
<script> var clickTag = "https://www.example.com"; </script> <a href="javascript:void(window.open(window.clickTag))"><img src="ad-image.jpg" border="0"></a>
CM360 detects this variable during upload and lets the trafficker assign or override the landing page while preserving click tracking; see CM360’s click-tag guidance for complete, current requirements.
DV360’s own documentation gives this implementation for a directly uploaded HTML5 banner:
<script type="text/javascript"> var clickTag = "https://www.example.com"; </script> <a href="javascript:window.open(window.clickTag)"> <div id="container"> <!-- creative content --> </div> </a>
This is distinct from a Studio creative using Enabler, a CM360-served creative, or a third-party tag placed in DV360; use it specifically for a direct DV360 HTML5 upload. Source: DV360 HTML5 creative guidelines.
Google Ads uploads built through Google Web Designer’s Google Ads environment use that environment’s own click/tap component rather than the clickTag pattern above. Refer to Google’s current specifications for the exact implementation.
An exit is a trackable clickable area that sends the user to a landing page. It’s not the same as closing an expandable creative or a counter event for a non-click interaction; Studio treats those as separate event types.
document.getElementById('adContainer').addEventListener('click', function() { Enabler.exit('Background Exit'); });
Multiple named exits can be defined for different interactions:
Enabler.exit('CTA Click'); Enabler.exit('Logo Click');
Configure each exit’s destination in Studio’s trafficking workflow rather than hard-coding the URL in the creative, unless the build specifically requires an in-code override; hard-coding removes the trafficker’s ability to manage the destination outside the creative. Studio also supports separate counter events for interactions like expanding or closing an ad that aren’t exits.
AdRoll ads use AdRoll’s clickTag convention within the 150 KB package limit. All creative code and supporting assets must be included locally in the ZIP; the clickTag itself still points to the external landing page, since external-domain restrictions apply to code and asset references, not to the destination URL.
Creative and design principles matter alongside technical compliance. A well-designed ad places the brand logo consistently, uses a contrasting CTA button color, and limits text up to a headline plus one supporting line. As a general interface-accessibility recommendation (not a platform-specific HTML5 ad rule), the CTA button should be comfortably tappable on mobile, with a minimum touch target of 44×44 pixels.
For performance, minify CSS and JS where it doesn’t break functionality, and use a backup image as a fallback if the script fails to load, provided separately per the platform’s own upload flow rather than bundled inside the HTML5 ZIP. As a production practice, we recommend running images through a compression tool and SVG assets through SVGO before packaging, since asset weight is a common way a creative goes over their file cap. Keep JavaScript modular by splitting it into initialization, animation, and interaction, so only the necessary code runs at each stage of the ad’s lifecycle.
Adjust this checklist for the specific destination rather than applying it as one universal rule set:
The upload gets rejected, or, in DV360’s case, the creative may upload but fail to serve if the total download size exceeds 5 MB. The fix depends on the destination: Google Ads allows up to 600 KB; CM360 allows around 9.5 MB across up to 100 files; DV360 direct upload has no stated ZIP-size cap but a 5 MB served-download ceiling; and AdRoll caps at 150 KB, the tightest of the group.
Google Web Designer suits teams producing high volumes of standard creatives quickly, and it offers destination-specific environments (Google Ads, DV360/Studio) so the export fits the platform’s expected structure. Hand-coding gives more control over file size and precision, which matters most when working against a tight cap like AdRoll’s 150 KB.
It depends on the destination. Google Ads permits Google Fonts specifically as an exception to its general restriction on external references; Google Web Designer’s Google Ads environment supports Google web fonts but not arbitrary externally hosted fonts. AdRoll prohibits external-domain calls entirely, so fonts need to be included locally as WOFF2 files. For other destinations, verify both the external-call policy and font license before building.
In Studio, use multiple named Enabler exits, one for the primary CTA and one for secondary interactions like a logo click, with destinations configured in Studio’s own trafficking workflow. Google Ads uploads are generally built around a single primary click action, and Google’s standard direct-DV360 example likewise uses one clickTag. If a creative needs multiple independently tracked destinations, confirm that support is available in the intended DV360 workflow, or use CM360, Studio, or an approved third-party ad server.
No, it’s optional. In Campaign Manager 360, if a creative needs it, a polite-load image under 40 KB matching the first frame is provided to your trafficker and selected separately in CM360’s interface, not bundled inside the HTML5 ZIP as an extra file. This is a CM360/Studio-specific mechanism, not a general property of every platform’s file limit; AdRoll’s 150 KB figure, for example, is a straightforward package limit with no separate polite-load structure.
HTML5 display advertising doesn’t have one universal implementation standard. A standard clickTag may be appropriate for both CM360 and directly uploaded DV360 banners, since the two use a similar readable-variable pattern, but a Studio creative requires Enabler exits instead, and Google Ads creatives built in Google Web Designer use the Google Ads environment’s own click component. A conventional clickTag should not be substituted for Studio’s Enabler exits or for the click handling generated by Google Web Designer’s Google Ads environment. Confirming the destination first, then working from that platform’s specific requirements, is what makes a spec like this one usable rather than just comprehensive-looking. For exact, current implementation syntax, treat this guide as the map and each platform’s own documentation as the final word.
For more on the static-image side of Google’s display specs, see our Google Ads display ad sizes cheat sheet.
Using data collected from our in-depth audit, we’ll deliver a detailed plan to grow your business month after month. Your proposal includes:
WRITTEN BY
Luke Heinecke
Like what you read?
Your free proposal is overflowing with improvements.
RELATED ARTICLES
How Much Do Display Ads Cost? A Practical CPM and Budget Guide for 2026
A CPM benchmark can make a media plan look reassuringly precise. It can also send the plan in the wr...
September 11, 2026
Programmatic Display Advertising, Explained (2026)
Programmatic display advertising is how most digital display ads are bought and sold today. Software...
September 1, 2026
Banner Ad Design: Best Practices, Sizes and Testing
What banner design can influence Effective banner design can determine whether a display impression ...
August 20, 2026
Made with 💙 in Utah