一 场景描述

做电商的同学们是不是一直在为GMV上不去而头疼不已,设计了好多的展示页面,引流点,希望能够为最后的下单付款添砖加瓦。 
但是展示位做多了,分析展示位带来的最终效果似乎会有些复杂,这么多的展示位,我们如何能够很好的跟踪其对最终转化行为的贡献程度呢?没关系,我们设计一套简单易行的埋点方案就好啦~

二 关键词

2.1 展示位

用户能够接触到我们网站的各个花里胡哨的页面里,因为展示的目的,组织逻辑不同,会有不同的小豆腐块,像报纸的专栏一样排的密密麻麻的。这一个小豆腐块,就是一个展示位。 
每一个展示位,我们可以设计如下几个属性: 
-展示位ID:用来作为这个展示位的唯一标志 
-展示位名称:给这个展示位取一个容易记的名字吧,如果可以最好唯一不重复,和展示位ID一一对应 
-展示位类型:给这个展示位定一个类型,这样我们更容易统计某一类的展示位带来的综合效果呢 
-展示位描述:可以记录一下这个展示位的一些主要的作用,设计的目的啥的,以免以后忘了

2.2 行为点

好啦,当展示位曝光在用户眼前的那一刻起,其实我们和用户的交互就已经开始了,从这时起,我们需要做的就是把用户和系统的每一次重点的交互操作都记录下来,这样的每一次操作,都叫一个行为点。 
每一个行为点,我们可以设计如下几个属性: 
-行为点ID:同样是用来唯一标志这个行为点的 
-行为点名称:方便人工阅读,见名知义的一个名字,依然最好是唯一不重复,和行为点ID一一对应 
-展示位ID:触发这个行为点的起始展示位ID,方便我们跟踪喽 
-行为链路ID:多个行为点按照时间串联起来,会形成一个行为链路,这里明确的指定一个行为链路ID,用来方便分析日志的时候关联行为点 
-AB Test ID:其实在同样的一个行为点的时候,可能触发的后台逻辑是不同的,比如搜索展示行为点,有可能会尝试使用不同的展示策略,所以在行为点的属性中,可以设计一个AB Test ID,用来表示当前行为点具体是根据哪种策略触发的

2.3 行为链路

在上个小节中,提到了行为链路ID,没错,这个行为链路ID就是唯一代表了一个行为链路的标志ID。 
和展示位,行为点不同,展示位和行为点,都是事先已知的,各个属性都是产品同学或者运营同学提前指定好的,有需要的时候再添加;而行为链路则不同,它纯粹是在用户使用我们的产品时,动态生成的,所以行为链路ID一般都是系统通过程序自动去产生一个,比如md5(uid+timestamp+展示位ID+random_seed)等等方法。

三 效果追踪

有了上述的埋点方案之后,其实后续的效果追踪的工作就会变的十分方便了。

3.1日志采集

各家会有各家自己的日志收集的中间件,比如Flume等等。主要目的都是从客户端把日志收集到服务器端,并且进行一些简单的数据预处理。

3.2 日志中间层

收集好的日志一般都是纯文本格式,并不一定方便大数据工具进行直接处理,所以可以按照行为点的属性字段切分,将日志数据落在数据仓库的日志中间层中,这样可以方便后续使用hive,spark等大数据工具进行分析。

3.3 行为链路分析

这一块的具体操作就和业务关系比较紧密了,一般会把一些行为点作为转化行为,会把一些前置的行为点作为行为链路的中间节点,通过行为链路ID,就可以很容易的知道到底哪些展示位为转化行为带来的贡献比较大,具体是多少;而且通过AB TEST ID字段,也很容易对比系统中触发不同行为点的背后的逻辑优劣,以便我们系统后端的工程师们,可以方便的调整自己的行为触发策略~