应用内直接响应广告的 PCM

私人点击测量 (PCM) 现在可用于通过 SFSafariViewController 实现的应用内直接响应广告。请在我们的 iOS 15.2 beta 版中尝试。

什么是 PCM?

PCM 是一项拟议的网络标准,旨在以保护隐私的方式衡量点击广告的有效性。它允许将点击来源网站的 8 位数据与点击目标网站的 4 位数据相结合,以衡量哪些广告正在推动销售。组合后的 8+4 位数据会以归因报告的形式发送到点击来源和目标网站,该报告不包含任何用户或设备标识符。最终结果是一份报告,显示“在网站 A 上点击广告 X 的某人后来在网站 B 上以值 Y 进行了转化。”

PCM 已随 iOS/iPadOS 14.5 和 macOS 上的 Safari 14.1 发布。其保护隐私的特性意味着,根据 应用跟踪透明度,无需获得用户跟踪许可即可使用它。

什么是 SFSafariViewController?

SFSafariViewController 是 iOS/iPadOS 上一个预置的应用内网页浏览器,具有完整的 Safari 功能,例如阅读器、自动填充、欺诈性网站检测、内容拦截和书签。用户在 SFSafariViewController 中的活动和交互对您的应用不可见,这意味着用户可以安全地在其中浏览网页,并且您无需在您的应用和 SFSafariViewController 之间保护数据。

关于直接响应广告

我们关于 PCM 的介绍性博客文章包含了关于应用到网页广告的两个重要常见问题条目——关于将用户带到设备浏览器的问题和关于应用内体验的问题。

何时将用户带到设备浏览器

iOS 14.5 中的 PCM 应用到网页功能必须将用户带到设备浏览器。这是为了支持重新参与而设计的。PCM 中存储的点击在 7 天内有效,那些在几小时或几天后才准备采取行动的客户,很可能会在他们的浏览器中找到商家网站。他们会查看之前停留的选项卡、使用可能已保存的书签、使用其搜索引擎找到正确的网页,或者直接在 URL 栏中输入网站地址。

为了让存储的点击数据在用户以这种方式重新参与时随时可用,首次点击需要将用户带到他们的浏览器。这在未来仍然适用。

何时在应用内处理点击

另一种点击广告形式称为直接响应广告。在这种情况下,用户不会长时间考虑转化,而是直接在他们登陆的网页上采取行动。这可能是一个限时优惠,或者是一个定价让用户无需过多考虑的产品。

开发者和广告商告诉我们,他们希望能够为直接响应广告提供更多的应用内体验,而不是将用户带到设备的浏览器。他们希望为点击广告、查看产品页面、决定购买与否然后返回主应用的用户提供无缝的应用内体验。

我们的介绍性博客文章在常见问题部分涵盖了这一请求,我们当时表示:“我们对此很感兴趣,但尚未有解决方案。”今天我们有了解决方案。PCM 现在能够通过 SFSafariViewController 的新 API 支持应用内广告。

使用 SFSafariViewController 的 PCM 应用到网页

SFSafariViewController 提供出色的应用内浏览体验,用户可以在其中存储可在设备之间同步的 Safari 书签,可以访问凭据和支付卡信息的自动填充功能,以及 Apple Pay。它简直是直接响应广告中带给用户体验的绝佳场所。

短暂点击以防止点击欺诈

只有当用户在通过点击打开的 SFSafariViewController 中触发转化时,PCM 才会存储点击数据并安排归因报告。在 SFSafariViewController 中导航到网站的点击,如果没有匹配的触发事件,将不会被存储。因此,一个 SFSafariViewController 实例一次只能持有一个未转化的点击,而所有已转化的点击都将被存储并生成报告。

这确保了托管应用不能出于欺诈目的在其 SFSafariViewController 中投机性地存储点击。它还确保了 PCM 的这种使用确实是面向直接响应广告的。

归因基于每个托管应用

不同应用中将用户导航到同一广告网站的点击互不影响。每个应用都有自己的归因。同样,此功能适用于直接响应广告,因此一个客户如果通过两个不同应用中的广告点击两次购买同一产品,将生成两个归因报告。

归因报告不要求您的应用正在运行

PCM 使用的这种延迟归因报告面临的一个特殊挑战是,如果用户不经常使用托管应用,或者在报告应该发送的时间附近不使用该应用,该怎么办。我们已确保 SFSafariViewController 的 PCM 应用到网页功能中待处理的归因报告的发送独立于发生点击的托管应用是否正在运行。

API

如我们在关于 PCM 的介绍性博客文章中所示,应用已经可以通过将 UIEventAttribution 放在 UISceneOpenExternalURLOptions 上,并将其与 UIScene 的 openURL:options:completionHandler: 结合使用,来使用 Safari 的私人点击测量功能。

在 iOS 15.2 beta 版中,一个类型为 UIEventAttribution 的新属性已添加到现有类 SFSafariViewControllerConfiguration 中。

@available(iOS 15.2, *)
  @NSCopying var eventAttribution: UIEventAttribution?

您可以在 SFSafariViewController 中打开 URL 时选择性地使用它,如下所示:

func didTapOnAdWithIdentifier(advertisementIdentifier: UInt8, url: URL) {
    let attribution = UIEventAttribution(
        sourceIdentifier: advertisementIdentifier, 
        destinationURL: url, 
        sourceDescription: "Ad for toy XYZ.",
        purchaser: "Toy Example Company")
    let configuration = SFSafariViewController.Configuration()
    configuration.eventAttribution = attribution
    present(SFSafariViewController(url: url, configuration: configuration), animated: false)
}

UIEventAttribution 作为配置的一部分时,SafariViewService 会检查 UIEventAttributionView 上的点击是否早于 SFSafariViewController 的打开,以保证点击转化归因。然后,UIEventAttribution 对象中的信息会在交给 WebKit 处理之前进行检查。

从那时起,私人点击测量功能将像以前一样工作。

调试您的应用

请参阅我们关于 PCM 的介绍性博客文章中的“测试与调试”部分,了解如何开启 PCM 调试模式。

在 SFSafariViewController 中启用 PCM 调试模式后,请务必重启您的应用。如果您在开启或关闭 PCM 调试模式时遇到问题,请尝试重启设备。

请提供反馈

我们非常感谢迄今为止收到的所有关于私人点击测量的开发者和广告技术反馈。优先考虑 PCM 用于应用内测量正是这些反馈的结果。您可以通过以下三种方式继续告诉我们您的想法:

  • W3C 隐私社区组中的标准提案仓库,用于处理与 PCM 规范的网络部分相关的所有问题,即对拟议标准在任何网页引擎中如何工作的反馈。
  • https://bugs.webkit.org,用于处理与 WebKit PCM 实现相关的任何具体问题。
  • Apple 反馈助手,用于处理与 PCM 的 UIKit 或 SFSafariViewController API 相关的任何具体问题。