Share with
your colleagues!

Ad Validation Checklist (50+ data points)

Written by Roy
Apr 5, 2022 • 46 min read
PDF Version
Download instantly
AdValify.io chevron_right Knowledge Base chevron_right
Ad Validation
PDF Version
Download instantly

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
check
Load Size: Total The total load size of all network responses after loading the creative.
check
Load Size: Initial The total load size of all network responses before the DOMContentLoaded event.
check
Load Size: Subload The total load size of all network responses after the DOMContentLoaded event.
check
Time to Visual Start The time it took for something to the painted on the screen.
check
Animation Duration The time it took for all pixels to stop moving, after the first pixel was painted on the screen.
check
Network Requests The total number of network requests after loading the creative.
check
CPU Usage The total CPU time devoted to loading the ad.
check
DOMContentLoaded The time it took for the DOMContentLoaded event to fire.
check
Dimensions The detected width and height of the creative.
check
Has Video Whether or not the creative plays video (even muted).
check
Memory Usage The amount of RAM the ad claimed when fully loaded.
check
SSL-Compatibility Whether or not all requests were made over TLS
check
Iframe Count The number of iframes created by the ad.
check
Cookies Dropped The number of cookies dropped by the ad.
check
Heavy Ad Intervention Removed by Chrome's HAI, based on an educated guess.
check
Console Errors Errors thrown while loading the ad. Usually JavaScript errors.
check
Console Warnings Console warnings thrown while loading the ad.
check
Creative Rendered Returns true if something was painted on the screen.
check
Blocked by AdBlock Probability to be blocked by ad blockers.
check
Uses document.write() Based on the detection of synchronous JS calls.
check
Creative Border High-contrasting border, based on image edge detection.
check
Missing Assets Requests to non-existing assets, resulting in 404s.
check
Dialogs and Modals Detection of JavaScript's confirm() and alert().
check
Measurement Pixels Pixels sent using IMG, XHR and sendBeacon.
check
Local Storage Items set in window.localStorage after loading the ad.
check
Syntax Errors Syntax errors in the HTML code.
check
Landing Page Working Checks if the landing page works on click-through.

Extra tests for HTML5 Ads

Data pointDescription
check
Meta tag ad.size Presence of the meta tag ad.size to define the dimensions.
check
Click Through Determines how a click-through is handled. Valid types are click_tag, exit_event, hard_coded or none.
check
CSS/JS Minified Whether or not all CSS/JS files have been minified by removing non-essential white space and line breaks.
check
Images Optimized Whether or not all images have been optimized by crunching without quality loss.
check
External Assets Requests to third-party servers, not hosted by the publisher.
check
Uses jQuery Detection of jQuery used in HTML5 ads.
check
HTML5 Library Library detection, based on AdValify's database with fingerprints.
check
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.
check
Hosted File Count The total number of files and folders inside the zip archive.
check
Index File Check This test will pass there's an index.html file in the root of the directory.
check
Backup Ad Found This test will pass if a backup ad has been found inside the Zip folder.
check
CSS Embedded This test will pass if a all CSS has been embedded in the index.html file.

List for VAST Video Ads

Data pointDescription
check
Ad System As reported by the VAST document.
check
CORS Header Based on the HTTP header of the XML document.
check
Creative Count As reported by the VAST document.
check
SSL-Compatibility Returns true if all assets were loaded over TLS/SSL.
check
VAST Version As reported by the VAST document.
check
Contains VPAID A boolean indicating whether or not the tag contains VPAID.
check
Wrapper Redirects Based on internal VAST wrapper redirects (not 302's).
check
XML Content-Type Based on the HTTP response header of the XML file.
check
XML Load Time Time it took to download the XML file.
check
XML HTTP Code Based on the HTTP response header of the XML file.
check
XML File Size The total size of the XML file.
check
Video Bit Depth Detected video bit depth.
check
Video Scan Type The scan type of the video.
check
Video Letterboxing Detects if the video is letterboxed (black bars).
check
Audio Channels Detected number of audio channels.
check
Audio Compression Detected audio compression.
check
Audio Sample Rate Detected audio sample rate from the video.
check
Audio Codec Detected audio codec from the video.
check
Audio Loudness Detected audio loudness from the video.
check
Audio True Peak Detected audio true peak.
check
Audio Bit Rate Detected audio bit rate.
check
Video Aspect Ratio Detected aspect ratio from the video.
check
Video Dimensions Detected dimensions from the video.
check
Video Duration Detected video duration in seconds.
check
Video Bit Rate Detected video bit rate.
check
Video Bit Rate Mode Detected video bit rate mode.
check
Video Chroma Subsampling The chroma subsampling of the video.
check
Video Color Space The color space of the video.
check
Video Frame Rate Detected video frame rate.
check
File Size File size of the video.
check
File Format Detected video container format.
check
File Extension File extension of the video.
check
Video Codec Detected video codec.
check
MOOV Atom Location Should be in the beginning for direct playback.
check
Delivery Type As reported by the VAST document.
check
Skip Offset As reported by the VAST document.
check
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.


Download this article as PDF?

No time to read the whole article? Download a free PDF version of this article for later:

Permalink

To link to this article, please use:
https://www.advalify.io/ad-validation-checklist-77191

External Resources

More from AdValify.io