数据归因的链路系统

数据归因的链路系统
MeteorCat对接过发行系统的开发会频繁看到 数据归因 这个名词, 简单来说就是投放数据需要溯源分析从而知道获客来源多
以现实例子在抖音推广来说:
-
(广告曝光)需要投入资金购买抖音广告位
-
(广告展示)需要分析展示效果和频率(这部分可有可无, 有的主要只计算点击率)
-
(广告点击)用户看到广告之后点击推广触发下载跳转落地页等行为, 这种就是获得点击量
-
(安装激活)用户下载到设备安装完成, 首次启动代表整体链路激活, 这种就是设备激活量
-
(用户转化)用户启动之后注册/登录账号的时候, 就代表正式转化为我们的用户, 这就是用户转化量
-
(付费用户)如果用户正式在应用触发付费行为, 那么这就代表该用户为核心付费用户, 也就是购买广告位获得的正向收益
数据归因 所要做的就是跟踪整体链条保证让投入产出比持续健康, 保证收益 就是归因的最终目的
广告位这部分是真金白银投入的, 如果投放的渠道收益差(投入资金但收益低)就要赶快停止或者切换渠道
数据核心指标
CAC = 获取客户的成本 = Customer Acquisition Cost
计算公式: CAC = 总投放费用 ÷ 有效新增付费用户
注: 需剔除刷量、退款、7天内流失用户
例子:
-
投入¥50,000,展示2,000,000次,点击60,000次
-
下载15,000次,激活8,000人,付费400人
-
7日流失80人,退款20人
计算:
-
原始CAC = 50,000 ÷ 400 = ¥125/人
-
无效用户 = 80 + 20 = 100人
-
有效用户 = 400 - 100 = 300人
-
真实CAC = 50,000 ÷ 300 = ¥166.67/人
CPM = 千次曝光成本 = Cost Per Mille
计算公式: CPM = (总投放费用 ÷ 广告展示次数) × 1000
例子:
-
投入¥50,000,曝光2,000,000次
-
CPM = (50,000 ÷ 2,000,000) × 1000 = ¥25/千次
平台对比:
-
抖音: ¥25 | 广点通: ¥30
注: CPM仅作参考,最终决策看ROI
CTR = 点击率 = Click-Through Rate
计算公式: CTR = (用户点击次数 ÷ 广告展示次数) × 100%
注: 用于评估广告素材吸引力,CTR偏低需优化素材或定向
例子:
-
展示2,000,000次,点击60,000次
-
CTR = (60,000 ÷ 2,000,000) × 100% = 3%
-
即每100次曝光获得3次点击
LTV = 用户生命周期价值 = Life Time Value
计算公式: LTV = 累计付费金额 ÷ 新增用户数(去重设备/账号)
细分指标:
-
首日LTV、3日LTV、7日LTV、30日LTV、长期LTV
例子(1000人cohort):
-
首日: ¥5,000 → LTV=¥5
-
3日: ¥12,000 → LTV=¥12
-
7日: ¥20,000 → LTV=¥20
30日LTV预估:
-
7日LTV × 经验系数K
-
K=1.5(超休闲)、2.0(休闲)、2.5(中重度)、3.5+(重度)
留存衰减参考:
-
公式: 留存率 = 首日留存率 × (天数)^(-b)
-
b值: 0.3(极慢)、0.6(较慢)、0.8(中等)、1.0(线性)、1.2(很快)
-
示例: 首日留存50%,b=0.8 → 30日留存≈5%
ROI = 投资回报率 = Return on Investment
计算公式: ROI = (回收金额 - 投入成本) ÷ 投入成本 × 100%
细分指标:
-
首日ROI = 首日付费 ÷ 当日消耗
-
7日ROI = 7日累计付费 ÷ 消耗
-
30日ROI = 30日累计付费 ÷ 消耗
-
长期ROI = LTV ÷ CAC
例子(投入¥10,000):
-
首日¥3,000 → 30%
-
7日¥8,000 → 80%
-
30日¥15,000 → 150%
决策:
-
ROI<100%: 未回本,考虑停投
-
ROI>100%: 正向回报,可加量
-
游戏行业特别关注首日/7日ROI
这里主要从游戏行业方面说明, 其他行业的数据归因其实大差不差也是这部分逻辑
游戏行业常说的 买量 其实就是购买这部分付费转化的用户, 核心就只有 付费用户 才能正向收益
很多游戏会投放首次充值奖励礼包(5~10元左右), 用游戏优惠礼包让利给玩家从而保证长期 ROI 回收成本
链路系统
下面就是整体流程链路流转
1 | ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ |
落实到技术层面, 就需要给投放的广告点击跳转到我们下载服务器或者落地页面设置 链路ID(trace_id) 标识
1 | 用户点击广告 |
对于 Google/iOS 商店和非官方商店采用以下方式获取安装之后捕获 trace_id:
-
Google 安装来源追踪: https://developer.android.google.cn/google/play/installreferrer?hl=zh-cn -
iOS 安装来源追踪: https://developer.apple.com/documentation/storekit/skadnetwork -
安卓其他派发方式: 直接对安装母包反编译写入固定平台ID标识, 之后单独生成独有的下载连接, 安装默认读取写死的平台标识提交绑定
Google 和 iOS 商店这部分不用太多说明, 主要需要针对的是 安卓的其他分发方式:
-
在抖音购买广告推广计划
-
我们自己服务器需要为这个广告生成固定的
trace_id, 比如douyin_20260318_312 -
需要将后台提交的应用母包反编译注入该参数
TRACE_ID动态分出专门广告包开放下载 -
外部提供连接为
https://{自己服务器}?trace_id=douyin_20260318_312分包地址 -
玩家点击下载完成在 APP 首次启动时提交 TRACE_ID 和 IDFA/GAID/OAID/IMEI 设备标识
注意: Google 和 iOS 这种官方商店上架分发和其他方式不太一样, 官方有专门的回调处理方法
这就是整体的链接跟踪实现方式, 主要大头还是在客户端的反编译注入处理方式
误区说明
需要注意:
发行SDK系统不要和广告链路系统集成在一起对外提供服务
这部分我见过将发行平台和链路跟踪归到相同的系统共同维护, 后续做代码维护更新的时候耦合在一起很不好处理
发行SDK和链路SDK都是由客户端自行去提交推送不同地址, 也就是客户端开发内部是带有两个请求服务地址:
-
https://sdk.{自己服务器}.com: 发行平台的请求对接系统 -
https://trace.{自己服务器}.com: 广告平台的链路上报系统
这样解耦的好处就是能够将不同服务分布在不同服务器管理, 保持服务之间的独立性
trace 系统只负责
广告曝光 → 点击 → 安装 → 激活 → 转化 → 留存的链路跟踪
trace_id 由客户端保证本地数据安全性并对上报提交参数做签名保证不可变动, 还有设备ID(OAID/IDFA/GAID)与 trace_id 做绑定
一定要保证严格监控广告引流转化的流程, 因为这部分都是自身出资购买而来的用户量, 如果不及时监控会出现买量却毫无转化的情况
买量的计算方式是从点击的下载量就开始开始计算的, 所以要严格确认点击之后的转化而来的付费用户量(用户点了广告触发下载就扣钱)
去除部分误差之外, 也有些第三方买量公司会偷偷搞刷量的小动作, 导致出现付费之后安装和激活量很高但是基本上都是直接单次流失的用户

