CLI-first HTML5 ad validation

Ship HTML5 ads without the QA back-and-forth.

Ad-Preflight runs locally, validates your creative, detects compliance, packaging, clickTag, asset, and performance-risk issues, and exports an upload-ready ZIP before you send it to ad-ops or the client.

Global install is best when you move between many creative folders. Use npx or a pinned dev dependency when your CI needs strict version control.

Local validation
Upload-ready ZIP
JSON output
Folder campaigns
local preflight

$ npm i -g @ad-preflight/cli

# one command, available in every ad folder

$ ad-preflight validate ./campaign

PASS 300x250/index.html

FIXED missing ad.size meta

WARN external HTTP asset

READY upload-ready.zip

Workflow

Validate every creative before anyone else has to.

Ad-Preflight fits the way creative developers already work: terminal first, editor friendly, and ready for build pipelines when teams need repeatable checks.

1

Build one creative or a folder full of sizes.

2

Run Ad-Preflight from the terminal.

3

Fix common issues locally.

4

Export an upload-ready ZIP for handoff.

Checks

Catch the issues that usually bounce back from QA.

clickTag and exits

Catch missing, malformed, or platform-hostile clickTag setup before the ZIP leaves your machine.

Creative packaging

Validate file types, asset references, ad.size metadata, and ZIP contents against common upload rules.

Local fixes

Repair common packaging problems and produce an upload-ready ZIP without sending files to a hosted service.

Pipeline signals

Use JSON output and exit codes so broken creatives fail fast in CI instead of coming back from QA.

Google AdsDV360SizmekAdformIAB sizesCustom specs

CI/CD

Fail the build before a broken ZIP reaches the handoff.

Run the CLI in GitHub Actions, agency build scripts, or release checks. JSON output and exit codes make it easy to fail builds and surface issues in logs or pull requests.

- run: npm ci
- run: npx @ad-preflight/cli validate ./ads --json
- run: npx @ad-preflight/cli package ./ads --out dist/ads.zip

Coming soon

Deeper runtime validation when the campaign needs more than static checks.

The --deep plugin brings runtime validation to the CLI: JavaScript errors, long tasks, CPU-heavy code, network behavior, and visual checks — all before the creative reaches QA.

Local by design

Deeper checks without uploading creative files.

Runs locally, like the rest of Ad-Preflight, so you can inspect more runtime behavior without a creative ever leaving your machine.