【项目随记】淘宝页面标签属性里的data-spm

1,337 阅读5分钟

最近在写淘宝首屏的静态页面,发现里面很多div和url的属性里都带有诸如
data-spm``data-spm-anchor-id``data-spm-max-id此类属性
可以发现共同点为其中均带spm

于是我翻阅了淘宝的开放平台(open.taobao.com/doc.htm?doc…

得到如下解释

什么是SPM

SPM是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的一套跟踪引导成交效果数据的解决方案。

下面是一个跟踪点击到宝贝详情页的引导成交效果数据的SPM示例:

detail.tmall.com/item.htm?id…

其中spm=2014.123456789.1.2 便是下文所说的SPM编码

  SPM编码:用来跟踪页面模块位置的编码,标准spm编码由4段组成,采用a.b.c.d的格式(建议全部使用数字),其中,

  • a代表站点类型,对于xTao合作伙伴(外站),a为固定值,a=2014

  • b代表外站ID(即外站所使用的TOP appkey),比如您的站点使用的TOP appkey=123456789,则b=123456789

  • c代表b站点上的频道ID,比如是外站某个团购频道,某个逛街频道,某个试用频道 等

  • d代表c频道上的页面ID,比如是某个团购详情页,某个宝贝详情页,某个试用详情页 等

完整的SPM四位编码能标识出某网站中某一个频道的某一个具体页面。

比如xTao合作伙伴(a=2014)中某个外站appkey为123456789(b=123456789),频道ID为1(c=1),页面ID为2(d=2),那么spm=2014.123456789.1.2,就唯一标识外站123456789的频道1上的页面2,从这个页面点击出去的链接,后面都应该携带spm=2014.123456789.1.2的参数串。这样,通过这个编码,我们就能唯一的定位到一个url是由外站中哪个具体页面点击生成的。

注意:spm的四位总长度32位,并且不支持%、&等特殊字符,请尽量使用英文以及数字

SPM的应用场景

因为spm编码本身是有层次的,因此,我们可以:

  • 单独统计spm的a部分,我们可以知道某一类站点的访问和点击情况,以及后续引导和成交情况。
  • 单独统计spm的a.b部分,我们可以用来评估某一个站点的访问和点击效果,以及后续引导和成交情况。
  • 单独统计spm的a.b.c部分,我们可以用来评估某一个站点上某一频道的访问和点击效果,以及后续引导和成交情况。
  • 单独统计spm的a.b.c.d部分,我们可以用来评估某一个频道上某一具体页面的点击效果,以及后续引导和成交情况。

SPM的效果指标和数据查看

基于SPM可以得到的效果统计指标:

  • PV:通过指定spm编码引导到宝贝详情页面的PV
  • UV:通过指定spm编码引导到宝贝详情页面的UV
  • 支付宝成交人数:通过指定spm编码引导到宝贝详情页面的用户当天对同店商品的支付宝成交人数
  • 支付宝成交笔数:通过指定spm编码引导到宝贝详情页面的用户当天对同店商品的支付宝成交笔数
  • 支付宝成交金额:通过指定spm编码引导到宝贝详情页面的用户当天对同店商品的支付宝成交金额
  • 客单价=支付宝成交金额/支付宝成交人数,代表通过指定spm编码引导过来的购买用户的消费能力
  • 转化率=支付宝成交人数/UV,代表通过指定spm编码引导的用户最终转化为购买用户的比率

SCM跟踪体系

scm编码是用来跟踪内容的编码。 与业务内容一起下发的埋点数据,用来唯一标识一块内容。 客户端打点时,将scm编码作为埋点的参数上传给UT服务器。

scm编码也采用a.b.c.d的格式,其中,一般来说,

  • a标识投放系统ID,用来标识不同的内容投放方,比如商城的阿拉丁系统,对应的投放系统ID为1003。
  • b标识投放算法ID,用来标识投放系统产生不同内容的投放算法。
  • c标识投放算法版本ID,用来标识投放算法的不同版本。
  • d标识投放人群ID,用来标识不同的投放人群,或者对接profile。

类似的跟踪方式还有凡客的体系,凡客较淘宝要简单,意思明了,简单的英文缩写,如homepage、focus等等,与淘宝最主要的区别是跟踪参数ref的参数一直有继承,即是下一个点击会继承上一个点击产生ref,目前是继承到10级,然后就开始从原始的减少,一直保持10级。具体如下:

ref=hp-hp-yc-1_1-v:n|hp-hp-head-logo-v:n|s-s-c_rs_28806-1_3-6373505_Sort01_qb_000-v|hp-hp-classman-3_2-v:n