前言
从早期Cookie为基础的身份识别技术,到苹果IDFA、谷歌GAID等广告推送的辅助字段和工具,当用户在App上看到各类符合个人喜好和需求的广告时,能够潜感知自己的个人信息被传递给了广告平台,但用户并不清楚广告平台究竟是如何跟App合作交换数据的,通常来说主要有如下三大疑问:
- 广告平台如何获取用户数据?
- 广告平台能够获取哪些用户数据?
- 广告平台最终使用哪些用户数据?
设想一下,假如用户在Google上搜索了某款电动车自行车,打开亚马逊就收到了该商品的广告推送,对于普通用户来说,这种未知原理的"隐私数据泄露"恐慌极易引发合规舆论风险。因此,了解广告平台是如何通过App获取和使用用户数据,是企业合规自证清白和内部蓝军攻击的重要方向,本文就来从0到1梳理一下广告隐私安全相关的业务细节。
计算广告原理
广告盈利收入撑起了互联网行业的半壁江山,实际上像Facebook和Google这样的互联网公司,大部分业务营收都是源自于广告。一般来说,广告的类型可以粗略分为品牌广告和效果广告。
品牌广告以树立产品品牌形象和提高品牌的市场占有率为直接目的,突出传播品牌在消费者心目中确定的位置的一种方法。比如去年抖音购买了春晚冠名权,在春晚转播期间做一些宣传就属于品牌广告。其部分效果虽然可以从节目播出前后的下载量变化看到,但对消费者更长期的口碑和影响却不容易评估。
效果广告与品牌广告相反,它是以直接转化效果来计算费用。广告主可以设定具体的转化目标(例如:App 激活、用户付费、用户点击等等),然后就按照达成此目标的转化率和转化效果来进行出价,广告平台通过竞价的方式最终完成相应的广告投放。这个时候的广告转化的效果就非常好,由于引入了竞价排名的机制,使得广告位的价值通过竞价达到最大,互联网广告就是这种形式。
隐私安全博弈
苹果IDFA
早在2012年,苹果为了避免将用户手机UDID泄露给广告商,提出了一个由32个字符组成的数字符串IDFA。然后被广泛用于数字广告行业,用以匹配用户上网地点、在做什么和购买什么东西等信息,用于广告主精准投放广告,以及优化用户的应用体验。IDFA 是移动设备归因的关键,帮助移动企业评估营销广告的投放效果,预算花费合理性以及目标用户定位是否准确,同时也是开发者用于提升用户体验的重要依据。
谷歌GAID
随着苹果iOS7 IDFA新政策的成功落地,谷歌也于2014年也推出GAID字符串,同样旨在帮助广告商跟踪广告浏览量、应用程序活动和转化。它可以使App开发人员和营销人员能够衡量跨媒体来源的广告系列效果和用户行为,而无需与第三方共享用户个人数据。
关闭个性化广告
iOS设置
Android设置
意料之中的变革
苹果App Tracking Transparency
2021年,苹果率先发布了ATT(App Tracking Transparency,应用跟踪透明度)新政,从iOS 14.5, iPadOS 14.5 和 Apple tvOS 14.5 开始增加了弹窗提示,ATT隐私政策要求开发者必须明确征得用户的许可,才能获取用户的 IDFA 信息。也就是说,应用程序原本使用IDFA(Identifier for Advertising,广告客户标识符)识别用户设备,再结合其他数值标记形成完整的用户画像并精准投放广告的时代结束了。
SKAdNetwork框架
SKAdNetwork是Apple于2018年5月推出的归因框架,可以在保护用户隐私的同时进行App归因。通过在广告平台(Ad Network)的关键链路上带上一个唯一的追踪ID(Tracking ID或者签名信息),这个追踪ID 会将广告的曝光,点击,跳转到落地页以及转化都串联起来,实现广告链路的完整归因,链路闭环。
谷歌Privacy Sandbox
2023年谷歌也紧随苹果步伐,宣布将在Android上推出“隐私沙盒”(Privacy Sandbox)功能,旨在引入更新的、更私密性的广告解决方案。这些解决方案会限制与第三方共享用户信息,并能在没有跨应用标识、广告ID的情况下运行,隐私沙盒的落地或许意味着GAID未来将退出历史舞台。
隐私沙盒愿景
-
通过新的技术保证用户隐私
-
规范隐私保护标准
-
保证广告主和开发者优质内容能在隐私为先的框架内实现流通
广告ID获取方式
苹果和谷歌官方都给出了如何获取广告ID的建议,二者系统API如下所示:
Android GAID API
It is intended that the advertising ID completely replaces existing usage of other identifiers for ads purposes (such as use of ANDROID_ID
in Settings.Secure
) when Google Play Services is available.
public class AdvertisingIdClient extends Object {
public static AdvertisingIdClient.Info getAdvertisingIdInfo(Context context)
}
iOS IDFA API
// AdSupport.framework
#import <AdSupport/AdSupport.h>
// 获取IDFA
NSString * IDFA = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
参考文档
www.techshidai.com/article-100…