原理是GA中的用户唯一标示符是userid,通过用自己生成的唯一标识符覆盖GA自动生成的即可,详细过程为:用户注册生成id的时同时生成id的hash值GA_UID,两者之间是唯一对应关系,再将GA_UID设置成页面的全局变量,在GTM中通过js变量将GA_UID读入,是在GA中Custom Dimensions新建一个维度,记录数值1,在GTM中GA的默认代码中的维度中填入1和js变量生成变量getUserid即可
为什么用userid:
从上面可以知道userid是用户唯一标示,而client会由于设备,浏览器等因素而不同,因为不适用
实现过程
1、用户注册时生成账户ID同时生成ID的Hash值GA_UID,如下:当我注册用户时候,账户id为789,生成的hash值为c11e9d2df001eb40f3c124041b1400d4
ID GA_UID
789 c11e9d2df001eb40f3c124041b1400d4
2、将GA_UID设置成页面的全局变量
这个需要前端的同事协助将这个变量弄成全局变量,需要在每个页面都能找到这个
3、GTM中通过js变量将GA_UID读入,生辰变量getUserid
4、在GA中Custom Dimensions新建一个user级别维度记下index为1
5、在GTM中GA的默认代码中的维度中填入1和js变量生成变量getUserid
&uid是ga开启useid默认是ga(‘set’, ‘&uid’, {{USER_ID}})
6、可以看到每一个uerid的情况,每个userid对应都是后台一个对应的用户,这样就将GA的用户表示userid和后台数据的用户关联起来
如果还要继续,就是使用API,根据userid将GA的数据和后台的数据建单独的数据仓库~
更简单的方法是将id的hash值写到cookie,然后用第一方cookie读取再转成维度,直接明文将用户信息上传GA是允许的,hash值是可以的,官方是今年才开放hash值,但这个方法应用蛮久了。