网站首页 > 资源文章 正文
用户唯一标识,是用户唯一的身份ID,相同的身份ID,就会被当做是相同的一个用户。
01 为什么要建设用户唯一标识
如何区分某个用户就是他这个用户,而不是另一个用户,在数据埋点中,是一个非常重要的事情。因为如果做不到用户的唯一识别,那凡是涉及到用户的数据都将是错的(比如用户量、新增用户数、活跃用户数等等)。所以建设用户唯一标识,尤为重要。
02 基本概念
设计埋点字段的时候,有两个字段是一定要包括的,即设备ID和用户ID。这两个字段应该纳入通用字段,每个埋点的事件都必须要集成收集。
(1)设备ID
使用相应的算法,生成一个设备ID,以唯一识别用户的终端设备。不同终端的设备ID,其生成算法规则不一样,以下列举不同终端的设备ID的生成规则:
AndroidApp
安卓系统历经多次升级,对权限控制越来越严格,唯一识别手机的方法也在发生变化。下面整理一下安卓系统适合做设备唯一标识符的几个标识符,以及其特性:
从表格中看出,IMEI是最适合做设备唯一标识的,奈何获取IMEI需要授予权限且Android 10以后不再开放IMEI的权限。综合起来,安卓系统中,应该按照IMEI ->OAID -> ANDROID_ID的顺序生成设备ID。即先获取IMEI号,获取不到IMEI时获取OAID,获取不到OAID时,再获取ANDROID_ID,然后使用相关算法生成设备ID。
IOS App
苹果系统,可用于识别唯一设备的标识不多,如下图。综合起来,苹果系统生成设备ID的标识符顺序应该是IDFA -> IDFV ->UDID,即先获取IDFA,获取不到在获取IDFV,获取不到IDFV时,再获取UDID,然后使用相关算法生成一个设备ID。
Web网站
Web网站,使用cookie_id作为设备ID,并存储在浏览器的cookie中。
微信小程序
通常做法使用openid作为设备ID,当然也可以自己生产一个ID,作为设备ID。如果用过openid作为设备ID,需要注意微信小程序的冷启动问题(获取 openid 是一个异步的操作,所以会导致数据上报的时候,可能还没获取到openid,这就是导致设备ID为空)。
2)用户ID
用户ID,即用户在业务产品注册的用户账号。
收集到设备ID和用户ID后,就要想办法将设备ID和用户ID关联起来,也即用户唯一标识建模,详见下文。
03 用户唯一标识建设
设计一个字段,比如就叫distinct_id(设备ID命名为device_id,用户ID命名为user_id)这个字段用于识别唯一用户。凡是统计用户相关的数据时,都以distinct_id作为用户的唯一区别标识。下面,以具体案例进行阐述。
步骤说明:
- 小明在一部手机上启动了app。该手机的device_id为x1,此时生成一个dsitinct_id为d1;
- 小明在这个手机上用账号u1进行登录。此时device_id为x1,user_id为u1,dsitinct_id为d1;
- 小明继续在这手机上使用app。此时device_id为x1,user_id为u1,dsitinct_id为d1;
- 小明退出自己的账号,继续使用app。此时仍然device_id为x1,user_id为u1,dsitinct_id为d1;
- 小明把手机给了小花,小花用自己的账号u2登录app。此时u2去关联x1,因为x1已经与u1关联,故关联失败。所以重新生成一个distinct_id为d2来标识此用户(u2);
- 小花继续使用app。此时device_id为x1,user_id为u2,dsitinct_id为d2;
- 小明换了部新手机,使用app。此时device_id为一个新的x2,后台生成一个新的dsitinct_id为d3;
- 小明在新手机上,使用账号u1登录了app。此时u1去关联x2,因为x2之前没有与账号关联过,所以关联成功,但是u1已经有一个dsitinct_id为d1,所以此时的dsitinct_id仍然为d1;
- 小明继续在新手机上使用app。此时device_id为x2,user_id为u1,dsitinct_id为d1。
此时三个字段的映射关系为:
(1)后续修复
事件字段修复
小明换新手机后,在登录前,系统给分配的dsitinct_id为d3,不符合实际情况,故要将在新手机上登录前的dsitinct_id修复为d1。如下:
映射表修复
1)删除d3与x2的映射关系
2)将x2添加到d1的device_id_list字段
本文由 @如琴留音 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
猜你喜欢
- 2024-10-07 Cookie起源与发展(cookie是谁发明的)
- 2024-10-07 盘点英国美食最常见的7个问题,知道这些就不露怯了
- 2024-10-07 “黑客”入门学习之“Cookie技术详解”
- 2024-10-07 一文彻底搞懂Cookie、Session、Token到底是什么
- 2024-10-07 彻底搞懂Token、Session和Cookie(介绍一下cookie, session 和token的区别)
- 2024-10-07 别再问Cookie了,再问就崩溃了!(别再问我怎么写)
- 2024-10-07 我怀疑那些被越南人记反的词 #越南语培训
- 2024-10-07 HYBE未成年女团新歌「满满性暗示」!他一听脸僵住:公司是不是疯了
- 2024-10-07 Cookie知识大全(cookie内容是什么)
- 2024-10-07 彻底搞懂Cookie、Session、Token到底是什么
你 发表评论:
欢迎- 最近发表
-
- UG10.0UG12.0教程,共63章节,送给那些正在自学UG编程的朋友
- UG产品图档下载,连筋薄板,外形铣、孔铣都要用
- 天正建筑 T30V1.0 下载安装教程(支持CAD2025)
- 教你如何开启UG NX12.0设置保护加密(文件密码)
- UG NX 8.5 安装教程,安装过程就是这么简单
- ug安装教程详细步骤ug怎么免费安装教程ug软件怎样安装步骤
- UG/NX安装失败,如何才能彻底删除(卸载)UG/NX?6步就能解决
- UG8.5 正式版安装方法(ug8.8安装)
- ug12.0版安装教程与安装包免费下载 #ug安装
- China-EU 50 years: Advancing stability and prosperity through partnership
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)