What's new with SKAdNetwork
System & Services 进阶 20m

SKAdNetwork 的新变化

What's new with SKAdNetwork

2022年6月6日

在 Apple 官方观看视频

一句话判断

SKAdNetwork 4.0 是广告归因领域的一次重要迭代——层级化 ID、多轮回传和 Web 广告归因让隐私和数据之间的天平进一步倾斜。

这场 Session 讲了什么

SKAdNetwork 是 Apple 的隐私保护型安装归因系统,在保护用户隐私的前提下向广告主提供归因数据。SKAdNetwork 4.0 带来了四个维度的更新:

层级化 Source Identifier:原来的 2 位 Campaign ID 扩展为 4 位 Source Identifier。这个字段不是简单地变长了,而是被设计为三层层级结构——2 位、3 位、4 位。你可以把它理解为”广告活动 + 用户分桶 + 广告位”的三级钻取。

双精度转化值:在原有的 fine-grained conversion value(6 位,0-63)基础上新增了 coarse-grained conversion value(3 档:low/medium/high)。粗粒度值需要更少的安装量就能被回传,让新应用也能更快获得归因反馈。

多轮回传机制:不再是单一 postback。SKAdNetwork 4.0 引入了多个时间窗口的回传——安装后短期内发第一轮,后续还有延迟回传。每轮回传可以携带不同粒度的数据。

Web 广告归因:SKAdNetwork 开始支持网页端广告的归因,将隐私保护的范围从 App 扩展到了 Web。

值得深挖的点

Crowd Anonymity(群体匿名性) 是理解 SKAdNetwork 4.0 设计的核心概念。它不是一个开关,而是一个光谱——安装量越少,回传的数据越模糊;安装量越多,回传的数据越精确。具体来说:

  • 低安装量时:只回传 2 位 source identifier,不回传 conversion value
  • 中等安装量时:回传 3 位 source identifier 和粗粒度 conversion value
  • 高安装量时:回传完整 4 位 source identifier 和细粒度 conversion value

这种渐进式数据释放的设计很聪明——它避免了”小应用永远拿不到有用数据”的困境(通过粗粒度值),同时又保证了在安装量足够大时数据精度不打折。

层级化 ID 的编码自由度值得营销团队好好规划。4 位数字不一定要编码为单一含义,Session 给了几个例子:2 位代表广告系列、第 3 位代表时段分桶、第 4 位代表广告位置。实际使用中可以根据业务需求自由定义层级语义。

Conversion value 可增可减这个细节容易忽略。传统归因中转化值通常只增不减,但 SKAdNetwork 4.0 允许降级——这意味着你可以用 conversion value 编码用户的状态变化,而不仅仅是累计转化行为。

代码片段

设置 Source Identifier:

// 使用 SKAdImpression 实例设置
let impression = SKAdImpression()
// 新的 4 位 source identifier(取代原来的 campaignIdentifier)
impression.sourceIdentifier = "5739"

// 或通过字典方式设置
let impressionDict: [String: Any] = [
    "Version": "4.0",
    "SourceIdentifier": "5739",
    // ...其他字段
]

更新转化值(双精度):

// 新的 API 同时接受细粒度和粗粒度值
SKAdNetwork.updatePostbackConversionValue(
    42,                          // 细粒度值(0-63)
    coarseConversionValue: .high // 粗粒度值(low/medium/high)
) { error in
    if let error = error {
        print("更新转化值失败: \(error)")
    }
    // 在 completion handler 中做后续处理
}

最佳实践

  • 规划 Source Identifier 层级语义:不同层级回传条件不同,不要把关键信息只放在最深层
  • 粗粒度值不等同于细粒度值的降级:coarse value 只有 3 档,含义需要独立设计
  • 服务端要兼容新格式:4.0 的 postback 结构和旧版不同,确保你的服务端能正确解析新字段
  • Conversion value 的编码方案要可逆:因为值可以增减,状态编码要能支持回退
  • 多轮回传的窗口期各有用途:短期窗口适合即时优化,延迟窗口适合评估长期 LTV

还有什么值得关注

  • Web 广告归因的具体实现细节在本次 Session 没有完全展开,后续文档值得跟进
  • Crowd Anonymity 的分层阈值 Apple 没有公开具体数值,这意味着实际回传的数据量可能因应用而异
  • SKAdNetwork 的可测试性(testability)在 4.0 中有所改进,开发阶段验证归因流程比以前方便
  • 对于依赖广告投放的增长团队来说,4 位 Source Identifier 意味着从最多 100 个广告组扩展到 10000 个,数据颗粒度大幅提升
WWDC 2022