总所周知,Google Analytics里面是没有提供IP这个字段的,而且也明文规定不准上传能够识别用户的信息。但是很多用户,特别是大陆地区的用户在习惯了百度统计提供ip用于用户计数,也希望Google Analytics能够获取的到用户IP,实际上是可以实现的,但是不要明文上传IP,做些装饰,还是可以实施的。
原理:用js去通过第三方API查询获取得到用户的IP,然后将ip加密写入cookie,再通过GTM读取第一方cookie后用自定义维度去存储。我这里用的是搜狐的API去查询用户的ip,返回有三个字段,一个是ip,一个地区名,另一个我不知道是什么。
过程:1、在GTM通过自定html去查询搜狐API,然后在获得的ip后面加上.741并将IP写入cookie里面,cookie名为ipnum。点击代码>新建>选择一个代码类型以设置>自定义HTML,然后做如下配置:
<script src="https://pv.sohu.com/cityjson?ie=utf-8"></script><script type="text/javascript">var cookieName= "ipnum";var cookieName2= "ipci"; var ipnumber =returnCitySN["cip"]+".741"; var ipcity = returnCitySN['cname']; var cookiePath = "/"; var expirationTime = 172800*15; expirationTime = expirationTime * 1000; var date = new Date(); var dateTimeNow = date.getTime(); date.setTime(dateTimeNow + expirationTime); var expirationTime = date.toUTCString(); document.cookie = cookieName+"="+ipnumber+"; expires="+expirationTime+"; path="+cookiePath; document.cookie = cookieName2+"="+ipcity+"; expires="+expirationTime+"; path="+cookiePath; </script>
2、在变量中用获取地方cookie获取ip,点击变量>新建>选择一个变量类型以设置>第一方cookie,然后做如下配置3、在Google Analytics中新建一个自定义维度去存储ip,新建后记录对应的数字,点击管理>自定义定义>自定义维度这里的级别选择的是会话级别的,应该同一个用户可能在多台设备上登录,所以这个ip是会变化的,不能够用user级别的。
4、然后在GTM中的基础跟踪代码的自定义维度作如下配置
5、最后看看在GA中看到的数据这个就是采集到的用户的ip了,把后面的.741去掉就是真实ip。
未经允许不得转载:搬瓦工VPS_美国VPS » 通过Google Tag Manager获取Google Analytics访问者IP