SPM/SCM 流量跟踪体系

SPM

SPM (shopping page mark,导购页面标记) 是淘宝社区电商业务 (xTao)为外部合作伙伴(外站)提供的跟踪引导成交效果数据的解决方案

注:也有解释 SPM 为超级位置模型(Super Position Model),自行理解即可

淘宝官方解释:开放平台-文档中心 (taobao.com)

注:如果大家平时刷 b 站的话,可以看到 b 站也是有 spm,除此之外 b 站还有 vd_source 字段,额外用于统计用户信息,由登录账户访问链接自动生成追加,内部机制我不了解,但是可以理解为用户 ID,所以谨防泄露

问题

首先思考几个问题

1 .如何统计某个页面的 PV(Page View) 呢?

一种思路是直接统计服务端请求日志 (nginx),只要统计该页面的请求数即可。 另一种思路是直接在客户端埋点 ,当访问到某个页面时,同时向日志服务器发送一条埋点日志,日志服务器处理后拿到 pv。

2 .如何追踪某个页面的来源呢?

在第一种思路下,分别统计 nginx 日志下该页面请求的 referer 头信息即可。 而第二种思路下,可以在来源里面加上不同的 URL 来源参数进行区分。

3 .请求具体来自来源页的哪个链接呢?

很显然在第一种思路下已经不能解决这个问题了,所以这个就是 SPM 做的事情,做个更加精细度的埋点,即为每个链接进行编码

介绍

SPM 示例链接: detail.tmall.com/item.htm?id...

其中 spm=2014.123456789.1.2 便 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 编码会有第五个参数,具体为:

  • a:网站 ID,每一个单独的网站(域名),分配唯一的 ID,如 taobao.com 的 aID 为 1,list.taobao.com 的 aID 为 a217f,item.taobao.com 的 aID 为 a217v,tmall 是 3,聚划算是 608,搜索是 a230r
  • b:网页 ID,为同一个网站下每一个网页,分配唯一的 ID,页面 A ID 为 7274553,页面 BID 为 7289245
  • c:频道 ID,为网站中不同区域划分频道,每个频道分配唯一 ID,
  • d:产品 ID,为每个频道内的每个独立产品,分配唯一 ID
  • e:同一个链接请求,为每次请求分配一个随机特征码,保证每次点击 spm 值的唯一性

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

SPM 的应用场景因为 spm 编码本身是有层次的,因此:

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

搭建 SPM 体系图示

作用

统计投放效果

如一个双 11 的广告页需要投放到微博、知乎和优酷等渠道,只需要为每个渠道指定一个编码,后续可以统计每个渠道的投放效果,事后按流量计费进行费用结算。

分析用户行为

假设现在有一个淘宝女装的专题页,为了进行活动引流,会在淘宝首页多处区块放置引流入口,怎么统计各个入口进行淘宝女装专题的量呢,以便后续进行优化提高入口曝光度?

一种常见的思路是每个入口进行布点,当用户进行点击时,同时向日志服务器发送一条埋点日志。但是这个方案有天然的弊端: 1、在页面跳转时,埋点日志请求可能会丢失 2、日志请求过多。

SPM 通过指定编码解决了这个问题,只需要进入页面的时发送一次埋点日志请求即可。

分析链路转化

如新用户的注册过程中,往往包含多个步骤,输入账号,验证手机,设置密码和上传头像等等,这么长的链路过程中,任何一个产品或者技术优化,都可能直接作用到用户的流失率,为了直观的看到这个效果,一般会采用漏斗图。而 SPM 的采集数据包括了精细化的来源数据,可以做出丰富的漏斗图出来分析链路转化率问题

埋点

阿里曾经退出过一款数据产品 Quick Analytics Plus(现已改名 Quick Tracking)。这款产品的文档里有对应的埋点管理模型描述 ,其内部的埋点管理逻辑是位置 > 事件,可以称之为位置优先的埋点模型,在该模型下,事件是限定在位置下的事件,意味着其内部可能有着成千上万的埋点事件

SCM

SCM(Super Content Model,超级内容模型) 编码是用来跟踪内容的编码。与业务内容一起下发的埋点数据,用来唯一标识一块内容。客户端打点时,将 SCM 编码作为埋点的参数上传给 UT 服务器。

SCM 规范

SCM 编码也采用 a.b.c.d 的格式,具体如下:

  • a 标识投放系统 ID,用来标识不同的内容投放方
  • b 标识投放算法 ID,用来标识投放系统产生不同内容的投放算法
  • c 标识投放算法版本 ID,用来标识投放算法的不同版本
  • d 标识投放人群 ID,用来标识不同的投放人群

区别

spm 针对的是用户位置分析,而 scm 针对的是内容分析,通过内容来源、投放算法、算法版本、对应人群四个参数标识当前用户的 feed 流推荐内容来源,再针对性的计算不同类型的 CTR 就能够做到数据追踪与复盘。

参考链接

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
keke.shengfengpolang19 分钟前
别只盯着6500的平均线!2026物联网高职生,如何靠“数据思维”让薪资再跳一级?
数据分析
彭于晏Yan28 分钟前
SpringBoot整合ECC实现文件签名与验签
java·spring boot·后端
pupudawang30 分钟前
Spring EL 表达式的简单介绍和使用
java·后端·spring
xianjian09121 小时前
springboot与springcloud以及springcloudalibaba版本对照
spring boot·后端·spring cloud
羊小猪~~1 小时前
【QT】-- QMainWindow简介
开发语言·数据库·c++·后端·qt·前端框架·求职招聘
ruxingli1 小时前
GoLang的并发如何避免死锁
开发语言·后端·golang
Tyooughtul1 小时前
MySQL篇 索引失效
后端
YMWM_2 小时前
python3中的装饰器介绍及其应用场景
java·后端·spring
秋野酱2 小时前
基于springboot的母婴商城系统设计与实现(源码+文档+部署讲解)
java·spring boot·后端
踩着两条虫2 小时前
VTJ.PRO 在线应用开发平台的后端模块系统
后端·架构·nestjs