Help others
saving time too!

Ad validation dictionary and glossary

Written by Roy
Oct 14, 2021 • 3 min read

Host-initiated subload, document.write(), CPU usage... What kind of things do you check when validating ads?

Here's a list of commonly used data points in ad validation.

Ad validation checks for Ad Tags and HTML5 Ads

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

Extra tests for HTML5 Ads

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

Ad validation points for VAST Video Ads

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


This is a non-exhaustive list of data points. I'd appreciate if you could let me know any test that is missing here - I'll add it to this list for completion sentiment_satisfied_alt

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