用户行为分析系列(二)- 数据的源头

一切行为皆事件,我们认为用户在网站上发生的一切行为都可以抽象为“事件模型”,这也是所有SDK接口和产品功能设计的核心依据。事件模型的本质就是描述“什么人 - 在什么时间 - 什么地方 - 以何种方式 - 干了什么事情”;

用户行为分析系列(二)- 数据的源头_第1张图片

围绕着这个需求,我们看看发生一个用户行为时,我们需要收集那些信息;

1、eventId:事件唯一标识,表示到底做的是哪一个事件;

2、deviceUdid:设备唯一标识,用户匿名状态下,只采集deviceUdid ;

3、userId:用户唯一标识,当用户登录后,需同时采集deviceUdid 和 userId 两个字段,以便将匿名状态下采集的数据通过deviceUdid 这个字段,和登录后采集的数据关联起来

4、appkey:产品唯一标识

4、time:事件发生时间,有了时间,就有了事件发生的先后顺序,就可以做用户路径、留存、粘性、实时流等分析,几乎所有的行为分析都需要时间

5、ip(后端采集):解析成对应的国家、省份、城市之后,就可以按地域查看事件、用户的分布情况;

6、currentUrl、referrer、referringDomain 等于访问域名有关的字段

7、deviceOs、deviceOsVersion 等与用户设备有关的字段

8、其他

SDK采集数据大致流程

用户行为分析系列(二)- 数据的源头_第2张图片

什么是SDK?

一般是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。通常一个SDK包含一个或多个API,编程工具和档。我们的js SDK 就是一个单独的js文件,可以采集用户行为事件,发送到我们的服务器。SDK的开发要尽量遵循原生、小、快,不影响宿主页面性能等原则。

核心功能模块,本篇主要讲解核心模块的功能与结构

用户行为分析系列(二)- 数据的源头_第3张图片

核心模块主要解决的问题是SDK的初始化、设备或用户的标识、本地cookie或localStorage存储、发送事件数据。

具体使用流程如下:

1、在我们系统中注册一个产品,系统会分配给这个产品一个唯一标识 token;

2、在你的网页中引入我们的SDK,有两种引入方式:

  • 同步引入方式: 
  • 异步引入方式:我们会提供一段js代码,你可以直接copy到中使用。其原理就是动态生成script标签,使用async属性异步加载sdk,并且预设sdk的api接口,以防sdk还没有加载成功,你已经开始调用api接口而发错;

3、初始化:Track.init( token, config, name )

4、采集数据:Track.track( eventName, property )


用户行为分析系列(二)- 数据的源头_第4张图片
下一篇开始介绍 A/B 测试功能的实现。

你可能感兴趣的:(用户行为分析系列(二)- 数据的源头)