Hi 欢迎来到易观方舟
有问题就找小舟助手
联系我们 周一至周五 10:00 - 18:00

产品咨询:4006 - 010 - 231 转 1

商务合作:4006 - 010 - 231 转 2

咨询与帮助

易观方舟带来准确识别用户解决方案

识别用户是一个比较复杂的过程,尤其是对于有帐号体系的产品来说,用户会有多种使用场景,可能会在匿名的情况下访问,也有可能在登录情况下使用,也有可能在同一台设备上登录不同的帐号,也可能同一个帐号在多台设备上登录。因此,选择合适的用户标识有助于准确标识用户,提高分析的准确性。

 

1.标识用户

 

方舟的事件模型中,数据上报时会有用户这个实体,使用xwho来进行标识,在登录前匿名阶段,xwho中会记录一个匿名ID,登录后会记录一个注册ID。

 

1.1匿名ID

 

匿名ID用来在用户主体未登录应用之前标识,当用户打开集成有方舟SDK的应用时,SDK会给其分配一个UUID来做为匿名ID。

 

当然,方舟也提供了给用户主体设置匿名ID的方式,比如可以使用设备ID(iOS的IDFAIDFV,Web的Cookie等)。

 

1.2注册ID

 

通常是业务数据库里的主键或其它唯一标识,注册ID是更加精确的用户ID,但很多应用不会用注册ID,或者用户使用一些功能时是在未登录的状态下进行的,此时,就不会有注册ID。

 

另外,在方舟系统中,我们以为用户主体来进行分析,这个用户主体可能是一个人,一个帐号,也可能是一个家电,一辆汽车。具体以什么做为用户主体,要根据用户实际的业务场景来决定。

 

1.3 distinct_id

 

即使有了xwho(注册ID匿名ID),实际使用中也会存在注册用户匿名访问等情况,所以需要一个唯一标识将用户行为贯穿起来,distinct_id就是在xwho的基础上根据一些规则生成的唯一ID。

 

2.不同场景下选择不同的识别方案

 

实际接入分析的应用会有多种情况,可以分为两大类:

 

无帐号体系,e.g.Snapseed、日历

 

有帐号体系

 

①强帐号体系,必须登录e.g.钉钉、QQ、微信

 

②强帐号体系,存在访客模式,关键转化需登录e.g.淘宝、微博、大众点评、招商银行

 

③弱帐号体系,存在访客模式,不登录不影响核心功能使用e.g.高德地图、今日头条、墨迹天气

 

2.1无帐号体系弱帐号体系且不分析登录用户的情况

 

在这种情况下,无需关心注册ID,使用方舟的客户端SDK时,方舟的SDK会自动生成一个UUID作为匿名ID,这个UUID会做为后续行为数据的匿名ID(xwho),此时系统生成的distinct_id会与匿名ID一一对应,计算的用户数也会是匿名的用户数。

 

2.2有帐号体系,需要分析注册用户和匿名用户的情况

 

这种情况下在集成时需要客户在用户进行登录注册完善个人资料等情况下调用alias接口获得注册ID,使得匿名ID实名化,然后SDK就会将数据的$is_login属性变成true,表示这是一个注册ID,后续的行为中上报的xwho也会有注册ID。

 

3.原理说明

 

下面以一个实际的场景来说明用户识别的机制,其中:

 

发送的xwho:登录前是匿名ID,登录后是注册ID,调用alias接口时,两个ID会同时发送;

 

是否是注册ID:当xwho为是否为一个注册ID;

 

方舟distinct_id:方舟内部给该用户分配的唯一标识,是用于计算触发用户数、漏斗、留存等的最终依据,对应自定义查询中events表中的user_id及users表中的id字段。

 

4.使用前提

 

正确集成SDK,遵循接口的调用顺序,否则可能会导致部分用户标识异常,影响数据统计的正确性。

 

在SDK初始化完成之后,方舟的SDK会自动生成一个UUID作为匿名用户标识,记录在xwho中(这一步也可以调用identify接口设置匿名ID),之后SDK采集上报的数据中$is_login属性为false,来表示这是匿名ID。

 

当用户进行登录注册完善个人资料等会使得用户有注册ID时的操作时,调用alias接口,上传匿名ID和注册ID的关联关系。

相关推荐:

体验文中提到的功能

立即免费体验Demo

百闻不如一见

现在来体验方舟如何帮你挖掘商机、增长业绩

体验Demo