未使用GTM时,GA4页面浏览中显示三类用户ID的实现方式问询
无需GTM实现GA4登录后携带用户标识的方法
如果网站没部署GTM,但GA4页面浏览事件能在用户登录后带上Client ID、Affinity ID和Customer ID,大概率是通过原生GA4代码直接部署+前端/后端动态注入用户参数实现的,常见的几种方式如下:
直接在页面中编写原生GA4脚本,用户登录后通过JS动态设置参数
网站没有通过GTM部署GA4,而是直接在HTML里嵌入了GA4的基础代码。当用户完成登录流程后,前端JS会获取用户的Customer ID、Affinity ID等标识,然后调用GA4的gtag方法把这些参数附加到事件中:// 用户登录成功后执行 // 先设置全局用户属性 gtag('set', { 'user_id': '用户的Customer ID', 'affinity_id': '用户的Affinity ID' }); // 或者在发送page_view事件时直接传入参数 gtag('event', 'page_view', { 'client_id': gtag('get', 'G-XXXXXXX', 'client_id'), 'customer_id': 'U123456', 'affinity_id': 'AFF789' });这种原生代码部署的方式,Omnibug能捕获到GA4的事件参数,但GTM后台不会有相关标签记录。
后端渲染页面时注入用户参数
服务器端在返回页面HTML前,会根据当前登录用户的信息,直接把Customer ID、Affinity ID等参数写入GA4的初始化或事件代码中。比如用PHP、Node.js等后端模板渲染页面时,动态替换脚本里的参数值,页面加载后GA4会直接带着这些参数发送事件。结合GA4自定义维度配置
提前在GA4后台把Customer ID、Affinity ID配置为自定义维度,用户登录后,前端通过gtag('set')设置官方user_id和自定义属性,后续发送的所有事件(包括page_view)都会自动带上这些维度的值,无需每次发送事件都手动传入参数。
内容的提问来源于stack exchange,提问作者Kalpana Dhiman
相关产品推荐
相关产品推荐

