前言
我们在浏览淘宝网站的时候,会发现以下两种情况
- 当我们进行页面跳转的时候,会发现
url的参数会带有?spm=xxxx的query信息。
2. 同时,在
DOM结构上也会带有data-spm的信息。
那么,为什么在切换页面,以及DOM结构上会生成这些相关的信息呢?什么又是SPM呢?
SPM是什么
SPM(Super Position Model), 是阿里推出的一套埋点规范,通过规范参数定义,以及上报,从而去追踪用户行为。
SPM的规范
编码规范:阿里的SPM位置编码由A.B.C.D四段构成, 各分段分别代表 A:站点/业务, B:页面, C:页面区块, D:区块内点位。
A: 站点/业务,如淘宝。
B: 页面,如淘宝APP首页。
C: 区块,如淘宝APP首页上方轮播区域.
D: 点位:如淘宝APP首页轮播图1。
下面借鉴一个图,举个例子:
上方这个图,我们就可以得到
a21bo.50862.201867-main.1这个点位了。
SPM的基本流程如下,主要是跳转拼接 + 埋点上报
- 跳转拼接:通过页面,区块,点位信息去拼接带有
spm的url信息。 - 埋点上报:通过解析URL提取参数,从而进行埋点的上报。下方这里,就可以提取对应的
当前页面,来源页面,来源页面的来源页面的页面点位。
SPM的作用
由于没有了解到具体的技术实现方案,同时spm公开的信息也不多,所以这里也是参考了其他优秀作者的文章,以及自己的见解在其中(个人视角可能偏向研发视角)。
- 追踪页面来源
理论上,spm可以能追述接入页面的来源页面信息,那么我们就可以追溯页面的来源,同时,基于此可以分析不同渠道进来的流失效果怎么样,从而决定投放的渠道。
- 分析用户行为
spm的埋点可以分析来源(不仅限于页面,有些时候是点位的点击),同时,上报过程中我们也可以上报业务参数,从而根据链路,用户的停留时长,来分析用户行为。
- 分析链路转化
当我们进行了规范的上报,那么我们是可以通过spm上报的数据去呈现出我们的一个基本链路的,可以看用户的流失去了哪,同时,我们也可以指定页面,从而看用户的流失率(如漏斗)。
总结
个人理解下: spm更多是一种规定好的埋点规范。规范了埋点的数据格式,上报方式,同时支持到点位这种细粒度,将需要的信息进行上报,同时采集的数据可能得由DA同学来进行加工处理,最终产出有效可用的分析数据。
PS: 由于spm的相关的公开文章比较少,笔者也只能找到部分的文档进行参考,同时本文也有个人的一些愚见在里面,可能会存在表达疏漏,不准确的情况,请小伙伴批评指正.同时,如果有更多的关于spm文章资料推荐的话,可以在评论区补充哈。