用户模型
在 GrowingIO 的数据模型中,根据分析场景需要,建立了两套用户模型来表达访问用户和登录用户的概念。
举例来说: 小明在手机上刷朋友圈时看到了某个电商平台的 H5 广告页面,他点击了这个广告内容,进入了一个引导注册的 H5 页面,小明填写自己的手机号通过验证,注册成功,并在成功页面看到提示下载 App 即送 5 张满减优惠券,小明下载了 App 并登录,选择了自己心仪的产品后使 用优惠券结算,完成了购买流程。 上述的例子是一个典型的互联网营销的案例,我们通过上述案例来描述一下 GrowingIO 的两种用户模型分别适合在哪些分析场景下使用。
访问用户
访问用户是 GrowingIO 对访问您的应用(包括网页、App、微信小程序等,下同)的用户的一种识别机制。
每一个访问您的应用的用户都会在对应的设备中生成并记录一个唯一的 ID,我们称之为访问用户ID。
访问用户ID:GrowingIO SDK 为所有终端生成的唯一ID,用于标识访问用户,如果您想要分析的是产品所有访客,可以选择“访问用户”;上面的例子中,小明访问 H5 广告页面时,GrowingIO SDK 会在浏览器中的生成一个唯一的 ID 并记录在Cookie 中,这个 ID 将作为小明今后在该 H5 站点的唯一 ID。
对于不同平台类型的应用,GrowingIO SDK 提供了不同的访问用户ID生成方案,从而尽可能的实现对用户的唯一标识。同一个项目中相同的访问用户ID会识别为一个用户。
iOS
IDFA > IDFV > 随机访问用户ID
iOS设备如果想要使用IDFA作为访问用户ID,需要请求用户授权获取IDFA之后初始化SDK;如果拒绝授权,iOS 按照优先级 IDFV > 随机访问用户ID, 生成访问用户ID ;使用Keychain存储,删掉应用后再次安装还是同一访问用户ID。
Android
androidId > imei > 随机访问用户ID
Android 设备首先会获取AndroidID,如果AndroidID 为空或为“9774d56d682e549c”(山寨机或其他设备),会请求用户授权获取IMEI,如果IMEI获取不到,会随机访问用户ID ;使用本地文件存储,删掉应用后再次按照逻辑生成可能会不一样。
小程序
OpenID > 随机访问用户ID
如果SDK设置了强制登录模式,用户授权微信登录获取到openid且调用 identify 上报,会使用 openid 作为访问用户ID ,否则会使用自动生成随机访问用户ID作为访问用户ID。使用 storage 存储,删除小程序再次进入访问用户ID 会改变(访问用户ID是 openid的情况不会)。
Web
随机访问用户ID
Web使用随机访问用户ID作为访问用户ID, 使用 localStorage 存储,永久有效,删除后再次生成会改变。
详情说明参考DeviceID 生成机制
登录用户
登录用户是 GrowingIO SDK 提供给您将当前用户绑定到您业务系统账号的一个机制。 同时支持登录用户的不同身份体系,例如在小程序端登录用户ID是手机号,在APP端登录用户ID是邮箱账号,userKey用于标记不同的身份体系。