更新时间:2024年7月1日
众所周知,GA4里面是没有提供IP这个字段的,但很多用户习惯了百度统计提供IP用于用户计数,也希望GA4能够获取的到用户IP,这可以实现。
本文介绍一种通过GTM获取用户IP,并将脱敏后的IP保存到GA4的实现方法。
请注意:Google明确禁止不准上传能够识别用户的信息,所以不要明文上传IP,做些装饰或加密,还是可以上传的。
实现原理
每次页面加载时,通过 JavaScript 调用第三方 IP 查询 API 获取用户的 IP 地址,对 IP 进行加密或脱敏处理后写入第一方 Cookie,再由GTM读取该 Cookie,并作为用户级别自定义维度发送至GA4。
设置过程
Step 1 : 通过自定义HTML获取IP
在GTM点击「代码」——「新建」——「选择一个代码类型以设置」——「自定义HTML」,然后具体配置如下:
这个代码的作用通过「自定义HTML」从第三方API获取IP,并将IP写入cookie里面,cookie名为ipnum。
这个HTML需要在GA4的页面跟踪代码之前就触发,这样才能确保页面能够或得到IP,在GA4的页面跟踪代码的Tag里做如下设置:
这样能够保证发送page_view时,Cookie已经存在。
Step 2 : 创建第一方Cookie变量
在GTM中点击「变量」——「新建」——「选择一个变量类型以设置」——「第一方cookie」,然后做如下配置:
这样GTM就能够读取刚才写入Cookie中的数据。
之后便可以在所有GA4标签中引用这个变量。
Step 3 : 设置用户属性(用户级自定义维度)
在GTM中,找到GA4的基础配置,然后在「用户属性」里做如下设置:
以后所有事件都会自动携带这个用户属性。
Step 4 : 在GA4注册用户级自定义维度
接下里就是在GA4中注册这个维度,这个维度才可以在GA4中使用。
在GA4中点击「配置」——「自定义配置」——「创建自定义维度」,然后做如下设置:
- 范围:要选择用户级别,这表示是用户级别的自订维度
- 用户属性:填ip,就是你在GTM中「用户属性」里的媒体资源名称要一致。
完成注册后,该字段即可用于探索报告和受众分析。
Step 5 : GTM中预览调试
在GTM中点击「预览」,进入到调试状态后返回到Tag Assistant,找到GA4的基础代码配置,看ip字段是否准确获取到IP:
Step 6 : GA4中验证数据
最后就是在实时里看数据:
这在事件参数或用户属性中,应能够看到刚刚发送的ip用户属性。
常见问题
为什么GA4默认没有IP?
GA4会在数据收集阶段使用访问者IP来推断地理位置,但Google不会将原始IP保存到报表中,也不会开放给用户查看。
这是GA4隐私保护设计的一部分。
是否建议上传完整 IP?
不建议。
完整IP属于个人信息(PII),上传到GA4违反Google的数据政策,存在账号风险。
更安全的做法包括是加密或转码。







