Help others
saving time too!

Ad Validation Checklist (50+ data points)

Written by Roy
Oct 14, 2021 • 3 min read

Host-initiated subload, document.write(), CPU usage... Are you working in ad ops and have to validate ads regularly?

Use this checklist to tick off tests you've performed for a creative.

List for Ad Tags and HTML5 Ads

Data pointDescription
Load Size (Total) The total load size of all network responses after loading the creative.
Initial Load The total load size of all network responses before the DOMContentLoaded event.
Host-initiated Subload The total load size of all network responses after the DOMContentLoaded event.
Network Requests The total number of network requests after loading the creative.
CPU Usage The total CPU time devoted to loading the ad.
Ad Load Speed The time it took for the DOMContentLoaded event to fire.
Ad Size The detected ad size in pixels.
Has Video Whether or not the creative plays video (even muted).
Memory Usage The amount of RAM the ad claimed when fully loaded.
SSL-Compatibility Whether or not all requests were made over TLS/SSL.
Iframe Count The number of iframes created by the ad.
Cookies Dropped The number of cookies dropped by the ad.
Heavy Ad Intervention Removed by Chrome's HAI, based on an educated guess.
JavaScript Errors JavaScript errors thrown while loading the ad.
Console Warnings Console warnings thrown while loading the ad.
Visual Artifacts For example, 300x251 pixels.
Creative Rendered Returns true if something was painted on the screen.
Blocked by AdBlock Probability to be blocked by ad blockers.
Uses document.write() Based on the detection of synchronous JS calls.
Creative Border High-contrasting border, based on image edge detection.
Missing Assets Requests to non-existing assets, resulting in 404s.
Dialogs and Modals Detection of JavaScript's confirm() and alert().
Measurement Pixels Pixels sent using IMG, XHR and sendBeacon.
Local Storage Items set in window.localStorage after loading the ad.

Extra tests for HTML5 Ads

Data pointDescription
Meta tag ad.size Presence of the meta tag ad.size to define the dimensions.
Click Tag Presence of a clickTag (all 4 variants).
CSS/JS Minified Whether or not all files have been minified.
External Assets Requests to third-party servers, not hosted by the publisher.
Uses jQuery Detection of jQuery used in HTML5 ads.
HTML5 Library Library detection, based on AdValify's database with fingerprints.

List for VAST Video Ads

Data pointDescription
Audio Sample Rate Detected audio sample rate from the video.
Audio Codec Detected audio codec from the video.
Audio Loudness Detected audio loudness from the video.
Video Aspect Ratio Detected aspect ratio from the video.
Video Dimensions Detected dimensions from the video.
Video Definition Based on industry standards.
Video Duration Detected video duration in seconds.
Video Bit Rate Detected video bit rate.
Frame Rate Detected video frame rate.
Video File Size Video file size when fully downloaded.
Container Format Detected video container format.
Video Codec Detected video codec.
MOOV Atom Location Should be in the beginning for direct playback.
Delivery Type As reported by the VAST document.
VAST Version As reported by the VAST document.
Download Speed Download speed may vary throughout the day.
Skip Offset As reported by the VAST document.
SSL-Compatibility Returns true if all assets were loaded over TLS/SSL.
CORS Header Based on the HTTP header of the XML document.
Wrapper Redirects Based on internal VAST wrapper redirects (not 302's).
Video Mime-Type Based on the HTTP response header of the video.
Ad System As reported by the VAST document.
Creative Count As reported by the VAST document.
XML Load Time Time it took to download the XML file.
XML HTTP Code Based on the HTTP response header of the XML file.
XML File Size The total size of the XML file.
XML Content-Type Based on the HTTP response header of the XML file.

Perform all tests in a couple of seconds?

No time to check each test manually? Use these free online scanners to validate Ad Tags, HTML5 Ads or VAST tags. Here's a screenshot of what the result looks like. Scanners provided by

Free Ad Tag Tester Online

Automated scans using APIs

Increase your workflow by scanning hundreds of ads automatically. First, download this PHP class from Github:

Then, run these lines of code:

$AdValify = new AdValify();
$result_tag = $AdValify->scanTag("This is an ad tag...");
$result_zip = $AdValify->scanZip("Binary Zip data here...");
$result_vast = $AdValify->scanVAST("URL pointing to VAST document...");

The result will be an array, which you can use further down in your logic. Check out the complete API Documentation for a list of all data points collected by the scanner.

External Resources

More from