iOS14高级隐私模式的广告平台对接指南回调对接

由于 iOS 14 中的隐私保护更新,需要广告平台与 AppsFlyer 更新对接,以便与广告主的 iOS app 合作。 本文将详细介绍以下内容:
  • 广告主选择的对接模式如何影响数据可用性
  • 如何构建点击归因链接(Click URL)以符合归因条件
  • 回调参数的重要更改

对接模式

为了适应 iOS 14 的隐私保护更新,AppsFlyer 提供了新的配置选项,广告主可以在后台合作伙伴配置 (Partner Integrations) 页面上选择与合作伙伴的对接模式。

  • 高级隐私模式
    • 此模式旨在最大程度地保护终端用户的隐私,并帮助广告主遵守 Apple iOS 14 更新的隐私保护机制。
    • 开启此模式后,归因数据将去除设备 ID 层级,回传仅可以看到汇总数据。 例外情况是,当广告主 App 和发布者 App 均获得 iOS 用户 App Tracking Transparency(ATT)同意时,设备 ID 会回调给广告平台。
  • 常规模式:如果广告主选择以常规模式与合作伙伴合作,在可以获取到设备 ID 的情况下,将会与合作伙伴共享。

根据广告主选择的对接方式,在可能出现的的 ATT 场景中,通过回调可提供给合作伙伴的数据层级不同。详情参见如下表格:

对接模式 ATT 授权状态 回传中的设备 ID

流量方App

广告主 App

高级隐私模式

同意

拒绝

None

拒绝

同意

None*

同意

同意

IDFA, IDFV, CUID, Click ID

拒绝

拒绝

None

常规模式

同意

拒绝

IDFV, CUID, Click ID

拒绝

同意

IDFA, IDFV, CUID, Click ID

同意

同意

IDFA, IDFV, CUID, Click ID

拒绝

拒绝

IDFV, CUID, Click ID

对于支持 “发送所有事件” 的合作伙伴,为了排重,将并行发送包含 IDFA 但不包含媒体源的附加回调。
ATT同意状态对应的回调数据

点击链接

在大多数情况下,IDFA在发布商App和/或广告商App中均不可用。在这些情况下,AppsFlyer将使用概率模型进行归因。

  1. 请将以下广告系列详细信息参数附加到您的每个点击链接。
    Identifier 点击参数

    示例

    广告系列活动

    C

    US_20_30

    广告系列活动ID

    af_c_id

    12345

    广告组

    af_adset

    ADSET_1

    广告组ID

    af_adset_id

    56789

    Ad 

    af_ad

    creative_name

    广告ID

    af_ad_id

    34567

    子渠道 ID

    af_siteid

    abcdefgh12345678

    Sub site ID

    af_sub_siteid

    abcdefgh12345678

    渠道

    af_channel

    channel_name

    广告类型

    af_ad_type

    视频

    添加广告系列信息:

    请参照下列的示例添加广告系列信息/参数至点击链接模板:

    https://app.appsflyer.com/id123456789?pid=YOUR_NETWORK_ID&c={CampaignName}&af_c_id={CampaignID}&af_adset={adset name}&af_adset_id={adset ID}&af_ad={ad name}&af_ad_id={ad ID}&af_ad_type={Ad type}&af_siteid={PublisherId}
  2. 请将以下广告系列详细信息参数附加到您的每个点击链接。

    注意

    如果您的点击请求未添加必填参数,您将无法获得大部分的激活归因。

    • IP 
    • User-agent 
    • language

    * 如果点击请求是通过简单的HTTP referrer方式重定向到AppsFlyer的服务器,则不需要添加这些必填参数。

    如果您是通过以下的方式向AppsFlyer发送点击请求,请使用下面的提取方法,并将参数附加到点击URL。

    • 点击请求通过In-app流量跳转
    • 服务器发点击请求(S2S点击请求)

    参数

    提取方法

    设备语言和区域设置

    af_lang

    NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];

    [建议] 同时提供语言和区域设置。例如, en-US.

    User Agent

    af_ua

    user agent的提取方法:

    Mozilla%2F5.0+%28iPhone%3B+CPU+iPhone+OS+13_3_1+like+Mac+OS+X%29 
    +AppleWebKit%2F605.1.15+%28KHTML%2C+like+Gecko%29+Mobile%2F15E148
    • 确保提取不是CFNetwork 的用户代理。
    • user-agent值应使用URL-encoded方式处理。

    设备IP地址

    af_ip

    最佳选择:如果可用,请使用af_ip参数提供设备IP。

    次优选择:如果可用,AppsFlyer将使用X-Forwarded-For中IP(存在于代理服务器请求客户端最原始的IP地址的HTTP请求header)

    汇总数据归因所需要的参数

    添加参数至点击链接

    如果通过点击链接参数传递IP、UA、设备语言信息,完整点击链接模板举例:

    https://app.appsflyer.com/id123456789?pid=YOUR_NETWORK_ID&c={CampaignName}&af_c_id={CampaignID}&af_adset={adset name}&af_adset_id={adset ID}&af_ad={ad name}&af_ad_id={ad ID}&af_ad_type={Ad-type}&af_siteid={PublisherId}&af_ua={USER-AGENT}&af_lang={LANGUAGE}&af_ip={IP}

    示例

    https://app.appsflyer.com/id123456789?pid=YOUR_NETWORK_ID&c={adset name}&af_c_id={adset ID}&af_adset={ad name}&af_adset_id={ad ID}&af_ad={Ad type}&af_ad_id={PublisherId}&af_ad_type={8}&af_siteid={9}

    &af_ua=Mozilla%2F5.0%20%28iPhone%3B%20CPU%20iPhone%20OS%2012_1_4%20
    like%20Mac%20OS%20X%29%20AppleWebKit%

    2F605.1.15%20%28KHTML%2C%20like%20Gecko%29%20Mobile%2F16D57&af_lang=en-US&af_ip=11.11.1.11

    * 参数需要进行URL编码。

    通过click URL headers传递数据

    通过click URL headers传递数据,请参考以下:

    GET https://app.appsflyer.com/id123456789?pid=YOUR_NETWORK_ID&c={CampaignName}&af_c_id={CampaignID}&af_adset={adset name}&af_adset_id={adset ID}&af_ad={ad name}&af_ad_id={ad ID}&af_ad_type={Ad type}&af_siteid={PublisherId}

    accept-language: en-US,en;q=0.

    User-Agent: Mozilla/5.0(iPhone; CPU iPhone OS 13_5_1 like Mac OS X)

    AppleWebKit/605.1.15(KHTML, like Gecko) Mobile/15E148

    X-Forwarded-For: 11.11.1.11,222.222.2.222

高级隐私保护模式的回调对接

当广告主选择通过以高级隐私保护回调方式对接时,除非同时在展示app和推广app同时进行ATT授权,否则回传内将不包含设备id。如果没有在两端同时授权,点击url里只有包含的广告系列详细信息会被回调。这种回调类型被称为- 高级隐私保护回调。

请注意,新的回传模板 实际上 是一个补充。它不会替换现有模板。实际上会根据广告主选择的模式和终端用户ATT授权情况使用对应的回传模版。

哪些参数会发生变化

  • 回调时间和事件实际发生之间不直接相关联
  • 时间戳宏:
    • 对于安装和应用内事件,时间戳会记录实际发生时间的整小时(不会上提一小时)举个例子来说,(发生时间)22:55:30 会被报告为22:00:00;
    • 会基于UTC时区,时间戳举例: (2020-07-20 20:00:00)
  • 下述参数将不会记录在汇总归因回调内:Click ID, customer user ID, AppsFlyer ID, IDFA, IDFV, device model, OS version, carrier

联系AppsFlyer进行对接的步骤:

  1.   请务必以邮件形式告知我们高级隐私保护回调对接以便我们进行核实。
  2. 为此,请发送邮件给integrations@appsflyer.com,并抄送与您日常对接的人员 包含以下信息:
    •  每种回调类型的接口地址,具体请参考下方表格;
    • 列出回调发送会包含的所有基础参数;
    • 列出用于应用内事件以及因作弊或违反验证规则被拒绝归因的相关可选参数
回调类型 接口地址
激活  
应用内事件  
高级隐私保护回调接口地址

 

回传宏(名称)

备注 回调基础参数 应用内事件可选参数 被拒绝归因的可选参数
af_ad 广告素材名称    
af_ad_id 34567    
af_ad_type 例如:banner,footer,video    
af_adset ADSET_1    
af_adset_id 56789    
app_id -    
app_name -    
attributed_touch_hour

会近似取最近的小时。

格式参考note(1)

   
attributed_touch_type 例如: 点击,展示    
blocked_reason 适用于Validation Rules/Protect360    
blocked_reason_value 适用于Validation Rules/Protect360    
blocked_sub_reason 适用于Validation Rules/Protect360    
bundle_id 由广告主设置    
C 广告系列名称, 如, US_20_30    
af_c_id 广告系列 ID, like, 12345    
af_channel 渠道名称    
country_code 转化时记录的ISO国家码    
event_hour

会近似取最近的小时。

格式参考note(1)

   
event_name 由广告主上报    
event_revenue 事件中包含的收入金额    
event_revenue_
currency
收入金额的货币码    
event_revenue_usd 收入金额换算成USD    
install_hour

会近似取最近的小时。

格式参考note(1)

   
is_first 如果是具体用户所触发的首次事件,则为true    
is_primary

用于去重

Boolean: 0, 1

   
is_retargeting

用于去重

格式参考note(2)

   
is_reengagement

格式参考note(2)

   
is_reattribution

用于去重

格式参考note(2)

   
match_type 如: id_matching, probabilistic    
event_id 广告平台所接受的对应事件的事件名称或ID    
platform 如: ios, Android    
postback_id 具有唯一性的postback_id    
retargeting_conversion_type
如 re-engagement, re-attribution    
af_siteid abcdefgh12345678    
af_sub_siteid abcdefgh12345678    

注释:

支持以下时间戳格式:

  • [默认] String: YYYY-MM-DD HH:SS
  • Epoch time: 10-digit Unix timestamp

支持以下Boolean格式:

  • [默认] Numeric: 0, 1 
  • String: false, true
高级隐私保护归因可用参数
这篇文章有帮助吗?