Ad Tag Tester
CPU/RAM usage, Dimensions, SSL...
HTML5 Ad Validator
Initial Load, Click Tags, Meta ad.size...
VAST Validator
Audio Loudness, Video Codecs, Dimensions...
Video Validator
MOOV Atoms, Audio Loudness, Bit Rates...
Live Chat Online
Get instant answers to your questions
Contact Support
Reach out to see how AdValify can help
Network Status
See live network status updates
Customer Testimonials
Read what others have to say about AdValify
User Guide
Get started with AdValify in seconds
Creative QA Tests
CPU/RAM usage, Initial Load, SSL, etc.
Customer Testimonials
Read what others have to say about AdValify
API: Ad Tag Tester
API docs to validate ad tags
API: HTML5 Ad Validator
API docs to validate HTML5 ads
API: VAST Validator
API docs to validate VAST ads
GitHub PHP Class
PHP Ad Validator Class
Network Status
Live infrastructure status Logo
Ad Validation Made Easy

HTML5 Ad Validator (Zip)

Check Initial Load, CPU/RAM usage, Click Tags, Meta ad.size and much more!

Ad Tag
Drop your HTML5 Ad here
Format: ZIP
Ad Spec
Go ahead, try
it yourself !

Ad Tag Tester and Validator

Scan any type of creative

HTML5 Zips, Ad Tags, Video, VAST or banners. Just drag & drop and get a detailed report.

Analyze more than 25 data points in a couple of seconds — much faster than you could ever have done manually.

Ad Tag Tester and Validator

Customizable Ad Specifications

Not every publisher adheres to the IAB guidelines. Customize when a test should pass or fail.

For example, when a creative is > 300KB or the load time is >1 second. Create different ad specs if you have multiple media channels.

Ad validation custom ad specification
Dylan Coetzee
Digital Marketing Director, OmniaMed Communications
Visualize Data Flows for Ads

Visualize Data Flows

Depending on local laws, publishers may be required to store data on servers in Europe.

Visualize to which geographical locations data is sent. Get an alert when data leaves the European Union.

Visualize Data Flows for Ads

Auto-fix Issues

No need to get back to media agencies to fix common issues with HTML5 banners.

Auto-fix issues like initial load or CSS/JS minification, and use the optimized version during the creative's flight.

Auto-fix Issues
Stefan von Gartzen
Senior Adtech Specialist, Motor Presse Stuttgart
Ad Validation Checklist Todo-list

Todo-list to keep you organized

Did you have to reject a campaign due to assets not complying with your ad specs?

Add a todo-list to the creative with issues that have to be solved before it can go live. Collaborate with your team members.

Ad Validation Checklist Todo-list

Discuss QA issues in one single place

Discuss issues with team members in one place. No more troubleshooting screenshots by email!

Let a responsible team member approve the ad before it goes live.

Ad Validation Discussions
Advalidation REST API Automation

Powerful REST API

Do you have hundreds of creatives to scan every day? Send ads to the API and get a detailed QA report in JSON format.

Great if your company uses proprietary ad server software. Simply reject creatives from being served if they don't comply with your ad specs.

Advalidation REST API Automation

HTML5 Banner Validation Checks

Meta tag ad.size

Detects the presence of the meta tag ad.size in the index.html file. This meta tag can be used to automatically detect the size of the creative by ad server vendors. Some publishers require it to streamline their ad operations.

Click Tag

Detects if the creatives uses IAB's clickTag standard in order for third parties to be able to track clicks. Without a clickTag, third parties may not be able to track clicks. Publishers commonly require them.

CSS/JS Minified

Whether or not all CSS/JS files have been minified by removing non-essential white space and line breaks. Minification may yield great reductions in file size. Less bytes means faster loading times.

Images Optimized

Whether or not all files have been optimized by crunching without quality loss. Image optimization may yield great reductions in file size. Less bytes means faster loading times.

External Assets

Determines if the creative makes calls to external servers, to load shared libraries for example. Some publisher require ads to have all necessary files bundled in the Zip archive.

Uses jQuery

Determines if the creative loads the jQuery library. jQuery is a relative big library. It adds up to the overall file size and CPU time. Most part of the library will likely not even be used.

HTML5 Library

Detects the HTML5 library used, like GreenSock, CreateJS or GWD. Just nice for you to know :)

Hosted File Size

The total size of all files the ad server has to host, after unpacking the zip archive. With thousands of creatives to host, ad server vendors may apply a limit to the hosted file size.

File Types Allowed

This test will pass if only allowed file types are present in the Zip archive (html, js, css, jpg, png, etc). Ad server vendors who don't sanitize files after extraction may have their security at risk. Imagine if the Zip archive contains a .PHP file (or any other server-side script).

Load Size: Total

The total load size of all network responses after loading the creative. Keeping the load size at a minimum improves the user-experience and reduces page load time.

Load Size: Initial

The total load size of all network responses before the DOMContentLoaded event. Keeping the load size at a minimum before the publisher's page has loaded improves the user-experience.

Load Size: Subload

The total load size of all network responses after the DOMContentLoaded event. Keeping the load size at a minimum improved the user-experience, thought the subload is of less importance.

Network Requests

The total number of network requests after loading the creative. Keeping the number of HTTP requests at a minimum improves page load.

CPU Usage

The total CPU time devoted to loading the ad. Heavy ads are one of the reasons why people are using ad blockers. CPU cycles drain batteries on mobile phones.


The time it took for the DOMContentLoaded event to fire. Ads that fire the DOMContentLoaded event late stay in a 'loading' state.


The detected with and height of the creative. You want to make sure the dimensions match standard size ad units.

Has Video

Whether or not the creative plays video (even muted). Videos are generally heavy assets. You may want to be aware of it.

Memory Usage

The amount of RAM the ad claimed when fully loaded. Ads are displayed in iframes, which essentially is a tiny web page. Excessive memory usage may have a negative user experience, especially on mobile phones.


Whether or not all requests were made over TLS We're in 2022, and secure connections are everywhere. If the ad uses unsecure connections (http://), it can't be loaded on a secure page.

Iframe Count

The number of iframes created by the ad. Iframes are essentially tiny web pages. Some ad tech vendors use iframes to send measurement pixels, as it allows to run JavaScript to gather extra information about the user. Each iframe however requires some extra RAM.

Cookies Dropped

The number of cookies dropped by the ad. Third party cookies are on the brink of becoming extinct. And dropping cookies without user-consent in the EU may not be a great idea.

Heavy Ad Intervention

This test tells you if the ad will be removed in Google Chrome browsers due to its Heavy Ad Intervention (HAI). Chrome has a built-in mechanism to remove ads that consume too much resources (RAM and CPU). Ads that are removed after a couple of seconds still count as an impression, but the CTR would be near zero.

Console Errors

JavaScript errors thrown while loading the ad. Errors may prevent the ad from being displayed at all.

Console Warnings

Console warnings thrown while loading the ad. Although warnings may not be that severe, it's best to be aware of them in order to avoid potential issues.

Creative Rendered

This test will pass if the ad was successfully loaded. Blank ads are usually an indication the campaign was (geo)targeted. Or disabled. Or the ad failed to load due to errors or missing assets.

Blocked by AdBlock

Determines if the ad will be blocked by most common ad blockers. Ad blockers not only lead to a missed opportunity, it also fuels discrepancies between ad systems.

Uses document.write()

Detect usage of document.write() JavaScript calls. It's a synchronous function that blocks page render. Nothing else can be done in parallel, and consequently the impact on user-experience can be considerable.

Creative Border

Detects if the creative has a high-contrasting border. Imagine the publisher's page background is blue, and the creative is blue as well. Then where does the ad start and end? It should be unambigous for the user that the image is an ad.

Missing Assets

This test logs all requests to non-existing assets, resulting in 404s. Missing assets are usually not intentional. It can prevent the ad from being displayed correctly.

Dialogs and Modals

Detects if the creative uses JavaScript's confirm() and alert() functions. Some bad ads may throw modals that users have to click away. You certainly don't want those on your page.

Measurement Pixels

All measurement pixels sent using IMG, XHR and sendBeacon. Each pixel may transfer user information to a third party server. They also increase the total number of HTTP requests.

Local Storage

All items set in window.localStorage after loading the ad The localStorage API let developers store information in the user's browser. It can be anything, from user identifiers to personally identifiable information (PII). Something you may want to be aware of.

Syntax Errors

This test checks if the HTML code contains syntax errors. Syntax errors may lead to non-working ads.

Robert Konior
Software Developer, Agora

Ad Validation - Automated & Scalable

Do you need to test anything else?

Try AdValify with your team

Get instant access to the platform — see how it works.