大数跨境

广告拦截器可能影响分析报告

广告拦截器可能影响分析报告 电商实践
2017-06-08
2
导读:广告拦截软件不仅会屏蔽广告,还会阻止大多数由分析工具(如 Google Analytics、Adobe Analytics 和)使用的跟踪信标。

广告拦截软件不仅会拦截广告,还会拦截大多数由分析工具(如 Google Analytics、Adobe Analytics 等)使用的跟踪信标。

优化和咨询公司 Quantable 的 Jason Packer 曾进行一项实验,旨在测量阻止 Google Analytics 的网络访问数量。他详细分析了七种广告拦截扩展程序及其默认行为,发现目前约有 11% 的网站访客阻止了 Google Analytics。

如何测试

近期有客户反馈产品图片无法显示,经排查系某流行广告拦截器所致。在修复该问题并审查拦截器行为时,我发现其同时也阻止了 Google Analytics。以下是检查广告拦截器是否影响分析包及其他跟踪脚本的方法:

  • 安装 uBlock Origin。这是一款默认阻止 Google Analytics 的广告拦截器(Chrome 用户 870 万,Firefox 用户 380 万)。
  • 打开 Chrome 开发者工具(查看 > 开发者 > 开发者工具),点击“Console”选项卡。
  • 查找红色字母“net::ERR_BLOCKED_BY_CLIENT”旁的消息:https://www.google-analytics.com/analytics.js。

打开Chrome开发者工具,然后点击控制台选项卡。查找红色字母“net::ERR_BLOCKED_BY_CLIENT”的消息。点击图片放大。

问题有多大?

为调查问题范围,我邀请部分客户和朋友参与实验:编写一段 JavaScript 代码,根据 Google Analytics 是否加载触发不同的 1×1 像素图像,并将其部署在网站页脚。数周内,共监测到约 210,000 名独立访客,结果令人惊讶。

我将测试网站分为 B2C、B2B 和旅游三类(旅游类均位于英国)。所有网站均存在 Google Analytics 被屏蔽的情况。Jason Packer 的研究也表明,欧洲地区的屏蔽比例高于美国,且台式电脑更为普遍。

数据显示,英国旅游类网站之后,B2B 客户网站屏蔽率位居第二(36.76%);B2C 网站(主要为服装和奢侈品行业)屏蔽率最低,仅为 13.47%。

在实验中,旅游类网站的访问中有41.85%使用了广告屏蔽工具,B2B网站为36.76%,B2C网站为13.47%。

在操作系统与浏览器方面,Chrome 成为 Windows 和 Android 平台上屏蔽 Google Analytics 的首选浏览器,Safari 则在 Mac 上排名第一(iOS 除外)。从地域来看,英国和美国是使用分析工具屏蔽功能最多的两个国家。

关键启示

虽然屏蔽 Google Analytics 不直接影响电商销售,但会导致数据缺失,进而影响营销决策。例如,若 11% 的广告流量未被记录,绩效报告将不完整,可能导致预算分配失误。

具体而言,商家需思考以下问题:

  • 遗漏访客的价值有多大?当分析数据与广告供应商报告存在差异时,应信任哪份报告来指导投资?
  • 数据差距如何影响渠道绩效评估及基于结果的激励措施和预算分配?
  • 这些数据缺口是否影响了转化率及后续的数据驱动优化实验?

解决方案

针对广告屏蔽问题,可采取两步解决方案(扩展自 Jason Packer 的工作)。如需现成工具,也可使用相关免费方案。

第一步:检测 Google Analytics 脚本是否加载

可通过检查 JavaScript 对象“ga”是否存在来判断。在 Chrome 开发者工具控制台中输入“ga”,若已加载,应显示类似以下内容:

“>function (a){dd("Executing Google Analytics commands.");F(1);jf.H.apply(jf,[arguments]);ge()}”

若启用 uBlock Origin 后刷新页面再次输入“ga”,则会显示:

“VM2069:1 Uncaught ReferenceError: ga is not define at :1:1”

为统计被屏蔽比例,可让脚本在 GA 加载或未加载时分别触发一个 1×1 像素图像。参考脚本如下:

//save existing body onload var _onload_fn = document.body.onload; document.body.onload = function () { if(_onload_fn) _onload_fn(); if(!ga || (ga && ga.name != "Z")){ console.log("GA not loaded"); 

通过将图像托管于 Google Cloud Storage 并将访问日志上传至 Google BigQuery,可在 Google Data Studio 中生成饼图进行分析。

通过将访问日志上传到 Google BigQuery 中的图片,作者在 Google Data Studio 中生成了简单的饼图。

将两个像素图像命名为 gaav(可用)和 gana(不可用),并在 Google Data Studio 中创建新维度,设置如下:

REGEXP_EXTRACT(cs_object, "_ga(av|na)") 

第二步:通过服务器端事件绕过拦截

当客户端跟踪脚本无法加载时,利用 Google Analytics 测量协议发送服务器端事件。GitHub 上有相关库可供参考。

进一步开发初始脚本(需引入 jQuery 和 Fingerprintjs2):

<script> // these variables we pass to unblockga are the minimal stuff // we need to ID users and are only available on original page // creation, not from unblockga.php var screenColors = screen.colorDepth + '-bit'; var screenResolution = screen.width + 'x' + screen.height; var viewportSize = document.documentElement.clientWidth + 'x' + document.documentElement.clientHeight; var referrer = document.referrer; var fp = new Fingerprint2(); //save existing body onload var _onload_fn = document.body.onload; document.body.onload = function () { if(_onload_fn) _onload_fn(); if(!ga || (ga && ga.name != "Z")){ console.log("GA not loaded"); fp.get(function(result){ // callback from fingerprint process does AJAX post via jQuery to PHP GA proxy // returns GA tracker code that gets eval'd as script var browserid = result; jQuery.post("/unblockga.php", { screenColors: screenColors, screenResolution: screenResolution, viewportSize: viewportSize, browserid: browserid, referrer: referrer }, null, "script" ); }); } } 

建议将脚本置于外部文件中,并使用以下方式异步加载,以避免影响页面加载速度:

<script src=”...” async></script>

【声明】内容源于网络
0
0
电商实践
电商实践
内容 8035
粉丝 0
电商实践 电商实践
总阅读1.1k
粉丝0
内容8.0k