在Google Analytics 4 中获取用户的IP(基于ipinfo.io)

Google Analytics 4 Haran 7年前 (2017-07-28) 25673次浏览 33个评论

更新时间:2023年12月25日

众所周知,Google Analytics 4 里面是没有提供IP这个字段的,但很多用户习惯了百度统计提供IP用于用户计数,也希望Google Analytics 4 能够获取的到用户IP,这可以实现。

请注意:GA4 明文规定不准上传能够识别用户的信息,所以不要明文上传IP,做些装饰或加密,还是可以上传的。

实现原理

每次页面加载的时候,用js去通过第三方API查询获取得到用户的IP,将IP加密写入cookie,再通过GTM读取第一方cookie后用自定义维度去存储。

设置过程

自定义HTML

在GTM点击「代码」——「新建」——「选择一个代码类型以设置」——「自定义HTML」,然后具体配置如下

在Google Analytics 4 中获取用户的IP(基于ipinfo.io)

代码:用到的代码

这个配置的作用通过「自定义HTML」从第三方API获取IP,并将IP写入cookie里面,cookie名为ipnum。

这个HTML需要在GA4的页面跟踪代码之前就触发,这样才能确保页面能够或得到IP,在GA4的页面跟踪代码的Tag里做如下设置:

在Google Analytics 4 中获取用户的IP(基于ipinfo.io)

 

第一方Cookie获取IP

GTM中点击「变量」——「新建」——「选择一个变量类型以设置」——「第一方cookie」,然后做如下配置:
在Google Analytics 4 中获取用户的IP(基于ipinfo.io)

这个配置的作用是将上一步写在Cookie的里的ipnum读入到GTM的变量,用变量ipnum去存储它

 

设置用户属性(用户级自定义维度)

在GTM中,找到GA4的基础配置,然后在「用户属性」里做如下设置:

在Google Analytics 4 中获取用户的IP(基于ipinfo.io)

这里就是GA4里设置自定义维度的,左边的媒体资源名称是可以自定义的,我这里定义为ip。

 

GA4中注册参数

接下里就是在GA4中注册这个维度,这个维度才可以在GA4中使用。

GA4中点击「配置」——「自定义配置」——「创建自定义维度」,然后做如下设置:

在Google Analytics 4 中获取用户的IP(基于ipinfo.io)

范围:要选择用户级别,这表示是用户级别的自订维度

用户属性:填ip,就是你在GTM中「用户属性」里的媒体资源名称要一致。

 

GTM中预览调试

在GTM中点击「预览」,进入到调试状态后返回到Tag Assistant,找到GA4的基础代码配置,看ip字段是否准确获取到IP:

在Google Analytics 4 中获取用户的IP(基于ipinfo.io)

 

GA4中验证数据

最后就是在实时里看数据:

在Google Analytics 4 中获取用户的IP(基于ipinfo.io)

这个就是采集到的用户的IP了。


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

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

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(33)个小伙伴在吐槽
  1. 第一步的代码后半段是什么?书中的代码都没有了。。
    Laura2022-11-02 16:52 回复 Windows 10 | Chrome 86.0.4240.198
    • Haran
      Wordpress版本问题导致,已经升级解决
      黄业忠2022-11-02 17:59 回复 Mac OS X | Chrome 107.0.0.0
  2. 代码能不能搞个能复制的啊,图片不能复制呀
    sophie2019-03-14 14:00 回复 Windows 7 | Chrome 69.0.3497.100
  3. 什么是GTM啊,就是这里搞不明白,求速速回复
    q2018-12-28 19:14 回复 Windows 7 | Chrome 70.0.3538.110
    • Google Tag Manager
      GA小站2018-12-28 21:03 回复 Mac OS X | Chrome 71.0.3578.98
      • 第二步设置变量没那个选项了现在
        q2018-12-28 21:19 回复 Windows 10 | Chrome 65.0.3325.181
      • 解决了卡在第四步,找不到基础跟踪代码的自定义维度啊
        q2018-12-28 21:30 回复 Windows 10 | Chrome 65.0.3325.181
  4. 不清楚第四布怎么配置的啊,能否详细的讲下啊
    落叶4442018-07-02 15:35 回复 Windows 10 | Chrome 67.0.3396.99
  5. 跟你弄步骤的一样,但是无法获取IP,是不是失效了???
    GA小站我爱你2018-05-22 16:37 回复 Windows 10 | Chrome 63.0.3239.26
    • 去调试就定位哪一步骤错误
      GA小站2018-05-22 19:39 回复 Mac OS X | Chrome 66.0.3359.181
      • 怎么调试(  ̄ 3  ̄ ) ╭ ❤ ~
        GA小站我爱你2018-05-22 19:41 回复 Windows 10 | Chrome 63.0.3239.26
        • GTM debug那一篇有讲解思路
          GA小站2018-05-22 19:49 回复 Mac OS X | Chrome 66.0.3359.181
          • debug中,网页的Summany——1PageView——Variables——IPNUM变量能获取到IP,但是在analytics获取不到
            GA小站我爱你2018-05-23 12:55 Windows 10 | Chrome 63.0.3239.26
          • 能获取到就只已经拿到的了,可以传递到GA的,除非你看错地方 或没设置自定义维度
            GA小站2018-05-23 14:01 Mac OS X | Chrome 66.0.3359.181
          • 发现部分用户的IP不能被获取到,部分的却可以,analytics去掉IP多了一些国家,次级维度添加IP就少了那些统计不到的一些用户了。审查元素提示:The SSL certificate used to load resources from https://pv.sohu.com will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.
            GA小站我爱你2018-05-24 13:47 Windows 10 | Chrome 63.0.3239.26
          • 可以获取到全部的,整个网站的权限都是在自己手里
            GA小站2018-05-25 13:40 Mac OS X | Chrome 66.0.3359.181
  6. 第四部我不没搞清楚啊《然后在GTM中的基础跟踪代码的自定义维度作如下配置》找不到,搜了也不懂。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
    lianyanjiajia2018-02-02 10:30 回复 Windows 7 | Chrome 65.0.3325.19
    • 基礎不扎實,這是自定義維度在GTM設置操作來的
      GA小站2018-02-02 10:36 回复 Windows 10 | Chrome 63.0.3239.132
      • 不是不扎实,是没有,GTM的自定义咋弄啊?
        cglc2018-02-02 13:08 回复 Windows 7 | Chrome 65.0.3325.19
        • 在GA中创建一个自定义维度,然后记住该维度的索引,然后在GTM中的谷歌分析设置变量或直接代码中,找到“自定义维度”,左侧的索引就是GA中创建的索引数值,右侧的就是变量,要传入自定义维度的字段
          GA小站2018-02-02 14:15 回复 Windows 10 | Chrome 63.0.3239.132
          • 感谢兄台的耐心知道,虽然我就依旧没弄上。但还是要给你点个赞
            lianyanjiajia2018-02-02 16:52 Windows 7 | Chrome 65.0.3325.19
  7. 不错的方法哦,以前一直埋汰谷歌这一点,不过这样做风险几何啊?
    kk2017-10-23 10:33 回复 Windows 10 | Chrome 61.0.3163.79
    • 暂未发现会被禁
      GA小站2017-10-23 11:22 回复 Windows 10 | Chrome 61.0.3163.100
  8. 这个是擦边球啊~我建议使用 IP masking :)
    Arya2017-08-26 20:26 回复 Mac OS X | Chrome 60.0.3112.101
    • 还是明文的比较容易看
      GA小站2017-08-27 21:24 回复 Mac OS X | Chrome 60.0.3112.113
  9. 第一步的jS能上一个完整图吗? 第4步 然后在GTM中的基础跟踪代码的自定义维度作如下配置, 找不到基础跟踪代码中的自定义维度在哪里点击进去,能详细说说吗
    gocoo2017-08-24 18:54 回复 Windows 7 | Chrome 59.0.3071.115
    • 第一步的代码:第四步是自定义维度的使用,站内搜索一下有其他文章介绍的
      GA小站2017-08-24 21:58 回复 Mac OS X | Chrome 60.0.3112.101
    • 第一步的代码后半段是什么?
      Ka2017-11-13 15:14 回复 Windows 7 | Chrome 62.0.3202.89
      • 这里有https://www.ichdata.com/book.html
        GA小站2017-11-13 15:34 回复 Windows 10 | Chrome 61.0.3163.100
  10. 第4部 怎么在基础跟踪代码中设置ipnum,我找不到这个地方.我的ga代码是用自定义html加入的。
    gwl0022017-08-15 10:31 回复 Windows 7 | Chrome 60.0.3112.90
    • 基础跟踪代码中的自定义维度哪里,可以将ipnum传入
      GA小站2017-08-16 09:54 回复 Windows 10 | Chrome 59.0.3071.115
      • 没找到啊。啊啊啊啊啊啊啊啊啊啊啊啊
        eglc2018-02-02 11:41 回复 Windows 7 | Chrome 65.0.3325.19
      • 没找到啊,啥玩应啊,哪里啊,没有啊
        cglc2018-02-02 11:41 回复 Windows 7 | Chrome 65.0.3325.19