Fork me on GitHub

神策大数据3-用户关联及识别

神策中如何进行用户关联

神策中关于几个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. 调用事项:用户登陆和注册的时候进行调用
  2. 调用规则:前后端在用户登陆注册的时候要同时调用;前端可能数据丢失,所以后端也要进行调用
  3. 先调用用户关联,再进行登录注册事件的采集

具体操作

客户端的用户关联:

服务端的用户关联:

1
2
# distinct_id 表示用户  is_login_id 布尔类型,表示用户是否登录,event_name 事件名,properties 事件属性
sa.track(distinct_id, is_login_id,event_name,properties)
  1. 如果是登录用户的行为:传入的值必须是登录ID:registerID,设置成True
  2. 如果是匿名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
2
3
4
5
6
7
8
9
10
11
-- events表:查询某个用户的各种行为操作

select
user_id,
distinct_id,
event,
time,
$lib
from events
where user_id=1234567890
order by time
1
2
3
4
5
6
7
8
9
-- users表:查询用户的相关个人信息
select
id,
first_id, -- 设备ID device_id
second_id, -- 登录ID distinct_id
$device_id_list, -- 设备列表
EPOCH_TO_TIMESTAMP(register_time / 1000) `register_time` -- 注册时间$signup_time
from users
where second_id in ('12345','987654')

本文标题:神策大数据3-用户关联及识别

发布时间:2021年01月22日 - 14:01

原始链接:http://www.renpeter.cn/2021/01/22/%E7%A5%9E%E7%AD%96%E5%A4%A7%E6%95%B0%E6%8D%AE3-%E7%94%A8%E6%88%B7%E5%85%B3%E8%81%94%E5%8F%8A%E8%AF%86%E5%88%AB.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea