我们有一个内部广告系统,并且经常与机器人和蜘蛛搏斗。显然,我们希望获得尽可能接近100%的有效展示次数,并且我有一个我尝试过的特定广告区域。
此广告区域仅显示在网站的1个页面上,因此我将该网页的Google Analytics网页浏览量与该广告区域的展示次数进行比较,并尽量让它们尽可能接近。
基本保护包括一个已知的机器人/蜘蛛列表,使用javascript为广告提供服务,以及一个自动收集新刮刀/机器人的蜜罐。
这使广告投放占网页浏览量的130-150%。这意味着,机器人会触发展示次数,但不会触发网页浏览量。
然后我开始只在鼠标移动时加载广告,并且递送降低到40-60%的页面浏览量。
现在这只是桌面版,没有手机版。
我没想到现在这么低的成就是什么?没有那么多人关闭JS,或没有老鼠浏览。
我实际上认为我几乎不会打断印象,认为大多数机器人会模拟鼠标移动,而不是我会将它们放得这么低。
有没有人有任何想法?
使用JS SNIPPET编辑
adShow = 0;
document.onmousemove = function(){
if (adShow == 0) {
var leaderboard = CODE_FOR_AD;
var adLeaderboard = document.querySelector('.adspace-leaderboard#adspace');
adLeaderboard.innerHTML = leaderboard;
adShow = 1;
}
}
答案 0 :(得分:0)
当您对此答案发表评论时(正如我所料),您将JS片段放在开始body
- 标记之后,因此在实际的HTML元素之前(如果您将此片段放在{{{ 1}}页面的部分)。
很有可能有人在加载页面时移动鼠标,因此mousemove事件可能会在HTML元素出现之前执行,因此广告空间永远不会被实际加载。
您可以通过将代码段放在head
结束标记之前,或者将代码包装在</body>
或onDomReady
事件中来轻松解决此问题。最后两个将分别在加载所有DOM之后或甚至在加载所有资源(图像等)之后执行代码。在你的情况下onLoad
就足够了。
像这样:
onDomReady