AdManager-如何衡量可见度

问题描述

我使用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作为可点击图层并通过“位置:绝对”将其移动到呈现的广告素材上并不是一件容易的事,因为使用“位置:相对”的不同容器(adUnit和真实广告素材的占位符)会重置绝对坐标。 因此,脚本必须计算两个元素的实际位置,但是一次还不够。该页面包含交互式元素,并且元素的坐标可能会随时间变化。

有没有更简单的方法? 我能否以某种方式告诉AdManager,该元素是广告素材的一部分,当它处于活动视口时,它可以计算可见度吗?

感谢您的回答。

解决方法

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

自定义JavaScript执行为广告素材有效载荷,可插入 实际内容在广告iframe中的其他位置,但不在 有创意的。 Active View会使用 类属性GoogleActiveViewInnerContainer。这扩展到 广告容器的尺寸,但允许容器尺寸为 在广告iframe中进行测量。

如果您找到一种通过强制设置新的iframe尺寸在广告iframe中呈现广告素材的方法,则可以将呈现的广告素材包装在div class="GoogleActiveViewInnerContainer"中,以告知Active View在哪里观看可见性。遗憾的是,详细而言,它只能在广告iframe中使用。