自动化与脚本
移动应用安装归因体系搭建与调试:SKAN 4…
当需要为 iOS/Android 应用搭建或排查付费广告安装归因(SKAdNetwork、AdAttributionKit、Install Referrer、MMP、深度链接、转化值)时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
移动应用安装归因体系搭建与调试:SKAN特定
解决思路
- 先做初始评估:检查是否存在 app-marketing-context.md;依次询问平台(iOS/Android/两者)、当前是否使用 MMP(AppsFlyer、Adjust、Singular、Branch、Kochava)及具体哪家、正在或计划投放的付费渠道(ASA、Meta、TikTok、Google UAC 等)、当前问题或目标(新搭建、修复数据差异、优化 CV schema、迁移到 AdAttributionKit 等)。
- 按 2024+ iOS 归因现实选择机制:IDFA(需 ATT 授权,约 25% 授权率)用于可获得的确定性归因;SKAdNetwork 4.0 作为广告网络默认的隐私保护归因;AdAttributionKit(iOS 17.4+)与 SKAN 并行使用,部分网络强制要求;MMP 概率归因受 Apple 限制,仅限有限用途并需核对 MMP 条款;ASA 归因始终开启以获得 campaign/keyword 级细节。
- 采用 2025 默认技术栈:ASA Attribution(内置)+ SKAN 4 + AdAttributionKit + 一个 MMP 做编排 + Apple Search Ads API 获取 ASA 深度数据。
- 掌握 SKAN 4.0 核心概念:postback(Apple 发给广告网络确认安装的信号)、conversion value(6-bit 精细 0–63 或 2-bit 粗粒度 low/medium/high,用于编码用户行为)、postback window(安装后 0–2 天、3–7 天、8–35 天三个窗口)、privacy threshold(安装量过低时值变粗或为空)、hierarchical source ID(4 位 ID 编码 campaign + ad + creative)、web-to-app(支持 Safari → App Store 安装归因)。
- 把转化值 schema 设计作为最高杠杆决策,遵循三条原则:对齐 LTV 信号(编码能预测付费转化的行为而非虚荣事件)、前置加载(大部分信号放在窗口 1 即 0–2 天)、尽可能单调(CV 越高代表用户价值越高)。
- 参考订阅应用窗口 1(6-bit 精细)模板:CV 0 = 仅安装;1–5 = 完成 onboarding;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+)。
- AppsFlyer 配置清单:集成 SDK(在 applicationDidFinishLaunching 中调用 AppsFlyerLib.shared().start());在 dashboard 填入 App ID 与 dev key;SKAN 设置选择模式(推荐 Conversion Studio);开启 AdAttributionKit 开关(iOS 17.4+ 应用);配置 OneLink 用于深度链接;发送应用内事件(logEvent)覆盖 purchase、subscription、trial start;确保 ATT 弹窗在任何依赖 IDFA 的 SDK 调用之前触发;启用各网络集成(Meta、TikTok、Google 等)。
- Adjust 配置清单:集成 SDK 并在 Adjust.appDidLaunch(...) 传入 token;在 dashboard 或 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 域名;测试 deferred deep link(安装后首次打开正确路由);若作为 MMP 使用则配置 Branch Discounts/People-Based Attribution。
- Android 归因配置:始终集成 Google Play Install Referrer API 作为确定性安装来源;UAC 使用 Google Ads Attribution 内置归因;Meta、TikTok 等通过 MMP SDK 处理。即使已有 MMP 也要集成 Install Referrer API,它是事实来源。
- 深度链接架构选型:Universal Links(iOS)/ App Links(Android)用于已安装时从网页/邮件打开应用并回退到网页;deferred deep link 用于从广告安装后首次打开路由到指定页面;自定义 URL scheme(myapp://)仅用于内部导航,不要用于广告。测试矩阵覆盖安装状态 × 来源 × 操作系统 × 系统版本;常见失败是 Android 上 deferred deep link 正常但 iOS 因 Universal Links 域名未验证而回退到 App Store 首页。
- 按调试手册排查症状:MMP 有安装而广告网络没有 → postback 时机或未达隐私阈值;ASA Attribution 安装数高于 MMP → MMP 缺少 iAd Framework 集成,改用 AdServices framework(iOS 14.3+);转化值全为 0 或 null → 隐私阈值(量低)或应用内未实现 schema;Android Install Referrer 为空 → 首次启动 60 秒内未调用 API;deferred deep link 丢参数 → 应用未处理冷启动启动参数;MMP 与 RevenueCat/ASC 收入不一致 → 货币换算 + 退款 + 家庭共享,预期 5–10% 差异。
- 按输出模板交付:ATTRIBUTION SETUP — <App Name>,包含 CURRENT STATE(平台、MMP、已上线渠道、已知问题)、RECOMMENDED STACK(iOS、Android、深度链接)、CONVERSION VALUE SCHEMA(iOS 6-bit 精细,窗口 1/2/3 的 CV → 事件表)、IMPLEMENTATION CHECKLIST、TESTING PLAN(从各渠道安装并在 X 小时内验证 MMP postback、触发 CV 更新并验证传播、从各广告来源测试 deferred deep link)。
- 避免常见错误:ATT 弹窗触发过早(会降低授权率,应在价值时刻之后展示);CV schema 围绕虚荣指标(会话数)而非收入信号设计;未测试隐私阈值导致低量 campaign 返回 null CV;在广告素材中使用 URL scheme 深度链接(应用未安装时无效);忘记为 ASA 使用 AdServices framework(会静默少算 ASA 安装 30–60%);混用 SDK 侧与 dashboard 侧 CV 映射(应二选一)。
- 按需跨技能交接:设计这些信号要优化的 campaign → ua-campaign;ASA 关键词/campaign 结构 → apple-search-ads;搭建 schema 依赖的应用内事件 → app-analytics;转化值目标指向收入但 ASC 总数不匹配 → asc-metrics。
适用边界 · 注意事项
- 不涉及付费广告归因、仅需应用内分析事件时,应使用 app-analytics 而非本技能。
- 仅需设计付费 campaign 策略或 ASA 关键词结构时,应分别使用 ua-campaign 或 apple-search-ads。
- 没有投放任何付费渠道、也不需要衡量安装来源时,无需搭建归因体系。