HTML5 Display Ad Specifications by Platform: Google Ads, DV360, CM360 & More

Published: August 27, 2026

Last updated: September 1, 2026

features image

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.

Key Takeaways

Which Path Applies to You?

Confirm the destination before writing any code. The click-tracking mechanism especially, is not interchangeable between these paths.

If the creative will be… Follow this path
Uploaded directly to Google Ads Google Ads ZIP build, Google Web Designer’s Google Ads environment
Uploaded directly to Display & Video 360 DV360 HTML5 ZIP and clickTag requirements
Third-party served through DV360 Third-party ad-server and publisher requirements
Uploaded to Campaign Manager 360 CM360 click-tag requirements
Built or published through Studio Enabler exit events
Uploaded to AdRoll AdRoll ZIP and clickTag rules
Served on Amazon inventory Placement-specific Amazon requirements

Technical Specifications by Platform

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.

Fixed, Responsive, and Platform-Assembled: Three Different Things

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 & Interactivity Guidelines

Animation timing rules are platform-specific rather than universal:

Platform Animation guidance Source
Google Ads Animated GIF and HTML5 creative must stop within 30 seconds Google Ads specs
Display & Video 360, direct upload Standard display animation should not run more than 30 seconds DV360 guidelines
AdRoll Total animation length within 30 seconds AdRoll HTML5 requirements
Amazon Placement-dependent; some placements specify 15 seconds and 3 loops Amazon technical guidelines
CM360 / Studio / third-party served Depends on the creative type and publisher path; confirm current publisher specs

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.

Policy & Content Restrictions

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.

Planning the Build: Google Ads

  1. Confirm HTML5 upload access is enabled in the account; don’t assume it based on account age alone.
  2. Build the project in Google Web Designer’s Google Ads environment, configured for this specific destination.
  3. Set the declared size to match your target dimension.
  4. Define the click region using the Google Ads environment’s own click/tap component. Refer to Google’s current HTML5 ad specifications for the exact syntax, as they are the authoritative source and most likely to reflect the live implementation.
  5. Keep all images local; use Google web fonts if needed, not arbitrary externally hosted fonts.
  6. Keep the ZIP at or below 600 KB.
  7. Publish and preview locally, then upload the ZIP and enter the final URL.
  8. Preview inside Google Ads and confirm the click area, animation, and final frame behave as expected.

Planning the Build: Display & Video 360 (Direct Upload)

  1. Build a complete HTML document referencing all assets with relative paths.
  2. Declare the creative dimensions using an ad.size meta tag.
  3. Include a clickTag variable (see the click-tag section below) so the landing page can be configured and measured.
  4. Avoid local or session storage APIs, more than 100 HTTP calls, or more than 25 cookies; DV360 won’t serve creatives that exceed these.
  5. Package as a ZIP, up to 100 files.
  6. Don’t include a backup image inside the ZIP; DV360 asks for backup images to be uploaded separately, in their own section of the interface.
  7. Upload and confirm the total served download stays under DV360’s 5 MB ceiling, and under any tighter publisher limit that applies.

Planning the Build: Campaign Manager 360

  1. Build the HTML, CSS, and JS as a complete, self-contained document that can load inside an iframe.
  2. Include at least one click tag, declared as a readable, unminified variable.
  3. Avoid local storage or session storage APIs; CM360 rejects assets that reference them.
  4. Reference all assets with relative paths, nothing outside what the HTML actually uses.
  5. Package as a ZIP or ADZ file, up to 100 files, using 9.5 MB as the conservative working size limit.
  6. If the creative needs polite loading, don’t add a backup or polite-load image inside the ZIP. Provide it to your trafficker separately, under 40 KB, corresponding to the first frame of the HTML5 asset; it’s selected in CM360’s own interface, not bundled into the creative package.
  7. Upload and hand off to your trafficker to confirm or set the landing page.

Click Tags & Tracking, by Platform

Click tracking is where mixing up platforms causes the most damage, since the mechanism genuinely differs between them.

Campaign Manager 360

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.

Display & Video 360, direct upload

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

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.

Studio (Enabler API)

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

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.

Best Practices for HTML5 Display Ads

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.

Platform Delivery method Package limit Served-download limit Notable requirement
Google Ads Direct ZIP upload 600 KB Requires eligibility approval (90+ days, $9,000+ lifetime spend, min.)
Display & Video 360 (direct) Direct ZIP upload Up to 100 files; no stated ZIP size limit 5 MB max; 100 HTTP calls; 25 cookies Publisher limits may be tighter
Display & Video 360 (indirect) Via CM360, Studio, or third-party server Follows that route’s rules Follows that route’s rules No single standalone DV360 rule for these routes
Campaign Manager 360 ZIP or ADZ upload Up to 100 files; about 9.5 MB (confirm in interface) No local/session storage; at least one click tag
Studio Built in Studio; associated with CM360/DV360 Creative-type and trafficking requirements apply Publisher requirements apply Uses Enabler API, not clickTag
AdRoll One ZIP per ad 150 KB No external-domain calls permitted
Amazon DSP Placement-dependent (site-served or iframe) 200 KB (common desktop placements) Mobile/rich-media vary by placement

Testing, QA & Troubleshooting

Adjust this checklist for the specific destination rather than applying it as one universal rule set:

Frequently Asked Questions

What happens if my HTML5 ad exceeds the file size limit?

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.

Should I use Google Web Designer or hand-code my HTML5 ads?

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.

Can I use Google Fonts or other external font services in my HTML5 ad?

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.

How do I track multiple click destinations within a single HTML5 ad?

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.

Is polite loading required, and how does it work?

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.

Conclusion

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.

 

Need Better PPC Results?

Using data collected from our in-depth audit, we’ll deliver a detailed plan to grow your business month after month. Your proposal includes:

Get Your Free Proposal
blog author image

WRITTEN BY

Luke Heinecke

Luke is in love with all things digital marketing. He’s obsessed with PPC, landing page design, and conversion rate optimization. Luke claims he “doesn’t even lift,” but he looks more like a professional bodybuilder than a PPC nerd. He says all he needs is a pair of glasses to fix that. We’ll let you be the judge.
background image proposal image

Like what you read?

Your free proposal is overflowing with improvements.

Get Your Free Proposal

RELATED ARTICLES