SPM/SCM 流量跟踪体系

news2024/11/21 2:36:07

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 做的事情,做个更加精细度的埋点,即为每个链接进行编码

介绍

image.png

SPM 示例链接: http://detail.tmall.com/item.htm?id=3716461318&&spm=2014.123456789.1.2

其中 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 体系图示

image.png

作用

统计投放效果

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

分析用户行为

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

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

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

分析链路转化

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

image.png

埋点

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

image.png

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 就能够做到数据追踪与复盘。

参考链接

  • 阿里云官网的 url 后带的 spm 参数有什么作用? - 知乎 (zhihu.com)
  • 解构淘宝 SPM/SCM 流量跟踪体系 – 标点符 (biaodianfu.com)
  • 基础知识储备 · tmall_event tracking (gitbooks.io)
  • 埋点-淘宝SPM流量跟踪体系 | 并发笔记 - ofcoder.com
  • 埋点的spm和scm模型 - 白加黑 (blublu.site)
  • 浅谈埋点质量管理 (qq.com)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1282479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

研习代码 day47 | 动态规划——子序列问题3

一、判断子序列 1.1 题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde&…

无需公网IP!Apache服务器本地部署与内网穿透实现公网访问

Apache服务安装配置与结合内网穿透实现公网访问 文章目录 Apache服务安装配置与结合内网穿透实现公网访问前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpo…

VPS简介:基于Amazon Ligtsail的概述

当你作为一个开发者,你想要开发自己的系统,构建自己的系统架构时,你会有以下两种选择:第一种就是亲自去挑选组件,例如:云服务器、存储、IP地址等等,然后再花时间自己组装起来,就像该…

天翼云:“百万IOPS”助推政企上云

随着数字化转型的加速,越来越多的企业选择了业务上云。众所周知,不论是政企关键/核心业务中的大型数据库、NoSQL、AI训练,还是互联网业务中的游戏、渲染等场景,对数据读写IOPS和时延有极高的要求。作为全球领先的云服务商&#xf…

如何打印社保参保凭证

西安市: 陕西政务服务网: 个人服务 珠海市: 广东政务服务网: 用户登录 | 珠海市人力资源和社会保障网上服务平台 武汉市: 湖北政务服务网: 湖北政务服务网

Android实验:绑定service实验

目录 实验目的实验内容实验要求项目结构代码实现代码解释结果展示 实验目的 充分理解Service的作用,与Activity之间的区别,掌握Service的生命周期以及对应函数,了解Service的主线程性质;掌握主线程的界面刷新的设计原则&#xff…

JavaWeb 前端工程化

前端工程化是使用软件工程的方法来单独解决前端的开发流程中模块化、组件化、规范化、自动化的问题,其主要目的为了提高效率和降低成本。 前端工程化实现技术栈 前端工程化实现的技术栈有很多,我们采用ES6nodejsnpmViteVUE3routerpiniaaxiosElement-plus组合来实现 ECMAScri…

游戏被流量攻击会有什么样的影响,该用什么样的防护方式去处理

德迅云安全-领先云安全服务与解决方案提供商德迅云游戏盾专门针对游戏进行防护,可免费提供防护方案~ 如果游戏被流量攻击会产生以下影响: 服务器过载:流量攻击会导致游戏服务器接收到的请求数量急剧增加,超出服务器的处理能力。这…

Reactor实战,创建一个简单的单线程Reactor(理解了就相当于理解了多线程的Reactor)

单线程Reactor package org.example.utils.echo.single;import java.io.IOException; import java.net.InetSocketAddress; import java.nio.channels.*; import java.util.Iterator; import java.util.Set;public class EchoServerReactor implements Runnable{Selector sele…

Python中PyQt5可视化界面通过拖拽来上传文件

注:这个窗口提供了一个快速上传文件的小tips,如果需要对上传的文件进行进一步处理的可以在“processFiles”函数或者编写其它函数进行扩充就可以。 1、需要安装模块 pip install PyQt5 2、运行效果 1、通过拖拽的方式上传需要的文件到窗口,会…

【灵魂 |数据结构与算法】 数据结构必备经法(开山篇),一起修炼算法经法!

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

微信小程序引入node_modules依赖

微信小程序不支持直接读取node_modules 首先在目录文件夹下cmd输入npm init命令 D:\小程序\project\calendar\calendar_1>npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible…

巧用乖离率BIAS,捕捉买卖信号

一、认识BIAS乖离率 BIAS,中文名称是乖离率,它表示一定时期内股价与其MA均线的偏离程度。这个指标的理论基础是如果股价偏离均线太远,不管股价在均线之上还是在均线之下,它最终都会向均线靠拢。 乖离率(当日收盘价-N日…

德国进口高速主轴电机在机器人上的应用及选型方案

随着机器人技术的日新月异,高速主轴电机在机器人领域的应用也日趋广泛。德国进口的SycoTec高速主轴电机,以其高转速、高精度、高刚度的特点,在机器人的切割、铣削、钻孔、去毛刺等加工应用中发挥着关键作用。 一、高速主轴电机的特点 SycoT…

外汇天眼:想像巴菲特那样纵横市场?那你和他之间就差个它...

在金融市场上,有些人以巴菲特为榜样,希望像他一样纵横市场,成为投资大师。然而大多数人只是看到了巴菲特表面的成功,却忽视了他在投资过程中所付出的努力和智慧。实际上,如果你想成为像巴菲特那样的投资者,…

PPT NO.5 科研绘图常用操作快捷键

1、Ctrl键 ①按住Ctrl键,可以跳选多个对象: ②按住Ctrl键,同时拖动对象即可进行复制: ③按住Ctrl键,可以对对象进行中心放大或中心缩小: 2、Shift键 ①按住Shift键,拖动对象只能水平或垂直移动…

本地存储与复杂数据类型转换

1. 本地存储介绍 2.1 本地存储分类 - localStorage // 存储一个名字localStorage.setItem(uname, abc)// 获取名字console.log(localStorage.getItem(uname));// 删除本地存储 只删名字// localStorage.removeItem(uname)// 改localStorage.setItem(uname, aaa)// 存一个年龄 …

使用Linux docker方式快速安装Plik并结合内网穿透实现公网访问

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…

ApachePOI入门案例——向Excel文件写入内容

依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version> </dependency> <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml…

无人机智慧工地:助力工地管理的未来之选

在现代工地管理中&#xff0c;无人机凭借其小巧、轻便和多角度拍摄等特点得到广泛应用&#xff0c;尤其在智慧工地的现场管理中发挥着重要作用。 一、无人机代替人工巡检省时省力 以往&#xff0c;施工现场检查主要依赖人工巡检方式&#xff0c;需要较长时间。而现在&#xff…