众所周知,Google Analytics 4 里面是没有提供IP这个字段的,而且也明文规定不准上传能够识别用户的信息。
但是很多用户,特别是大陆地区的用户在习惯了百度统计提供IP用于用户计数,也希望Google Analytics 4能够获取的到用户IP,实际上是可以实现的,但是不要明文上传IP,做些装饰,还是可以实施的。
实现原理
用js去通过第三方API查询获取得到用户的IP,然后将IP加密写入cookie,再通过GTM读取第一方cookie后用自定义维度去存储。我这里用的是搜狐的API去查询用户的ip,返回有三个字段,一个是ip,一个地区名,另一个我不知道是什么。
设置过程
自定义HTML
在GTM点击「代码」——「新建」——「选择一个代码类型以设置」——「自定义HTML」,然后具体配置如下:
代码:用到的代码
这个配置的作用通过自定html去查询搜狐API,然后在获得的ip后面加上.741并将IP写入cookie里面,cookie名为ipnum。
第一方Cookie获取IP
GTM中点击「变量」——「新建」——「选择一个变量类型以设置」——「第一方cookie」,然后做如下配置:
这个配置的作用是将上一步写在Cookie的里的ipnum读入到GTM的变量,用变量ipnum去存储它。
设置用户属性(用户级自定义维度)
在GTM中,找到GA4的基础配置,然后在「用户属性」里做如下设置:
这里就是GA4里设置自定义维度的,左边的媒体资源名称是可以自定义的,我这里定义为ip。
GA4中注册参数
接下里就是在GA4中注册这个维度,这个维度才可以在GA4中使用。
在GA4中点击「配置」——「自定义配置」——「创建自定义维度」,然后做如下设置:
范围:要选择用户级别,这表示是用户级别的自订维度
用户属性:填ip,就是你在GTM中「用户属性」里的媒体资源名称要一致。
GTM中预览调试
在GTM中点击「预览」,进入到调试状态后返回到Tag Assistant,找到GA4的基础代码配置,看ip字段是否准确获取到IP:
GA4中验证数据
最后就是在探索里看数据:
这个就是采集到的用户的ip了,把后面的.741去掉就是真实ip。