HTML5 creatives
advertiserPackage custom interactive ads as ZIP archives, implement clickTag, and adhere to sandbox security.
1. When to use custom HTML5 bundles
Upload custom HTML5 ZIP archives when you need bespoke interactive experiences, such as mini-games, product carousels, or dynamic calculation widgets.
HTML5 creatives execute inside isolated, sandboxed iframes under an enforced Content Security Policy (CSP).
2. Required ZIP archive structure
An HTML5 creative must be packaged as a single .zip archive:
- index.html must be located at the root of the archive (not inside a subfolder).
- All asset paths (CSS, JS, images, audio) must use relative paths (e.g. images/logo.png, not /images/logo.png).
- Maximum archive size: 15 MB uncompressed. Maximum file count: 100 files.
3. Implementing clickTag click tracking
To ensure clicks are properly tracked and attributed, your code must read the standard clickTag query parameter.
Include the helper script in the <head> of index.html and bind handleAdClick() to your interactive element.
Standard clickTag implementation
<script>
function getClickTag() {
var params = new URLSearchParams(window.location.search);
return params.get('clickTag') || params.get('clicktag') || 'https://example.com';
}
function handleAdClick() {
window.open(getClickTag(), '_blank');
}
</script>
<div onclick="handleAdClick()" style="cursor: pointer;">
<!-- Ad Content -->
</div>4. Sandbox security boundaries
Creatives run inside sandbox='allow-scripts' without allow-same-origin:
- No access to parent window: The creative cannot read or modify publisher page scripts, cookies, or localStorage.
- Strict CSP: External network requests are blocked. All scripts and media must be contained within the ZIP.
- Navigation: Window opening is allowed only via direct user clicks using window.open(getClickTag(), '_blank'). Automatic redirects are blocked.
- Sensor APIs: Microphone, camera, and geolocation access are disabled.
5. Testing and uploading
Open Creatives → New creative → HTML5 Archive and upload your .zip file.
The platform unzips the bundle in memory, inspects markup for clickTag, validates assets, and renders an interactive preview.
Click the CTA in preview to confirm that your destination URL opens correctly in a new tab, then click Publish Revision.