事件模型
在 GrowingIO 的模型中,为了对用户行为进行统计和分析,我们使用一类被称为 "事件" 的消息来记录用户行为。
一个事件的产生遵循如下过程:
1.GrowingIO SDK 在客户端通过监听等手段捕获各种用户行为
2.SDK 将用户行为转化为 "事件" 消息,并发送到服务器
事件的组成:
一个完整的事件应该包含以下几个方面:
用户信息:描述用户的信息,如:用户ID(访问、登录等)
时间信息:事件发生的时间
行为信息:用户做了什么样的行为
行为对象信息:用户的行为作用在哪些对象上,比如:点击了按钮 A;浏览了页面 B;修改了文本框 C,那么 A, B, C分别就是用户行为作用对象
采集事件的类型:
按照采集方式的不同,将事件分为两大类:无埋点和埋点。
无埋点
无埋点是指研发通过集成 GrowingIO SDK,无需额外开发任何代码,自动采集生成事件。
访问事件:每当产生一个新的访问时
激活事件:当 APP 首次激活打开时
唤醒事件:由 GrowingIO Deep Link 唤醒APP时
应用关闭事件:APP、小程序进入后台时
页面事件:用户打开一个页面时
点击事件:当用户对页面上的可点击元素有点击行为时
输入框改变内容事件:当用户对 APP 上的输入元素有改变的行为时(默认不采集)
提交表单事件:当用户产生提交表单行为时
访问事件
在 GrowingIO 的数据模型中,访问事件定义:
Web端:用户在一定时间内首次打开网站页面
移动端:用户在一定时间内首次打开移动应用
小程序:用户在微信中打开小程序
一次访问会生成一个 session,各平台的 session 刷新机制如下:
Web端:首次访问时生成 session,当用户30 分钟内无操作行为,之后有操作行为,刷新 session。
移动端:冷启动时生成 session,当App进入后台30秒后再次恢复至前台,刷新session。
小程序:冷启动时生成 session,当小程序进入后台5分钟后再次启动,刷新session。
页面事件
在 GrowingIO 的数据模型中,页面事件定义:
Web端:用户通过浏览器访问了一个页面
移动端:用户在移动应用中访问了一个页面
小程序:用户在微信中访问了小程序的一个页面
元素事件
在 GrowingIO 的数据模型中,元素事件定义:
Web端:点击了一个页面元素提交了一个表单修改了某个输入框
移动端:点击了一个控件元素修改了某个输入框
小程序点击了一个页面元素提交了一个表单修改了某个输入框
埋点
在很多业务分析场景中,单纯的无埋点无法满足用户的分析需求。
埋点是指研发集成 GrowingIO SDK后,开发额外的代码,调用 GrowingIO SDK 中提供的API,手动发送事件。
埋点事件
通过调用 track 类型接口触发。
用户属性事件
通过调用 userAttribute 类型接口触发。
在 GrowingIO 系统中,埋点事件的行为层级关系等同于无埋点事件的元素事件。
埋点事件按埋点位置可以分为客户端埋点和服务端埋点。
客户端埋点
研发可以通过在自己的客户端应用中通过调用 SDK 的 API 来发送埋点数据
服务端埋点
对于一些复杂的业务事件,如:应用的客户端没有明确的操作成功标记,无法通过无埋点事件进行分析;线下营销活动数据录入,无法通过无埋点事件进行分析。 研发可以在服务端通过调用 GrowingIO 的服务器埋点事件接口来发送埋点数据。