你的广告收入被谁偷走了?广告屏蔽流量的统计

不久前,极诣曾经和读者讨论过广告屏蔽软件插件对整个互联网广告业造成的巨大影响和未来的发展趋势。这不?国庆长假期间又爆出了重磅新闻,拥有4000万用户的AdBlock插件被收购了!

广告屏蔽插件AdBlock被神秘收购

广告屏蔽插件AdBlock被神秘收购

Michael Gundlach,该插件的作者并没有透露买家的真实信息,而只是说参与了一项“可接受的广告计划”。这实实在在是被招安了。从另一个侧面看,这也是广告屏蔽软件举足轻重影响力的表现。本周极诣并不想过多地和大家分析这个重磅新闻,而想和大家一同探索如何实际了解你的网站访客里有多少已经屏蔽了你的广告。

广告屏蔽插件是如何工作的?

广告屏蔽插件只做两件事,其一是屏蔽浏览器内它认为是广告的内容,其二是保证其他内容不被屏蔽。因此一款优秀的广告屏蔽插件是否能有效识别广告内容是立身之本。广告屏蔽插件通常通过屏蔽含有某些关键字的js脚本并通过日积月累的广告来源库对你的浏览器加载的内容进行过滤。

Simo Ahava的启发,我们通过一个“诱饵”脚本来进行测试。

设置“诱饵”脚本

我们首先要新建一个js脚本,这就是我们所谓的“诱饵”。一旦鱼咬钩了,我们就能看到水面的浮标剧烈活动。这里的鱼就是广告屏蔽插件。为了让诱饵看上去更好吃,味道更鲜美,我们为它取个名字就叫“advertisement.js”。对,咱们就叫“广告.js”了。思路是这样:我们把这个js文件链接到我们的页面中,如果用户使用了广告屏蔽插件呢,js中的内容就不会被加载。所以我们在js中写入:

window[‘noBlocker’] = true;

逻辑很简单,如果被广告屏蔽插件屏蔽了noBlocker就不是true了呢!保存为advertisement.js之后我们把它上传到网站目录中去。

设置浮标变量

此时你的好朋友GTM(Google Tag Manager)又要登场了,我们需要在GTM中做2件事:首先是自定义一个js变量。其次是将此变量的值返回给你的另一个好朋友Google Analytics。

首先建立一个Custom JavaScript Variable,就叫{{JS – noBlocker}}吧。内容同样很简单:

function() {
return window[‘noBlocker’] ? undefined : ‘true’;
}

这里返回值是:如果noBlocker被我们的advertisement.js赋值了的话返回undefined(未定义),如果赋值失败则返回true。然后你懂的,我们只要把这个值传递给GA我们就可以记录下带广告屏蔽插件的访问了。值得注意的是如果变量是undefined,GA是不会记录该值的。所以只会记录true的情况。

Google Analytics上建立自定义维度

既然要赋值,我们就要给每个访问新开一个维度,也就是报表上多一列。我们到Admin -> Property -> Custom Definition -> Custom Dimension下面新建一个维度。如下图所示:

自定义一个维度用于记录广告屏蔽插件是否启用

自定义一个维度用于记录广告屏蔽插件是否启用

我们记录下这个新建的Custom Dimension的Index,因为我们接下来要回到GTM继续配置。

编辑GA标签

我们回到GTM,打开我们的GA标签。(什么?你还没用GTM部署GA?!)找到Custom Dimension填入我们记录下的Index并赋值为{{JS – noBlocker}}。这样每次页面读取我们都会把是否装了广告屏蔽插件的信息传递给GA。现在万事俱备,只欠东风了。我们要新建一个标签调用我们的诱饵脚本。

新建标签调用advertisement.js

我们新建一个Custom HTML Tag,取名叫SETUP – Link to advertisement.js。

<script>
(function() {
var d = document.createElement(‘script’);
// 这里的路径是你的js文件的相对位置,请自行编辑。
d.src = ‘/wp-content/advertisement.js’;
document.head.appendChild(d);
})();
</script>

这里的路径记得自行更改。我们保存这个标签后先别忙着为它加触发器。我们回到我们之前编辑过的GA标签,在Advanced Settings -> Tag Sequencing中勾选Fire a Tag before XXXXX,接着选择你刚新建的SETUP – Link to advertisement.js。保存后我们就收工了。

总结一下

当用户访问时首先GTM会调用GA标签,调用GA标签之前会先去尝试读取SETUP – Link to advertisement.js标签,不管是什么结果,GA标签接下去会抓取{{JS – noBlocker}}的值,最后把数据传给GA。了解了这个步骤你也可以自己绕过GTM试试纯GA的顺序代码的解决方案。

一段时间之后你就可以在GA中查看具有AdBlock这个字段的报表了。你可以通过在标准报表中设置Secondary Dimension或者自定义报表中加入AdBlock的Dimension进行查看。怎么样?很方便吧。如果你的广告系统是自己定义的你可以通过这个手段了解更多实施情况。这还对评价广告点击率有更好的参考作用。

如果你对极诣的介绍不是太明白,欢迎评论。也可以通过Simo Ahava的精彩博文了解更多。