神策中如何进行用户关联
神策中关于几个id的整理:
1、如何确定神策中的distinct_id:若用户没有登录,就是device_id(first_id);如果用户已经登录,则显示为登陆ID(second_id),用户在账号体系中的唯一标识。
2、users表中的3个字段
字段名 | 说明 |
---|---|
id | 神策ID,对应events表中的user_id |
first_id | 设备id,device_id |
second_id | 登录id;登录后才有,也就是distinct_id |
传统方法缺陷
WHY
用户关联的注意事项
- 调用事项:用户登陆和注册的时候进行调用
- 调用规则:前后端在用户登陆注册的时候要同时调用;前端可能数据丢失,所以后端也要进行调用
- 先调用用户关联,再进行登录注册事件的采集
具体操作
客户端的用户关联:
服务端的用户关联:
1 | # distinct_id 表示用户 is_login_id 布尔类型,表示用户是否登录,event_name 事件名,properties 事件属性 |
- 如果是登录用户的行为:传入的值必须是登录ID:registerID,设置成True
- 如果是匿名ID产生的行为:传入的是deviceID
用户关联校验
如何识别未关联的用户
1、匿名用户触发的某个事件
2、指定distinct_id
3、查看用户信息
登录ID未知,说明匿名ID还没和任何一个登陆ID进行关联
4、查看具体信息(Hue中脚本查询,users表中)
1 | select * from users where first_id = "******" -- first_id就是设备ID,second_id就是登陆ID,关联之后才有 |
目前没有登陆ID
5、用户登陆后会关联到登陆ID
比如$signup事件:此时distinct_id就是用户登陆ID
通过SQL查询的结果:
此时表示已经成功关联。用户关联之后无法更改,神策采用神策ID(上图的第一个字段id来进行识别)
神策ID在用户表中是id字段,事件表中是user_id字段
1 | -- events表:查询某个用户的各种行为操作 |
1 | -- users表:查询用户的相关个人信息 |