神策中关于几个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 |



客户端的用户关联:

服务端的用户关联:

# distinct_id 表示用户 is_login_id 布尔类型,表示用户是否登录,event_name 事件名,properties 事件属性
sa.track(distinct_id, is_login_id,event_name,properties)如何识别未关联的用户
1、匿名用户触发的某个事件

2、指定distinct_id

3、查看用户信息
登录ID未知,说明匿名ID还没和任何一个登陆ID进行关联


4、查看具体信息(Hue中脚本查询,users表中)
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字段
-- events表:查询某个用户的各种行为操作
select
user_id,
distinct_id,
event,
time,
$lib
from events
where user_id=1234567890
order by time-- 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')