Skip to content
Sizewright

HTML5 banner checklist: pass upload the first time

By Sizewright5 min read

An HTML5 banner is a small website in a ZIP file, and every ad platform has its own idea of what that ZIP may contain. This checklist covers what each platform checks on upload, in the order you would build the banner, so the file goes through the first time.

The limits come from each platform’s own help pages, checked on October 16, 2026. The ad spec pages keep the sources and dates.

Know the limits before you build

Weight and file count decide how you build the banner, so look them up first.

PlatformPackageWeight limitFiles
Google AdsZIP600 KB40[1]
Campaign Manager 360ZIP or ADZ10 MB on one help page, 9.5 MB on another100[2][3]
Display & Video 360ZIPNo upload limit; 5 MB downloaded when the ad serves100[4][5]
AdformZIP with manifest.json300 KB on desktop, 200 KB on mobile, measured unzippedNot stated[6][7]
Microsoft Invest (Xandr)One ZIPNot statedNot stated[8]
IAB New Ad PortfolioNot specifiedPer size, gzipped: 150 KB initial load for a 300×25010 requests at initial load[9]

Two account-level details matter in Google Ads. HTML5 uploads need an eligible account: one “open for more than 90 days” with “more than $9,000 USD total lifetime spend” and a good policy record. Such an account can then apply for access, which Google may approve.[1] Google is also moving Display campaigns into Demand Gen, and one of its help pages lists HTML5 uploads there as “Planned for late 2026”.[10] Check what your account offers before you promise HTML5.

Package and markup

  1. Put index.html at the root of the ZIP. Microsoft Invest says the file must reside “at the root of the zip file and not in a subfolder”.[8] Adform wants manifest.json and the main HTML file at the root as well.[6]
  2. Write a complete HTML document. Google asks for the doctype, the html tag and the body tag.[1] Microsoft Invest asks for html, head and body.[8] Use UTF-8 for any character outside plain ASCII.[1]
  3. Add the size meta tag to the head. Google Ads requires it, in the form <meta name="ad.size" content="width=300,height=250">.[1] CM360 calls it optional, and DV360 includes it in its build steps.[2][4] It is one line, so add it to every banner.
  4. Reference everything with relative paths. Google allows no external references except Google Fonts and its own hosted copies of CreateJS, GreenSock and jQuery.[1] CM360 does not allow plain http URLs in creative code.[11]
  5. Ship only files the banner uses. CM360 rejects nested ZIPs, unreferenced files and a percent sign in any file name.[2] DV360 wants the ZIP’s own name shorter than 50 characters.[4]
  6. Leave browser storage alone. CM360 and DV360 do not accept banners that use local storage or session storage.[2][4]

The clickTag, per ad server

The ad server, not the banner, decides where a click goes. The banner reads the click-through address from a variable the ad server fills in, and the mechanism differs per platform.

  1. Google Ads and CM360: declare a global var clickTag and open it with window.open on click. CM360 asks for “at least one click tag” and no minification.[2] Google Ads’ own spec page does not state a clickTag rule.[1]
  2. Display & Video 360: the banner needs at least one exit that leads to the advertiser’s landing page, opened in a new tab or window, with an unminified click tag.[4][5]
  3. Adform: load Adform’s DHTML library in the head, read the address with dhtml.getVar('clickTAG'), and declare every clickTAG in the clicktags section of manifest.json. The names are case-sensitive.[6]
  4. Microsoft Invest (Xandr): the click URL arrives as a parameter in the query string of the ad’s URL, following the IAB’s HTML5 clickTag guidance. Read it from there, with Xandr’s optional helper or your own script.[8][12] Never hard-code the landing page.

Backup images

  1. Upload the backup beside the ZIP, never inside it. CM360 says “Do not include a backup image in your HTML5 .zip file”, and DV360 says the same.[2][4] Both attach it separately, and its dimensions must match the banner.[3] Without one, DV360 serves a blank image wherever HTML5 cannot run.[4]
  2. Keep it light. The IAB applies the initial-load weight to backup images: 150 KB for a 300×250, 728×90 or 160×600, and 50 KB for the smartphone banners.[9] CM360’s polite-load image, if you use one, should be under 40 KB.[3]

Google Ads’ HTML5 specification does not mention a backup image.[1]

Animation, fonts and weight

  1. Stop animating in time. Google Ads, DV360 and Adform allow 30 seconds, and loops count toward that.[13][5][7] The IAB allows 15 seconds, with “no looping beyond 15 seconds”.[14] If one banner goes to several buyers, build to 15.
  2. Embed fonts the platform accepts. Google Ads’ list of allowed file types has no font formats. A custom font therefore has to be embedded in the CSS, or come from Google Fonts.[1] CM360 and DV360 accept WOFF, WOFF2, TTF and OTF files.[2][4] Wherever the font lives, subset it to the characters the banner uses.
  3. Weigh the images last. Re-encode them and step them down until the package fits. The IAB adds that on 3G or slower connections, files should weigh 30% less than its recommendations.[9]
  4. Avoid what gets banners rejected after upload. DV360 prohibits blank creatives and requires a working click-through.[15] Google and DV360 reject ads that look like site warnings or error messages.[13][15]

How Sizewright handles it

Sizewright builds the package for each ad server from an export profile, including Google Ads, CM360, Adform, Xandr and the IAB guidelines. The HTML5 ZIP carries the ad.size meta tag, fonts subset to the characters used, and images re-encoded and stepped down to fit. The clickTag is written in the form each ad server reads. A backup JPG of up to 150 KB is added for CM360, Adform, Xandr and IAB.

Every file is then validated: size, file count, file types, index.html, ad.size, clickTag, external references, length, loops, frame rate, the backup image and the manifest. Any file that misses a spec is listed in the export. Exports are free and can be repeated.

For upload steps and the full numbers per platform, see the Google Ads, CM360 and DV360 and Adform spec pages. Animation itself is covered in animated HTML5 banners.

Sources

  1. Google Ads Help, “Uploaded display ads specifications”, support.google.com/google-ads/…, checked 16 October 2026. back back2 back3 back4 back5 back6 back7 back8 back9

  2. Campaign Manager 360 Help, “How to prepare HTML5 display assets for Campaign Manager 360”, support.google.com/campaignmanager/…, checked 16 October 2026. back back2 back3 back4 back5 back6 back7

  3. Campaign Manager 360 Help, “Asset options for display creatives”, support.google.com/campaignmanager/…, checked 16 October 2026. back back2 back3

  4. Display & Video 360 Help, “HTML5 creatives”, support.google.com/displayvideo/…, checked 16 October 2026. back back2 back3 back4 back5 back6 back7 back8

  5. Display & Video 360 Help, “Guidelines for HTML5 display creatives”, support.google.com/displayvideo/…, checked 16 October 2026. back back2 back3

  6. Adform Help Center, “Requirements for HTML5 Banner Files”, adformhelp.com/hc/en-us/articles/…, checked 16 October 2026. back back2 back3

  7. Adform Help Center, “Guidelines for Display Ads”, adformhelp.com/hc/en-us/articles/…, checked 16 October 2026. back back2

  8. Microsoft Learn, “Microsoft Invest – HTML5 creative guidelines and specifications”, learn.microsoft.com/en-us/xandr/…, checked 16 October 2026. back back2 back3 back4

  9. IAB Tech Lab, “Fixed Size Ad Specifications”, iab.com/wp-content/uploads/…, checked 16 October 2026. back back2 back3

  10. Google Ads Help, “Google Display Ads campaigns have a new home in Demand Gen”, support.google.com/google-ads/…, checked 16 October 2026. back

  11. Campaign Manager 360 Help, “Manage SSL compliance in Campaign Manager 360”, support.google.com/campaignmanager/…, checked 16 October 2026. back

  12. Microsoft Learn, “Use IAB’s HTML5 clickTag Standard on Xandr”, learn.microsoft.com/en-us/xandr/…, checked 16 October 2026. back

  13. Google Advertising Policies Help, “Image ad requirements”, support.google.com/adspolicy/…, checked 16 October 2026. back back2

  14. IAB Tech Lab, “IAB New Standard Ad Unit Portfolio”, iab.com/wp-content/uploads/…, checked 16 October 2026. back

  15. Display & Video 360 Help, “Troubleshoot creatives rejected by Display & Video 360 or Google Ad Manager”, support.google.com/displayvideo/…, checked 16 October 2026. back back2

More guides

Put the guide to work.

Signing up is free. Bring your website and a brief, and get a set that follows these rules in every size.