在Google Analytics中用reCAPTCHA识别机器流量

Google Analytics Haran 4年前 (2020-10-26) 3682次浏览 2个评论
文章目录[隐藏]

虽然Google Analytics里面有个漫游器过滤器,这个过滤器可以过滤掉大部分的机器流量,但始终还是有部分机器流量没在这个过滤器的范围,所以还是需要通过其他的方式去是被过滤器,比如垃圾/作弊流量的分类与七种识别方法

这一节介绍另一种方法,通过reCAPTCHA识别机器流量reCAPTCHA 项目是由卡内基梅隆大学创建的系统,于 2009 年 9 月被谷歌收购。

一提到reCAPTCHA,很多人可能可能想到是图片验证,其实背后也是机器流量的识别,可以迁移到我们的Google Analytics里面使用的。

reCaptcha 已经升级到了 v3,直接给用户打分,整个流程是,页面加载的时候,向自己的服务器发送请求,服务器携带秘钥向reCaptcha请求去验证这次流量是否正常,reCaptcha会返回一个分数,0~1之间,越接近1就是正常流量,越接近0就是机器流量

整个验证的过程,跟品牌安全的验证过程一样的,就是在页面打开的时候,向第三方验证平台请求去验证,然后返回结果,你自己就可以通过这个结果去判断去选择策略。

创建reCaptcha v3

访问https://www.google.com/recaptcha/admin/create创建一个reCaptcha,选择reCaptcha v3:

在Google Analytics中用reCAPTCHA识别机器流量

 

点击后你会获得两个秘钥:

在Google Analytics中用reCAPTCHA识别机器流量

后面需要用到,第一个秘钥是用于布署到网站页面的,第二个是布署到服务器的,注意不要搞混。

设置GTM

在Google Tag Manager设置一个HTML的Tag,触发器选择All Pages。

在Google Analytics中用reCAPTCHA识别机器流量

注意:代码中的“复制网站秘钥”是第一个秘钥,要替换成你自己的。另外这段代码需要在Google Analytics的基础跟踪代码之前触发,因为我们需要将分数通过自定义维度传递到Google Analytics,所以要在pv发送之前就拿到分数。

设置服务器端代码

设置服务端的代码,将这段代码上传到服务器根路径下:

在Google Analytics中用reCAPTCHA识别机器流量

注意:这里的secret中用的第第二个秘钥,需要替换成你自己的。

从代码中可以看到验证是需要向Google的服务器请求,而这个域名是在google.com是被屏蔽的,所以如果是服务器在大陆地区的是使用不了,需要替换成recaptcha.net,这个是谷歌提供给中国地区的一个验证服务器。

获取分数

获取分数有两种方式:一种是通过数据层获取,一种是通过第一方cookie。

数据层

设置GTM里面的代码中有一段:

window.dataLayer.push({
            event: 'recaptcha', 
            recaptchaAnswer: greResult.success,
            recaptchaScore: greResult.score
          });

成功获取分数后会通过数据层发送出去。

greResult.success表示是否获取成功,1表示成功,greResult.score就是分数了,通过数据层变量可以拿到这两个值。如:

在Google Analytics中用reCAPTCHA识别机器流量

第一方cookie

设置服务器端代码中有一段:

setcookie('_rbs', $curlJson['score'], time()+1800, '/','', 0);

它会将分析设置到cookie里的_rbs。可以通过这种方式去验证自己是否布署成功。

所以这两种方式都可以见到分数的。

将分数设置成自定义维度

创建一个自定义维度reCAPTCHA score:

在Google Analytics中用reCAPTCHA识别机器流量

然后将其设置成自定义维度:

在Google Analytics中用reCAPTCHA识别机器流量

这里的值是用数据层的。

如果你是通过数据层发送的,你还可以通过事件将分数发送给Google Analytics

结果

结果可以在下面几个位置看:

reCaptcha后台

reCaptcha后会呈现数据的概要,如每天请求数和可以数量:

在Google Analytics中用reCAPTCHA识别机器流量

可以看到即使我开启了漫游过滤器,仍然有2.2%的可疑流量。

事件跟踪

如果你通过数据层发送,那么还可以通过事件跟踪传递分数,event label就是分数了:

在Google Analytics中用reCAPTCHA识别机器流量

分数太低就是可疑流量。

自定义维度

在Google Analytics中用reCAPTCHA识别机器流量

 

利用自定义维度,你可以在次级维度、自定义报告或细分中去进一步分析。


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (3)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 国内可以用吗?
    Oscar2020-11-02 12:58 回复 Windows 10 | Chrome 86.0.4240.111