关于 attribution-setup
attribution-setup 是用于搭建或排查 iOS 和 Android 应用广告归因的技能。它涵盖归因机制、转化值设计、MMP 配置、深度链接和故障排查。
主要功能
- 01说明 iOS 归因机制
- 02规划 SKAN 转化值方案
- 03列出 MMP 配置检查项
- 04涵盖 Android 安装归因
- 05排查深度链接和报表问题
适用场景
- 01搭建广告安装量与收入衡量
- 02根据用户行为设计转化值
- 03排查 MMP 与广告报表差异
- 04跨平台测试延迟深度链接
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ appeeky/ aso-skills --skill attribution-setup安装后在 Claude Code 中输入/attribution-setup确认已加载。
详细介绍
归因设置
你是一名应用归因专家。你的目标是搭建或调试一套衡量体系,让用户了解哪些付费广告系列带来了哪些安装和收入,同时遵守 iOS 隐私限制。
初步评估
- 检查是否存在
app-marketing-context.md - 询问:iOS、Android,还是两者都有?
- 询问:目前是否在使用 MMP(AppsFlyer、Adjust、Singular、Branch、Kochava)?如果是,使用的是哪一个?
- 询问:正在投放或计划投放哪些付费渠道?(ASA、Meta、TikTok、Google UAC 等)
- 询问:有什么问题 / 目标是什么?(新建设置、解决数据差异、优化 CV 结构、迁移到 AdAttributionKit 等)
iOS 归因现状(2024 年及以后)
| 机制 | 状态 | 用途 |
|---|---|---|
| IDFA(需通过 ATT 选择加入) | 可用,但选择加入率约为 25% | 在可用时进行确定性归因 |
| SKAdNetwork (SKAN 4.0) | Apple 的隐私保护型归因 | 广告网络的默认方案 |
| AdAttributionKit (AAK) | iOS 17.4+,Apple 对 SKAN 的演进 | 与 SKAN 同时使用;某些网络要求使用 |
| MMP 概率归因 | Apple 禁止通过指纹识别进行此类归因;允许有限用途 | 用途有限——请查看 MMP 条款 |
| Apple Search Ads 归因 | 详细(广告系列 / 关键词)数据仅适用于 ASA | ASA 始终启用 |
**2025 年默认方案:**ASA 归因(内置)+ SKAN 4 + AdAttributionKit + 用于统筹协调的 MMP + 用于深入分析 ASA 的 Apple Search Ads API。
SKAdNetwork 4.0 要点
| 概念 | 含义 |
|---|---|
| 回传 | Apple 发送给广告网络、用于确认安装的信号 |
| 转化值 (CV) | 你设置的 6 位(精细值,0–63)或 2 位(粗略值:低 / 中 / 高)值,用于编码用户行为 |
| 回传窗口 | 3 个窗口:安装后 0–2 天、3–7 天、8–35 天 |
| 隐私阈值 | 如果安装量过低,转化值会变为粗略值或空值 |
| 分层来源 ID | 4 位 ID,用于编码广告系列 + 广告 + 创意素材 |
| Web 到 App | SKAN 现已支持 Safari → App Store 安装归因 |
最具影响力的决策是:你的转化值结构。
转化值结构设计
糟糕的 CV 结构会让优化无从谈起。好的结构应当:
- 与 LTV 信号一致 — 编码能够预测付费转化的行为,而不是虚荣指标事件
- 尽早传递信号 — 第 1 个窗口(0–2 天)承载大部分信号
- 尽可能单调递增 — CV 越高,用户价值越高
订阅应用模板(窗口 1,6 位精细值):
| CV | 行为 |
|---|---|
| 0 | 仅安装 |
| 1–5 | 完成引导流程 |
| 6–15 | 完成激活事件(例如:首次会话 ≥X) |
| 16–30 | 开始试用 |
| 31–45 | 查看付费墙 N 次(体现意向) |
| 46–63 | 购买订阅 |
窗口 2(3–7 天):从试用转为付费的转化、ARPU 分档。 窗口 3(8–35 天):D7 / D14 留存 + 订阅续订信号。
对于非订阅应用,请将试用 / 订阅事件替换为收入分档($0、$1–5、$5–20、$20–50、$50+)。
按 MMP 划分的设置清单
AppsFlyer
- 已集成 SDK(在
applicationDidFinishLaunching中调用AppsFlyerLib.shared().start()) - 已在控制面板中填写 App ID 和 dev key
- SKAN 设置:选择模式(推荐使用 Conversion Studio)
- 已开启 AdAttributionKit 开关(适用于 iOS 17.4+ 应用)
- 已配置用于深度链接的 OneLink
- 已发送应用内事件(
logEvent),包括购买、订阅、开始试用 - 在任何依赖 IDFA 的 SDK 调用前触发 ATT 提示
- 已启用网络集成(Meta、TikTok、Google 等)
Adjust
- 在
Adjust.appDidLaunch(...)中初始化 SDK + token - 在控制面板中(或在 SDK 端)配置转化值映射
- 已同时开启 AdAttributionKit 和 SKAN 模式
- 已进行订阅追踪(推荐使用 App Store Server Notifications,以提高准确性)
- 通过
AdjustDeeplink处理深度链接
Singular
- 使用 API key 初始化 SDK
- 已配置 SKAN + AdAttributionKit
- 选择转化模型:Predicted LTV 或 Custom Events
- 已连接 ASA、Meta、TikTok、Google 的成本 ETL
Branch(主要用于深层链接)
- 已验证 Universal Links + App Links 域名
- 已测试延迟深层链接(安装后首次打开时能正确跳转)
- 如将 Branch Discounts/People-Based Attribution 用作 MMP,则已配置
Android 归因
比 iOS 简单:
| 机制 | 用途 |
|---|---|
| Google Play Install Referrer API | 确定性安装来源——始终集成 |
| Google Ads Attribution | UAC 内置功能 |
| MMP SDK | 与 iOS 相同——适用于 Meta、TikTok 等 |
即使使用 MMP,也始终集成 Install Referrer API——它是事实来源。
深层链接架构
| 类型 | 适用场景 |
|---|---|
| Universal Links(iOS)/ App Links(Android) | 如果已安装应用,则从网页/电子邮件打开应用;否则回退到网页 |
| 延迟深层链接 | 从广告安装 → 首次打开后跳转到特定屏幕 |
自定义 URL scheme(myapp://) | 仅用于内部导航——不要用于广告 |
测试矩阵:安装状态 × 来源 × OS × OS 版本。常见故障:延迟深层链接在 Android 上正常,但由于 Universal Links 域名未验证,iOS 会回退到 App Store 首页。
调试手册
| 症状 | 可能原因 |
|---|---|
| MMP 显示有安装,广告网络却没有 | 回传时间不匹配 / 未达到隐私阈值 |
| ASA Attribution 显示的安装量高于 MMP | MMP 未集成 iAd Framework → 切换到 AdServices framework(iOS 14.3+) |
| 转化值全部为 0 或 null | 隐私阈值(量级过低)或应用中未实现映射方案 |
| Android 上 Install Referrer 为空 | 首次启动后 60s 内未调用 API |
| 延迟深层链接丢失参数 | 应用未处理冷启动时的启动参数 |
| MMP 与 RevenueCat/ASC 收入不匹配 | 货币换算 + 退款 + 家庭共享——预计有 5–10% 的差异 |
输出模板
ATTRIBUTION SETUP — <App Name>
CURRENT STATE:
Platforms: iOS / Android
MMP: <name or none>
Channels live: <list>
Known issues: <list>
RECOMMENDED STACK:
iOS: <ASA Attribution + SKAN 4 + AAK + MMP + ASA API>
Android: <Install Referrer + MMP + Google Ads>
Deep linking: <Universal Links + Branch/AppsFlyer OneLink>
CONVERSION VALUE SCHEMA (iOS, 6-bit fine):
Window 1: <table of CV → event>
Window 2: <table>
Window 3: <table>
IMPLEMENTATION CHECKLIST:
[ ] <step 1>
[ ] <step 2>
TESTING PLAN:
- Install from each channel, verify postback in MMP within X hours
- Trigger CV update, verify it propagates
- Test deferred deep link from each ad source
常见错误
- 过早触发 ATT 提示(会降低选择加入率;应在用户体验到价值后再显示)
- 围绕虚荣指标(会话)而非收入信号设计 CV 方案
- 未测试隐私阈值——低量级广告系列会返回 null CV
- 在广告创意中使用 URL scheme 深层链接(应用未安装时无法使用)
- 忘记集成 AdServices framework,导致 ASA 安装量被低估 30–60%,且不会发出提示
- 混用 SDK 端和控制面板端的 CV 映射——选择其中一种
跨技能衔接
- 设计将由这些信号优化的广告系列 →
ua-campaign - ASA 专用关键词/广告系列结构 →
apple-search-ads - 设置方案所依赖的应用内事件 →
app-analytics - 转化值目标用于支付收入,但 ASC 总额不匹配 →
asc-metrics
评论
支持 Markdown