Help others
saving time too!

Ad Validation Checklist (50+ data points)

Written by Roy
May 18, 2022 • 34 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 ad validation tests you've performed on 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.
Load Size: Initial The total load size of all network responses before the DOMContentLoaded event.
Load Size: 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.
DOMContentLoaded The time it took for the DOMContentLoaded event to fire.
Dimensions The detected with and height of the creative.
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
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.
Console Errors Errors thrown while loading the ad. Usually JavaScript errors.
Console Warnings Console warnings thrown while loading the ad.
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.
Syntax Errors Syntax errors in the HTML code.

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 CSS/JS files have been minified by removing non-essential white space and line breaks.
Images Optimized Whether or not all images have been optimized by crunching without quality loss.
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.
Hosted File Size The total size of all files the ad server has to host, after unpacking the zip archive.
File Types Allowed This test will pass if only allowed file types are present in the Zip archive (html, js, css, jpg, png, etc).

List for VAST Video Ads

Data pointDescription
Ad System As reported by the VAST document.
CORS Header Based on the HTTP header of the XML document.
Creative Count As reported by the VAST document.
SSL-Compatibility Returns true if all assets were loaded over TLS/SSL.
VAST Version As reported by the VAST document.
Wrapper Redirects Based on internal VAST wrapper redirects (not 302's).
XML Content-Type Based on the HTTP response header of the XML file.
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.
Impression Logging Detects if impression logging has been enabled.
Audio Channels Detected number of audio channels.
Audio Compression Detected audio compression.
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.
Audio True Peak Detected audio true peak.
Audio Bit Rate Detected audio bit rate.
Video Aspect Ratio Detected aspect ratio from the video.
Video Dimensions Detected dimensions from the video.
Video Duration Detected video duration in seconds.
Video Bit Rate Detected video bit rate, including audio.
Video Bit Rate Mode Detected video bit rate mode.
Video Chroma Subsampling The chroma subsampling of the video.
Video Color Space The color space of the video.
Video Frame Rate Detected video frame rate.
File Size File size of the video.
File Format Detected video container format.
File Extension File extension of the video.
Video Codec Detected video codec.
MOOV Atom Location Should be in the beginning for direct playback.
Delivery Type As reported by the VAST document.
Skip Offset As reported by the VAST document.
Video Mime-Type Based on the HTTP response header of the video.

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 AdValify.io

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:
https://github.com/AdValify/ad-validator-php

Then, run these lines of code:

include("AdValify.php");
$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 AdValify.io