Back to Resources
6 min read

Ad Platform Export Guide

Export HTML5 banners from the Custom Banner Editor for any major ad platform. This guide covers platform selection, clickTag injection, validation, and downloading compliant ZIP files.

14 Platforms

Google Ads, DV360, TTD, Xandr, Amazon, and more — all from one modal.

Auto Validation

File size, external calls, looping, and animation limits are checked automatically.

ZIP Download

Download a ready-to-upload ZIP with index.html at the root and correct clickTag.

Opening the Export modal

The Export button sits in the Custom Banner Editor toolbar, between Save and Publish. Click it to open the export modal. You'll see a grid of 14 supported ad platforms.

1
Open the editor

Navigate to a custom banner instance in Banner Studio. The editor loads your template code, variables, and preview.

2
Click Export

The Export button is in the toolbar. It opens a modal with platform selection, requirements, validation results, and a download button.

Choosing a platform

Click any platform in the grid to select it. The requirements panel updates immediately to show the platform's constraints.

Each platform defines up to five rules:

Max file size

Google Ads and AdSense enforce 150KB. Most others allow 200KB. Generic/IAB has no limit.

Animation time limit

Most platforms cap animation at 30 seconds. The Trade Desk and Yahoo DSP limit to 15 seconds.

External calls

Most platforms block external scripts and stylesheets. When disallowed, XeroFlow strips them from the exported HTML and shows a warning.

Looping

Google Ads, AdSense, and AdRoll prohibit infinite loops. XeroFlow detects GSAP repeat: -1 and CSS infinite iteration.

Understanding clickTag injection

When you export, XeroFlow does not wrap your banner in a generic click link. Instead, it injects the platform's specific clickTag script before </body>.

The key differences between platforms:

Google family

Uses var clickTag — same variable name across Google Ads, DV360, GAM, CM360, and AdSense.

The Trade Desk

Uses var clickTAG — note the uppercase TAG. Case-sensitive and will break if wrong.

Xandr (AppNexus)

Requires the AppNexus HTML5 library loaded in <head>, then uses APPNEXUS.getClickTag(). XeroFlow injects both automatically.

Yahoo DSP

Uses the AdKit library with adkit.onReady() and adkit.clicktag(). Library injected into <head> automatically.

Validation and warnings

After clicking Download ZIP, the validation panel appears below the requirements. It shows:

  • A file size meter with a progress bar — green under 80%, yellow at 80-100%, red if over the limit.
  • Error-level warnings (red) for hard violations like exceeding the file size cap.
  • Advisory warnings (yellow) for things like animation time limits or detected looping.

The ZIP still downloads even if there are warnings — you decide whether to address them. Errors indicate the ad server will likely reject the file.

What's in the ZIP

The downloaded ZIP contains a single index.html file at the root. This file includes:

  • The <meta name="ad.size"> tag with width and height.
  • All CSS and JS inlined — no external dependencies (unless required by the platform, like AppNexus or AdKit).
  • Variable substitutions already applied — the HTML is fully rendered with your configured values.
  • The platform-specific clickTag script injected before </body>.

No impression or click tracking pixels are included — those are handled by the ad server. The ZIP filename follows the pattern banner_name_300x250_google_ads.zip.