AdManager - 如何衡量可见度

AdManager - how to measure viewability

我使用 Google AdManager,但遇到了这个问题。 如何衡量从其广告单元占位符呈现的广告素材的可见性?

AdManager 在 iframe 中呈现所有广告素材。我使用这个脚本来处理父页面:

var w=window.parent; //parent window reference
var d=w.document; //parent document reference
var jQuery = w.jQuery; //reference to jQuery in parent page context
var ifr = d.getElementById(window.frameElement.id);
ifr.style.display = 'none'; //hide iframe to avoid empty white place on the page
    
jQuery('...banner location...').after(...rendering creative out of adManager ad unit);

效果很好,但 AdManager 当然不会衡量此广告素材的可见度。有什么办法可以解决吗?

无法通过脚本移动 DOM 中的广告单元,因为您无法移动 iframe 和脚本等活动元素。 使用 adUnit 作为可点击层并通过“position: absolute”将其移动到呈现的广告素材之上并不是那么容易,因为不同的容器(adUnit 和真正的广告素材占位符)使用“position: relative”重置绝对坐标。 因此脚本必须计算两个元素的实际位置,但一次是不够的。该页面包含交互元素,元素的坐标可能会随时间变化。

有没有更简单的方法? 我能否以某种方式告诉 AdManager,此元素是广告素材的一部分,并且它可以在活动视口中计算可见度?

感谢您的回答。

根据官方文档 (here),无法在广告 iframe 之外测量可见度:

Custom JavaScript executed as the creative payload that inserts the actual content somewhere else within the ad iframe, but outside of the creative . Active View will search for a second with the class attribute GoogleActiveViewInnerContainer. This expands to the size of the ad container, but allows the container size to be measured from within the ad iframe.

如果您找到一种通过强制使用新的 iframe 大小在广告 iframe 中呈现您的广告素材的方法,您可以将呈现的广告素材包装在 div class="GoogleActiveViewInnerContainer" 中以告知 Active View 在何处观看可见度。可悲的是,详细来说,它只能在广告 iframe 中使用。