通过一个简单的例子,来进行埋点方案的设计,在设计的过程中,你会了解我们是如何制定分析思路的。
这是一个简单注册表单。只有两个字段,姓名、邮箱,我们只需要收集这两个字段即可。
我们需要知道姓名输入次数,邮箱输入次数,点击注册按钮次数,注册成功次数。
这里有一个小的环节,就是注册按钮点击和注册成功分别埋点。因为点击注册,不等于注册成功,点击注册而不注册成功的情况有很多。比如,文本框没输入完,就点击注册按钮,那么注册按钮的点击会比注册成功次数多很多。
一个完整的埋点方案,包含事件ID,事件名称,事件说明,属性ID,属性显示名称,属性说明,属性值数据类型。
一个事件可以有多个事件属性,事件属性是用来解释事件的,解释的是事件发生的内容、事件地点等,下一章会单独介绍事件和事件属性。我们先把埋点方案设计完。
上面那一页就是完整的埋点方案,我依次解释一下列头。
事件ID:
每个事件都应该有自己的ID,且不重复,用来进行系统识别,所以事件ID不能是中文;
事件显示名称:
我们在易观方舟里进行分析的时候不能看很多ID进行分析,所以我们可以设置事件显示名称,这个名称在埋点方案里声明,也可以在系统里进行更改。
事件说明:
就是一个备注,用来描述这个事件记录了什么行为。用来不同数据运营人员去理解这个事件的解释。也可以在后台更改。
接下来说属性。
属性ID,跟事件ID一样也是一个标识,用来系统进行识别。
属性显示名称,也是为了分析,对应ID的中文名。
属性说明,是用来备注说明属性的是做什么的是一个解释。最后属性值有一个数据类型,需要在埋点方案里进行设计。
常见的数据类型,比如字符串和整型,还有时间类型。
这个埋点计划,事件ID和事件名称就不解释了,其实一眼可以看懂,有几个疑问点。
第一个,事件说明里的,验证通过触发是什么意思?就是输入姓名这个行为什么时候触发埋点上报?是刚开始输入,还是输入完成?如何判断输入完成?这里会借用一个条件,那就是当输入了内容,且内容合规则,文本框光标离开的时候,触发事件。这个就叫做验证通过。什么是内容和规则啊?比如姓名只允许输入小于10个字,我们在输入的时候,如果超过10个字,会马上边框变红是吧,变红了就说明输入的不符合规则,如果符合规则,光标离开,就会立即触发埋点的代码。
第二个疑问,属性值是什么?
比如我们记录了输入姓名这个事件,我们想知道他输入的是什么名字?张三还是李四呢?这个名字对于我们分析很有帮助,我们需要知道,所以我们给这个输入姓名的事件,增加了一个属性,属性就叫输入的名字,而属性值就是输入的值。张三输入的时候上报的就是张三,李四输入的时候上报的就是李四,下一节课会详细介绍。
第三个疑问,为什么注册成功还有两个属性,还要上报一边姓名和邮箱?
假如我们有一个分析,就是想知道注册成功这个事件的所有人姓名,怎么做?
所以我们需要把姓名作为属性赋予给注册成功这个事件,这样我们就可以知道注册成功时候的姓名和邮箱。
埋点方案里面设计到了事件和事件属性,我们会单独成了一节课进行讲解。好了,这样埋点方案,我们已经给到了工程师,工程师很开心啊,得到如此明确的埋点方案,他是怎么埋点的呢?
我把工程师写的代码块,写了下来,大家可以对应埋点方案感受一下。
这个部分不要求所有人都能明白,因为需要一点代码基础,但是如果可以理解的话,会帮助你了解很多发生在埋点背后的事情。我尽量解释一下,这都是什么。
首先最上面的两行:
写的是,我们通过两个变量,name和Email,把用户在文本框里输入的值拿到。
左边第一段,调用了SDK里的AnalysysAgent.track函数,这个函数是专门上报事件的。
左侧第一段的name,告诉了track函数,我这个事件名叫name,大括号里面都是这个事件的属性,Name-v是属性名称,后面是属性值,name就是上面第一行,用户输入的那个值。
后面的几段代码原理一样。
下面四段代码的最右侧有一个就是注册成功事件,里面有两个属性,分别是姓名和邮件。
以上的页面就是一个代码埋点的代码段,工程师就是通过这样的埋点代码完成了我们在之前写的埋点方案,而这样的埋点,也完成了这个表单数据采集。
这些数据采集后,当有用户触发了这个表单,数据就会通过这样的埋点代码,结合SDK传递到了易观方舟里,我们就可以利用易观方舟的各种分析模型,开始进行分析了。