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

2021-03-01 16:19:40 浏览数 (1)

神策中如何进行用户关联

神策中关于几个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. 先调用用户关联,再进行登录注册事件的采集

具体操作

客户端的用户关联:

服务端的用户关联:

代码语言:javascript复制
# 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表中)

代码语言:javascript复制
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字段

代码语言:javascript复制
-- events表:查询某个用户的各种行为操作

select
	user_id,
  distinct_id,
  event,
  time,
  $lib
from events
where user_id=1234567890
order by time
代码语言:javascript复制
-- 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')

0 人点赞