100% Private & Browser Based

Campaign Manager 360 (CM360) HTML5 Creative Specs and Upload Guide (2026)

Campaign Manager 360 accepts an HTML5 creative as a ZIP or ADZ file of up to 100 files and 9.5 MB, with at least one click tag in the primary HTML file. It is a different product from Google Ads, which stops at 600 KB, and from Display & Video 360, which caps the served weight at 5 MB instead of the ZIP. This guide covers the CM360 rules, the click tag code it expects, and the problems that stop an upload.

Validate Your CM360 ZIP Banners

Pick CM360 in the validator to test ZIPs against the 9.5 MB limit, the 100 file maximum, the CM360 file type list and the click tag rules, in your browser and without uploading anything.

1. CM360 naming conventions and identifiers

A campaign with dozens of sizes and several versions needs names a trafficker can sort. CM360 assigns its own IDs, but the creative name is yours, so put the facts people filter by into it.

CM360 field What it is Good practice
Creative name Free text you set on upload Brand_Product_Concept_300x250, with the size last so it sorts
Creative type Display, display image or rich media HTML5 ZIPs are display creatives
Creative ID Numeric ID CM360 assigns on upload Quote it in every support ticket and QA report
Version Increments when assets are replaced on an existing creative Replace assets instead of uploading a new creative, so placements keep their assignment
File names inside the ZIP Paths the HTML references No percent symbol anywhere in a file name

2. CM360 technical specifications

From CM360's asset options for display creatives and how to prepare HTML5 display assets:

CM360 publishes no animation length cap of its own, but many publishers stop at 30 seconds, so the validator warns there. Serve every asset over https://: the validator fails any http:// reference in every mode.

3. The clickTag code CM360 expects

For HTML5 uploaded directly, CM360 reads a standard variable declared in the <head> of the primary HTML file, and opens it with window.open(window.clickTag):

<head>
  <meta name="ad.size" content="width=300,height=250">
  <script type="text/javascript">
    var clickTag = "https://www.example.com";
  </script>
</head>
<body>
  <a href="javascript:window.open(window.clickTag)">
    <div id="banner-container"></div>
  </a>
</body>

4. Problems that stop a CM360 upload

index.html is not at the root of the ZIP

Cause: the archive was made by zipping the enclosing folder, so the HTML sits one level down. Fix: select the HTML file and its asset folders together and compress those. The validator reports index.html Nested in Subfolder. Details in the missing primary asset fix.

No click tag, or the wrong casing

Cause: no declaration at all, or clicktag and ClickTag instead of clickTag. JavaScript names are case sensitive, so the ad server never finds a miscased variable. Fix: declare var clickTag in the head, or inject it with the clickTag Editor. See how to fix a missing clickTag.

Local or session storage

Cause: the banner calls localStorage or sessionStorage, which CM360 refuses to help protect user privacy. Fix: keep state in memory, and use CM360's own targeting and frequency caps instead. The validator reports Storage API Usage in CM360 mode; treat it as a blocker. More in the storage rules for display ads.

A ZIP inside the ZIP, or a percent sign in a file name

Cause: a source package or an export named like banner_50%.png. Fix: delete nested archives and rename files to letters, numbers, underscores and periods.

More than 100 files, or a file type CM360 does not take

Cause: loose animation frames, source files or video. Fix: combine images into sprite sheets and remove everything the HTML does not reference. The validator reports Too Many Files in ZIP or Unsupported File Formats with the offending names.

5. Agency trafficking QA flow

  1. Drop every ZIP of the campaign into the AdCheckLab Validator with CM360 selected.
  2. Fix every error. Read every warning, especially storage and click tag placement.
  3. Export the CSV QA report and attach it to the delivery.
  4. Upload to CM360, then check each exit in the CM360 preview.

If the same creatives also run on Google Ads or DV360, compare the rules side by side in Google Ads vs CM360 vs DV360, which also lists the DV360 rejection reasons for the DSP side.