iOS生态没有idfa的影响,SKAdNetwork能否填补?

2020年在iOS广告生态上影响最大的,还是伴随iOS 14发布使APP内获取idfa成为一种opt-in设置(默认不能获取idfa,需要用户主动修改设置才能开启。而这之前,是默认可以获取idfa,但用户可以修改设置关闭禁止获取)。Apple控制idfa的获取,能体现当前全球强调数据隐私的意识型态,但对行业的影响甚至可以说打击是非常大,虽然Apple台面上希望使用SKAdNetwork来补救这块市场的缺陷(不排除Apple希望自己控制广告生态),但SKAdNetwork还是一个飘在天上的设计,面对马上就要到达Apple说的期限,这里总结一下idfa和SKAdNetwork的问题。

idfa在iOS广告生态中的作用

归因模型(attribution models)

归因(attribution)的概念主要是应用在移动效果广告上,比如CPI(Cost Per Install)、CPA(Cost Per Action/Activation)、CPE(Cost Per Engagement),因为区别于传统的CPM、CPC广告而言,效果广告的广告交互(impression、click)跟结算(install、action)是分离在不同的应用(展示广告的APP和广告APP本身),这个Mapping的过程,就是所谓的归因模型。

归因模型一般由一些第三方数据追踪平台来完成,比如海外的Appsflyer、Adjust、Singular等,国内的TalkingData、热云等,因为利用第三方平台可以为客户提升数据收集、分析、反作弊等一系列工作的效率,而且这些数据用于结算也具备一定的公信力。当然也有一些大的广告客户会把归因模型控制在自己手里,比如阿里,这是利用强势金主的优势。

那这个归因模型是什么?其实就是把用户Install/Activation/Engagement的event,mapping到一个用户的一个广告行为上,比如某个广告的impression或者用户对广告的click。为什么要这么做,是因为用户可能看过、点过很多广告,也有可能用户没有收到任何广告影响自己有了这些event(叫自然量,organic traffic),广告客户需要明确这个event是否应该付费,应该付费给谁。

归因模型主要有几种:

  • 设备标识归因。比如Android上的gaid(有些平台支持gaid的md5)、androidid;iOS上的idfa。国内还有imei号(在海外获取imei有很大的数据隐私的控诉风险);
  • FingerPrint(用户指纹)。在没有设备id的情况,比如idfa为空、wap流量等,是主要归因方式。一般是基于ip和浏览器的user agent(可能是user agent的部分片段)来生成,每家平台的实现会略有不同;
  • Referer。主要应用在GooglePlay,因为通过deeplink(或者market链接)打开GooglePlay时可以向GooglePlay应用传递一个参数,当用户在GooglePlay中下载外应用后,GooglePlay会向应用广播传递这个参数,第三方平台会基于这个参数匹配。

目前主流归因是前两种。但如果iOS上用户都不开启idfa了,那么广告归因则会受到很大影响,不得不大量依赖FingerPrint方式。

定向与重定向(targeting/re-targeting)

APP在推广投放时,已经必不可少使用定向或者重定向,来更加精准的定位目标用户。

比如跟设备有关的信息:

  • 网络类型:如3G/4G/5G/WIFI
  • 操作系统:如Android/iOS
  • 操作系统版本
  • 网络服务商(Carrier)
  • 手机厂家
  • 手机型号
  • 手机语言

还比如跟用户有关的信息:

  • 地理位置:国家、城市
  • 性别
  • 年龄
  • 爱好标签

能够基于这些信息来找到对应用户,尤其是用户相关的信息,很多公司都是基于设备id来构建一套用户画像(User Profile),然后在实时广告请求计算时,通过设备id反查用户画像,再套入算法预估模型,基于预估的广告收益来排序。

如果没有了idfa,意味着在iOS上,用户画像的建立将变得复杂。当然,对于有自己帐号系统的媒体而言,就有独特性优势,因为在自有流量下,可以基于帐号来构建用户画像,但如果在不打通或者mapping帐号的前提下,那就只限于自有流量。

重定向更加依赖设备id,比如很多平台的投放支持设备的like功能,设置进去的都是设备id。

A/B Test

广告业务在技术上,非常依赖A/B Test,这已经是一个很成熟的数据管理和驱动的工作方式。而A/B Test中用来区分流量的,往往是设备id,如果是完全随机,那同一个用户会看到A/B两组不同的功能,即实验存在效果上的相关性。

SKAdNetwork的问题

SKAdNetwork其实并不是在iOS 14才推出,早在2018年Apple就已经推出,但没有被关注和广泛使用(主要是不好用,没有太大价值)。但伴随iOS 14的idfa政策推出,大家被逼走向使用SKAdNetwork。SKAdNetwork的大致功能逻辑很简单,就三个部分:

  • 展示广告的APP(Publisher APP),在用户点击广告打开Appstore或Storekit时,发送广告信息(其实就是在打开现有Appstore或者Storekit的接口中传递参数);
  • 广告APP(Advertiser APP),在激活(或者其它事件)时,通过Apple的接口,上报信息;
  • Apple发送Postback;

整个逻辑好像跟一般的数据追踪、广告归因的流程,没有太大的区别,但实际上不是,有很多非常致命的缺陷,比如:

  • Postback的延迟问题。一般归因平台延迟会很短,比如平均几分钟。因为广告系统对于数据的时效性要求很高,比如预算的管控、推荐算法的敏感度、客户运营投放的数据报表要求等。但SKAdNetwork是基于一个24小时的计时器,计时器到时之后的0-24小时会发送Postback,这么一算下来,Postback的延迟都能有一天。虽然在SKAdNetwork的测试数据流中,Postback会很快(10分钟左右),但这个只是停留在测试环境;
  • 只支持传递campaignId,没有clickId。归因大部分是基于conversion和click(或者impression),通过一个广告(campaign)可能产生多次click或者impression,广告交互的串联需要精准。虽然可以想办法在campaignId这个字段中拼凑很多数据,但是使用起来就会很畸形;
  • 不支持impression归因。目前很多效果类的广告,已经在使用impression归因,即用户看过广告,但不是马上点击广告的APP去下载,而是之后自己去应用商店下载了APP,客户也会认为用户受到了广告的影响,需要对广告的价值付费;
  • 没有行业中已经非常成熟的数据报表;
  • 没有行业中已经成熟的反作弊功能。虽然SKAdNetwork的确也能屏蔽很多作弊方式,比如click fraud,click injection等,但反作弊总是道高一尺魔高一丈的事情;

而且现在很多媒体和平台申请Network ID,Apple已经处于处理极慢的状态,如果按照这个节奏往下走,idfa政策一旦落实,对行业是个不小的冲击。

当前行业的解决方案

为了因对SKAdNetwork未来的不给力,避免iOS上的归因进入到全依赖FingerPrint(ip+ua的方式没有设备id精准,并且容易引发一些作弊),很多公司开始考虑使用自己的iOS设备id。对于有帐号体系的媒体和平台而言,就无所谓,但对于没有自己帐号体系的媒体和平台,利用什么来构建设备id是个问题。

这里涉及到iOS的一个技术问题,就是可以通过某些方式分配一个唯一ID,比如某个APP通过跟服务端的交互,拿到一个设备唯一ID,并存储在本地(Keychain)中,但是iOS手机上不同APP之间是无法互相访问数据,那其它APP如何拿到这个唯一ID,即便其它APP也跟相同服务端交互,服务端怎么识别是同一个设备并返回同一个ID呢?所以目前行业内,比如数字联盟、热云、talkingdata等平台,其实都在解决这个问题。

目前有两种方案,但本质上其实是同一种思路。思路就是基于手机上一些区分性的数据,利用这些数据进入一个规定的算法,从而得到一个至少在一段时间内(广告业务可以承受的归因周期),冲突比例较低的ID计算。那会有什么数据?这些还不明确,而且伴随Apple的政策也会不断变化,但可以想象到的,应该会考虑:

  • 操作系统版本号
  • 操作系统更新时间
  • 开机时间
  • 手机用户名
  • 手机型号+存储空间
  • 某些系统文件的内容、创建/更新时间

实现方式会有两种,分布式和集中式。

集中式就如数字联盟的方式,集中管理,便于收费。的确也有好处,就是算法可以比较稳定,可以利用服务端的计算能力更好的串联历史数据和外部数据,设备识别更加精准,对APP开发者而言,研发维护成本比较低,另外就是容易推进下去,比如让官方来站台组织推进。不好的地方,首先整个业务命脉被外部的某个公司把控(很多业务逻辑都得基于这个ID),而这个业务的稳定性是否有足够的保证,其实不一定;其次就是肯定要收费,想要降低多少风险,就要付出多少费用,而到业务发展变大后,这个成本不会小,而且想挪也挪不动。

分布式的方式,就是大家把算法统一。好处就是免费,风险控制在自己手里。不足就是在不同媒体和平台之间要做协同,这个是在太难,太多企业之间利益权衡问题。

但无论如何,这两个方案,其实都涉嫌违反Apple的数据隐私政策,因为计算设备唯一ID这条是Apple政策中明确提出不允许的。但这不表示有这个功能的APP不能上架Appstore,这个问题衍生到Apple如何审核和制裁APP的,后续有时间再沉淀这部分的经验。