Blog
Viewability that matches what users actually saw
An ad slot that is 'in the DOM' is not a viewable impression. How we count the ones that are.
Ad revenue reports often start from impressions served. What a publisher needs to know is how many of those were visible long enough to matter, and what they cost in page speed.
Our definition follows the widely used 50 % of pixels for one continuous second. The script observes each marked slot with an IntersectionObserver, starts a timer when half the slot is in view, and cancels it if the slot leaves or the tab goes to the background.
Two details changed the numbers noticeably. Background tabs: a slot below the fold in a hidden tab can look intersecting to some browsers, so we also check the page visibility state. And late layout: slots that resize after load are measured on their final size, not the placeholder.
Next to viewability we report ad slot load time and the layout shift an ad caused. Plotted against revenue per placement, the three together usually show quickly which slots are worth keeping.