Documentation
Ad-Preflight validates, auto-fixes and packages HTML5 ad creatives before they reach Google Ads, DV360, Sizmek, Adform or any IAB-standard platform. The standard audit and packaging are free; the Deep Audit runs the creative in a real browser.
Start here
npx @ad-preflight/cli package ./my-ad --fixDesktop app
Check, repair and package creatives in a window: install, licence and seats, Deep Audit, reports.
CLI guide
Commands, options and examples for validating, fixing and packaging creatives from the terminal.
Deep Audit (Pro)
Real-browser runtime checks: JavaScript errors, CPU, network, visual render, animation limits.
CI/CD guide
Machine mode, exit codes, the JSON result, and ready-made GitHub Actions and GitLab CI steps.
MCP setup
Run ad-preflight as an MCP server so AI agents can validate creatives inside your editor.
Platform rejection guides
DV360 HTML5 creative rejected? Find the technical issue before upload
Preflight common Display & Video 360 HTML5 rejection causes locally: size mismatches, broken clickthroughs, missing click handling, unsupported packaging, and oversized browser downloads.
Google Ads HTML5 ad rejected? Check the ZIP before you upload
Catch common Google Ads HTML5 upload failures involving file size, unsupported files, missing ad.size metadata, and malformed creative packaging before the ad reaches review.
HTML5 ad is blank after upload? Static validation is not enough
A creative can have valid files and still render blank when its JavaScript executes in the ad environment. Deep Audit runs the creative in a local browser to expose runtime failures before upload.
HTML5 clickTag validator for ad creatives before upload
Find missing or malformed click handlers before AdOps uploads an HTML5 banner. Ad-Preflight checks clickTag implementations and supported exit patterns, then can repair safe common cases.
Heavy Ad Intervention: why Chrome removes HTML5 ads and how to test before upload
Chrome unloads ads that use too much CPU or network before the viewer interacts with them. Learn the three thresholds, why a banner that runs fine on your workstation still gets removed, and how to measure the risk in every size before handoff.
Building an AI agent or integration? There is a machine-readable summary at /llms.txt and the full documentation in one file at /llms-full.txt.