document_scanner
Ad Tag Tester
CPU/RAM usage, Dimensions, SSL...
document_scanner
HTML5 Ad Validator
Initial Load, Click Tags, Meta ad.size...
document_scanner
Video Validator
MOOV Atoms, Audio Loudness, Bit Rates...
document_scanner
Banner Ad Validator
Dimensions, Aspect ratio, SFW, Creative Border...

Scan Ad Tags

Endpoint

post
/v3/scanTag



Parameters

data
string, required
The ad tag in base64-encoded format.
spec_id
int, optional
The ID of an ad specification set against which you want to validate the creative. Defaults to 0 (IAB guidelines).
workspace_id
int, optional
The ID of the workspace in which you want to store the results.
name
string, optional
The name of the ad tag. Will be added to the JSON result, allowing you to keep track of which creative you scanned.


Response
200
400
401
429







































































































3pas
string
The name of the third-party ad server, if detected successfully. Remains blank otherwise.
animation_duration
int
The time it took for all pixels to stop moving, after the first pixel was painted on the screen. In milliseconds. If the creative animation did not finish when the timeout kicked in, this value will equal -1.
blocked_by_adblock
boolean
Whether or not the tag will likely be blocked by ad blockers.
console
array
All errors and warnings generated while loading the creative.
cookies
array
All cookies that were dropped by the creative, either set via JavaScript or via an HTTP header.
cpu_usage
int
The CPU usage, in milliseconds.
creative_rendered
boolean
Equals true in case something was painted on the screen, false otherwise.
dialogs
array
Any dialog message the creative shows as a pop-up. Generally created by alert() and confirm().
dimensions
array
The detected width and height of the creative.
dom_content_loaded
int
The time it took for the DOMContentLoaded event to fire, in milliseconds.
has_border
boolean
Whether or not the creative has a contrasting border.
has_video
boolean
Whether or not the creative plays video content.
iframes
int
The number of iframes added to the DOM. This should be kept at a minimum to reduce memory usage.
landing_page
array
An object with various information about the landing page that opened upon clickthrough.
local_storage
array
All key/value pairs stored in window.localStorage.
memory_usage
int
The amount of RAM memory used, in bytes.
meta
array
Meta-data about the scan, like the CPU used, the time it took to complete the scan, the server location, etc.
mobile_friendly
boolean
Whether or not the creative will display fine on a mobile device. Equals true if the creative is either responsive or less than 300 pixels wide.
network
array
All network requests and their responses, including a full echo of the HTTP headers. Provides SSL certificate information too.
job_id
string
A unique ID assigned to the scan.
name
string
The name of the creative (copied from the payload).
tips_and_updatesscan_results
object
An object containing the full scan results, including the number of passed/failed tests. The tests array contains the result of each test performed.
screenshot
array
A screenshot of the creative, in both high-res and thumbnail format. The url points to the location where the screenshot can be found.
ssl
boolean
An object with information about the creative's SSL-compliancy. Insecure URLs loaded over http:// will be listed here.
time_to_visual_start
int
The time it took for something to the painted on the screen. In milliseconds. If nothing was displayed at all, this value will equal -1.
uses_document_write
boolean
Whether or not the creative uses the JS document.write() function. Synchronous code should be avoided.
cURL
curl "https://{your_name}.api.advalify.io/v3/scanTag"
  -H "X-ApiKey: TCm2Hd_rT4pRNvSZ2cGYCJ6... (example)"
  -X POST
  -d '{
    "data": "WW91ciBhZCB0YWcgaGVyZS4uLg=="
  }'
Example Response
{
     "3pas": "Google Ad Manager (GAM)",
     "animation_duration": 3420,
     "blocked_by_adblock": true,
     "console": {
         "errors": ["Error: ReferenceError: somefunction is not defined"],
         "warnings": []
    },
     "cookies": [{
         "domain": ".doubleclick.net",
         "expires": 1646483650.085365,
         "httpOnly": true,
         "name": "IDE",
         "path": "/",
         "priority": "Medium",
         "sameSite": "None",
         "secure": true,
         "session": false,
         "size": 70,
         "value": "AHWqTUlqh0OPFbGUeGXQqkXebE_Tf9xEs0i7fspXWBfoQHL0p3ooP5Iv-vx7JYmWKsA"
    }],
     "cpu_usage": 634,
     "creative_rendered": true,
     "dialogs": [],
     "dimensions": {
         "height": 250,
         "width": 300,
         "text": "90x728"
    },
     "dom_content_loaded": 166,
     "has_border": true,
     "has_video": false,
     "iframes": 2,
     "landing_page": {
         "screenshot": {
             "bytes": 21624,
             "mime_type": "image/png",
             "url": "https://try.cdn.advalify.io/img/9k30d-9k30d-06c63-6185f-5tp7csxb.png",
            
        },
         "tab": "new",
         "title": "Google",
         "url": "https://www.google.com",
         "working": true
    },
     "local_storage": [],
     "memory_usage": "11313152",
     "meta": {
         "api_version": "v3",
         "cpu": "AMD 16-Core EPYC 7302P",
         "creative_type": "ad_tag",
         "device": "Desktop",
         "language": "en-US",
         "ram": "128GB",
         "scan_duration": "2.809499",
         "server_location": "ams",
         "timestamp": 1612787651,
         "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
    },
     "missing_assets": [],
     "mobile_friendly": true,
     "name": "My ad tag",
     "network": {
         "load_size": {
             "host_initiated_subload": 0,
             "initial_load": 263515,
             "total": 263515
        },
         "measurement_pixels": 0,
         "responses": [{
             "bytes": 19175,
             "headers": {
                 "cache-control": "private, max-age=900, stale-while-revalidate=3600",
                 "content-encoding": "gzip",
                 "content-length": "19175",
                 "content-type": "text/javascript",
                 "date": "Mon, 08 Feb 2021 12:34:09 GMT",
                 "etag": "777 / 11 of 1000 / last-modified: 1612786878",
                 "expires": "Mon, 08 Feb 2021 12:34:09 GMT",
                 "server": "sffe",
                 "timing-allow-origin": "*",
                 "vary": "Accept-Encoding",
                
            },
             "is_pixel": false,
             "method": "GET",
             "resource_type": "script",
             "server_ip": "142.250.179.194",
             "ssl": true,
             "ssl_info": {
                 "protocol": "TLS 1.3",
                 "validFrom": 1611043025,
                 "validTo": 1618300624
            },
             "status": 200,
             "status_text": "",
             "timing": 172,
             "url": "https://securepubads.g.doubleclick.net/tag/js/gpt.js"
        }]
    },
     "job_id": "2af21-de8d9-7cb57-8f014",
     "scan_results": {
         "failed": 2,
         "passed": 19,
         "report_url": "https://share.advalify.io/c2450-f8e87-71c8a-bf12f",
         "tests": {
             "load_size": {
                 "test": "load_size",
                 "name": "Load Size: Total",
                 "data_type": "int",
                 "unit": "bytes",
                 "expected": 524288,
                 "expected_text": "less than or equal to 524288 bytes",
                 "actual": 0,
                 "operator": "<",
                 "result": "passed"
            }
        }
    },
     "screenshot": {
         "highres": {
             "bytes": 37715,
             "color": "#77b2c1",
             "mime_type": "image/png",
             "url": "https://try.cdn.advalify.io/img/qa-report-983243-aue7bczw9t3v.png"
        },
         "thumbnail": {
             "bytes": 3460,
             "color": "#77b2c1",
             "mime_type": "image/jpg",
             "url": "https://try.cdn.advalify.io/img/qa-report-983243-6gn25mbhxwu9.jpg"
        }
    },
     "ssl": {
         "compliant": true,
         "insecure_urls": []
    },
     "time_to_visual_start": 230,
     "uses_document_write": false,
    
}
Giovanni uses the API
to enfore compliance at scale
Giovanni Sollazzo
Giovanni Sollazzo
starstarstarstarstar
Founder & Chairman, AIDEM Technologies