HTML5 ad requirements for Google, DV360, and programmatic platforms

HTML5 ads give marketers far more creative freedom than static banners or GIFs — but they also come with stricter technical rules. Each platform (Google Ads, DV360, Trade Desk, Yahoo DSP, etc.) has its own specifications, limits, and approval processes. For agencies, designers, and performance marketers, understanding these requirements is essential to avoid rejections, broken ads, or wasted media spend.
This guide breaks down the most important HTML5 ad requirements across Google Ads, DV360, and major programmatic platforms, along with practical tips for smooth production, lighter files, and compliance across the ecosystem.
Understanding how HTML5 display ads work
HTML5 ads are built using a combination of HTML, CSS, JavaScript, and assets (images, SVGs, fonts). Unlike static JPEG or GIF banners, HTML5 creatives are interactive, can animate smoothly, and adapt across device types.
Most platforms treat HTML5 ads as “zipped packages” — uploaded as a .zip file with a specific structure. Inside that file lives everything the ad needs:
- An
index.htmlfile - A manifest or config file (for some DSPs)
- Images, CSS, JS, fonts, and assets
- Exit tracking implemented through the platform’s clickTag requirements
If anything inside the .zip violates platform rules (file size, code, clickTag format, external calls), the ad is disapproved.
Key differences between Google Ads, DV360, and programmatic platforms
While most platforms share similar technical rules, there are important differences:
Because of these differences, a single HTML5 package will often need small adjustments before it can be used across the entire programmatic ecosystem.
HTML5 ad requirements for Google Ads
Google Ads is the strictest platform for HTML5 creatives. Most rejected ads fail because of file size, clickTag implementation, or unsupported code.
File size and format rules
Google Ads enforces some of the tightest limits in the industry:
- Maximum .zip size: 150 KB
- Maximum number of files: 100
- Maximum image size: No single asset can be excessively large (informal practical limit: ~80 KB).
- Accepted file types: HTML, CSS, JS, JPG, PNG, SVG, JSON
Google does not allow videos inside HTML5 packages. For motion, you must use CSS or JavaScript animation.
Folder structure requirements
Google requires a clean file structure:
- Root folder must contain
index.html - No nested folders deeper than one level
- No uppercase file names (recommended but not strictly enforced)
- All asset references must be relative, not absolute
Incorrect folder structure is one of the leading causes of disapprovals.
ClickTag implementation
The standard Google clickTag must be included exactly as specified.
Example (JavaScript click handling):
document.getElementById('clickArea').addEventListener('click', function() {
window.open(clickTag, '_blank');
});Inside the HTML, a global variable must be declared:
<script>
var clickTag = "https://www.example.com";
</script>Only one clickTag is allowed per creative.
Animation policies
Google Ads animation rules include:
- Max animation length: 30 seconds
- Looping allowed, but entire loop must stop after 30 seconds
- No rapid flashing that can trigger rejection for accessibility reasons
- No strobing effects or excessively distracting motion
Animations must also be smooth and not cause CPU spikes — older devices can choke on heavy JavaScript timelines.
Disallowed code and assets
Google prohibits:
- External JS libraries (other than Google-hosted libraries)
- External image/video/font hosting
- AJAX or API calls
- Timers that extend beyond 30 seconds
- iFrames within the ad
- WebGL
- Canvas-heavy code that exceeds CPU limits
Frameworks like GSAP and CreateJS are allowed if they are included inside the .zip file and don’t exceed file-size caps.
[CTA_BOX]
HTML5 ad requirements for DV360
DV360 (Display & Video 360) is more flexible than Google Ads, especially for large, programmatic creative formats.
File size limits
DV360 accepts larger file sizes:
- Max .zip size: 200–300 KB (depending on placement)
- Polite loading allowed (additional assets load after the creative is visible)
- Video snippets allowed within polite-loaded sections (for certain formats)
This extra room makes DV360 more designer-friendly — animations can be smoother and visuals more detailed.
ClickTag requirements
DV360 uses a similar clickTag model to Google, but supports multiple exit events.
Example:
Enabler.exit('Main Exit');DV360 relies on Google Studio / Google Web Designer conventions, so creatives built for Studio often work out-of-the-box.
External calls and tracking pixels
DV360 allows limited external communication:
- 1×1 tracking pixels allowed
- Some CDN-based JS may be permitted
- Polite loading allows heavier assets to load after initial render
- Dynamic feeds are supported through Google Studio
This flexibility makes DV360 ideal for complex HTML5 campaigns.
Animation and user interaction
DV360 allows longer and more complex animation cycles as long as they don’t degrade performance.
- No strict 30-second cap — but publisher policies may enforce one.
- Interactive elements are encouraged, as long as they don’t auto-play audio.
DV360 is the best Google ecosystem platform for interactive HTML5 banners.
HTML5 ad requirements for programmatic DSPs (The Trade Desk, Yahoo DSP, Adform, etc.)
Requirements vary, but most DSPs fall somewhere between Google Ads and DV360 in terms of restrictions.
File size and format
Typical limits:
- 150–500 KB max file size
- Polite loading frequently supported
- 1–2 MB total polite-load allowance (depending on DSP)
Platforms like Adform and Sizmek support very large HTML5 creatives thanks to polite loading.
JavaScript and libraries
Most DSPs allow:
- GSAP, CSS animation, and CreateJS
- jQuery (sometimes)
- CDN-hosted libraries (depending on whitelist)
- Custom fonts (if self-hosted)
DSPs rarely allow:
- WebGL
- heavy canvas effects
- uncompressed JSON data
- request-heavy APIs
Always check with the media buyer or DSP-specific spec sheet.
Click tracking
DSP clickTags vary but follow a consistent pattern: a global clickTag variable plus event listener.
Example (The Trade Desk):
window.clickTag = "https://your-url.com";
document.body.addEventListener('click', function(){ window.open(window.clickTag); });
Yahoo DSP example:
window.adkit.onReady(function(){
adkit.clicktag('Main Exit');
});
Always confirm the exact format to prevent tracking failures.
Common reasons for DSP HTML5 disapprovals
- External scripts not approved
- Assets not compressed
- Missing clickTag
- Incompatible code from Google Web Designer
- Fonts not embedded
- Missing polite-load structure (for larger ads)
DSPs typically offer more freedom — but also more variation, so testing and validation are essential.
Best practices for building HTML5 ads that pass everywhere
To avoid building different versions for every platform, teams should follow broader best practices.
Keep file sizes low
Practical tips:
- Use SVGs instead of PNGs where possible
- Compress PNGs/JPGs aggressively (TinyPNG, ImageOptim)
- Minify CSS and JS
- Remove unused libraries or timeline code
- Avoid loading large fonts; prefer one weight or system fonts
For most ads, staying under 120 KB makes them Google Ads–safe and compatible everywhere else.
Build a universal clickTag wrapper
Create a function that auto-detects the required clickTag environment:
var clickTarget = window.clickTag || clickTag || "https://example.com";
document.body.addEventListener('click', function () {
window.open(clickTarget, "_blank");
});
This reduces the need for platform-specific code changes.
Follow a flat folder structure
- Keep everything in the root or one subfolder
- Reference assets relatively, not absolutely
- Avoid capitals, spaces, and special characters in file names
Simple structure = fewer upload issues.
Avoid disallowed external calls
Unless you’re building specifically for DV360 or a DSP with polite loading:
- Don’t fetch external CSS
- Don’t load external JS
- Don’t make API calls
- Don’t embed videos
Google Ads will reject instantly.
Validate before uploading
Use the following checklist:
✔ File size under 150 KB (for Google Ads)
✔ index.html in root
✔ clickTag implemented properly
✔ All assets referenced correctly
✔ JS and CSS minified
✔ No external URLs or CDN calls
✔ Animation stops at 30 seconds
✔ No console errors
Agencies that build HTML5 ads regularly should also test creatives in:
- Google HTML5 Validator
- DV360 Creative Preview
- Adform QA tools
- Sizmek Creative Validator
Testing early prevents last-minute campaign delays.
Why agencies and marketers should standardize HTML5 ad production
HTML5 ads perform significantly better than static formats because they support motion, interaction, and sequential storytelling — but only when built correctly.
Standardizing workflow ensures:
- Faster production
- Fewer rejections
- Higher compatibility across platforms
- Lower file sizes
- More consistent creative quality
- Improved analytics and tracking reliability
For agencies, this reduces project time and increases profit margin.
For advertisers, it ensures campaigns launch on schedule with no broken creatives.
Conclusion
HTML5 ads remain the most flexible and impactful format for digital display, but they require precise technical execution. Understanding the specific requirements of Google Ads, DV360, and programmatic DSPs prevents rejections, speeds up approval times, and ensures smooth performance across the ecosystem.
With the right structure, lightweight code, and best practices, HTML5 creatives can run across all major platforms without modification — unlocking better performance, more interaction, and a professional, modern brand experience.
Need compliant ads for every platform?
We build ad creatives that meet Google, DV360, Meta, and programmatic requirements.
Get compliant ads →


