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.
| Data point | Description |
|
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. |
|
Time to Visual Start |
The time it took for something to the painted on the screen. |
|
Animation Duration |
The time it took for all pixels to stop moving, after the first pixel was painted on the screen. |
|
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 width 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. |
|
Landing Page Working |
Checks if the landing page works on click-through. |
| Data point | Description |
|
Meta tag ad.size |
Presence of the meta tag ad.size to define the dimensions. |
|
Click Through |
Determines how a click-through is handled. Valid types are click_tag, exit_event, hard_coded or none. |
|
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 |
This test checks the total size of all files within the ZIP package that will be served when the ad is displayed. |
|
Hosted File Count |
The total number of files and folders inside the zip archive. |
|
Index File Check |
This test will pass there's an index.html file in the root of the directory. |
|
Backup Ad Found |
This test will pass if a backup ad has been found inside the Zip folder. |
|
CSS Embedded |
This test will pass if a all CSS has been embedded in the index.html file. |
| Data point | Description |
|
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. |
|
Contains VPAID |
A boolean indicating whether or not the tag contains VPAID. |
|
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. |
|
Video Bit Depth |
Detected video bit depth. |
|
Video Scan Type |
The scan type of the video. |
|
Video Letterboxing |
Detects if the video is letterboxed (black bars). |
|
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. |
|
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. |
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
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.