转化数据有效信息及使用场景

概要:本文介绍了如何利用转化数据识别各种转化场景、打造定制化用户体验等等。

概述

下文说明了各种用户转化场景及其对应的转化数据有效信息(payloads)。

您可以使用以下任一方式获取AppsFlyer平台中的转化数据:

由于数据准确性和延时之间存在此消彼长的关系,因此同一个设备ID的转化数据可能会因API而异。

非自然转化数据的payload字段

总是呈现的字段

无论非自然来自哪个媒体渠道(media_source),其payloads中总是包含的下表所列的字段。

payload字段名称 原始数据字段名称 说明
media_source 媒体渠道

获得归因的媒体渠道。等同于归因链接中的pid参数。

install_time 激活时间  
click_time Attributed touch time 点击或展示发生的时间,以UTC时间计算
is_first_launch 不适用 可能出现的值为truefalse
af_status

原始数据分别呈现在自然量和非自然量两个报告中。

"Non-organic"
af_siteid Site ID  
adgroup_id Ad ID(广告ID)  
adset 广告组  
adset_id Adset ID(广告组ID)  
agency 适用渠道 null或代理名称(适用于代理代投的广告)
campaign 广告系列  
campaign_id Campaign ID(广告系列ID)  
http_referrer HTTP Referrer  
retargeting_conversion_type Retargeting Conversion Type “none”或者retargeting_conversion_type
af_sub[n] (n=1—5) Sub Param [n](n=1–5)  

部分情况下会呈现的字段

下表列出了部分情况下会出现的字段,具体取决于SRN对于相关事件的填充方式。

payload字段名称 原始数据字段名称 说明
af_channel Channel(流量入口)

会填充该字段的SRN包括:

  • AppLovin
  • Google Ads
  • Meta ads
  • Snapchat
  • TikTok for Business
  • X Ads

示例:Facebook—Instagram、Google—YouTube 

orig_cost  

备注(1)

costs_cents_USD  

备注(1)

af_cpi  

备注(1)

注意事项

(1)成本字段的值由广告平台提供。您必须在活跃对接页面中打开成本对接,才能让广告平台将成本数据分享给AppsFlyer。部分SRN支持成本数据的批量分享,这时事件层级的成本字段返回的值为0。 

可选的非默认字段

  • AppsFlyer参数列表
  • 您可以在归因链接中添加参数,添加完毕后,这些参数就会出现在payload中

详情请见原始数据字段词典

局限性

自定义参数名称

自定义参数的名称不能设置为name(注意这里是小写“n”,Name仍是有效的参数名)。

任何名为name的参数都会被移除,不会出现在payload中。


SRN的UA转化数据

自归因平台(SRN)是指实行其自有归因机制的广告平台,如Meta ads和Google。 

SRN不使用归因链接。也就是说:

  • payload字段是预先定义好的
  • 在归因链接后拼接参数不能使payload中呈现其他字段

SRN会向AppsFlyer上报转化数据,然后AppsFlyer将这些转化数据呈现在相关应用的面板中。其中可用的字段因SRN而异,详情请见下文的SRN部分。 

Meta ads注意事项

如果您在Meta ads上投放广告,但未签署Meta的服务条款,AppsFlyer仍能对相关的激活进行归因,但报告可用性会有以下限制:

  • 可用:汇总和分析数据的面板和报告 
  • 不可用:原始数据 
Meta ads Google Ads ASA Snapchat X AdsTikTok Oath

Meta ads转化数据

字段名称 说明 数据来源
match_type

srngp_referrer

AppsFlyer
media_source 字段值总是为Facebook Ads AppsFlyer
agency

若不使用代理,则字段值为null;若通过代理投放Meta ads广告,则字段值为代理名称

Meta ads
http_referrer 字段值总是为null Meta ads
retargeting_conversion_type   AppsFlyer
af_channel   Meta ads(publisher_platform)
af_status 字段值总是为Non-organic AppsFlyer
ad_id 仅供Meta ads内部使用。 Meta ads(ad_id)
click_time   AppsFlyer
install_time   AppsFlyer 
is_first_launch 可能出现的值为truefalse 设备
adset_id 在原始数据中可用,对应字段为Adset ID Meta ads (campaign_id)
is_fb 字段值总是为true AppsFlyer
campaign 在原始数据中可用,对应字段为Campaign Name Meta ads(campaign_group_name)
campaign_id 在原始数据中可用,对应字段为Campaign ID Meta ads(campaign_group_id)
is_paid 字段值总是为true Meta ads
adgroup 在原始数据中可用,对应字段为Ad Meta ads(adgroup_name)
adgroup_id 在原始数据中可用,对应字段为Ad ID Meta ads(adgroup_id)
adset 在原始数据中可用,对应字段为广告组 Meta ads(campaign_name)
af_siteid 字段值总是为null Meta ads
af_sub[1-5] 字段值总是为null 广告主

请注意:与成本有关的字段不可用,这是因为Meta ads不会在转化发生时共享成本数据。如果您开通了成本共享,Meta ads会与AppsFlyer共享成本,频次为一天数次。

其他广告平台的UA转化

对于非自归因的常规广告平台,相关归因链接中的参数会直接影响到payload中的数据。

请参考以下JSON格式的payloads。

请注意: 返回的转化数据呈映射结构。开发人员直接接触原始JSON。

Applovin

归因链接:

https://app.appsflyer.com/com.company.app?af_ad=ad_name&af_ad_type=INTER
  &af_channel=video&af_siteid=123_site_id&af_c_id=b8******************************&
  af_adset=_DEFAULT&pid=applovin_int&c=campaign_name
  &af_click_lookback=7d&clickid=10****************
  &advertising_id=50********************************&af_ip=

Payload:

{
      "adgroup": null,
      "campaign": "campaign_name",
      "media_source": "applovin_int",
      "retargeting_conversion_type": "none",
      "adset_id": null,
      "campaign_id": null,
      "install_time": "2018-12-30 23:49:54.186",
      "adgroup_id": null,
      "orig_cost": "0.0",
      "click_time": "2018-12-24 14:29:33.738",
      "agency": null,
      "cost_cents_USD": "0",
      "af_ad_type": "INTER",
      "af_c_id": "b8******************************",
      "adset": null,
      "advertising_id": "50********************************",
      "af_sub1": null,
      "clickid": "10****************",
      "af_click_lookback": "7d",
      "af_siteid": "123_site_id",
      "af_ad": "ad_name",
      "http_referrer": null,
      "af_channel": "video",
      "af_adset": "_DEFAULT",
      "af_sub5": null,
      "af_sub4": null,
      "af_cpi": null,
      "af_sub3": null,
      "af_sub2": null,
      "af_status": "Non-organic"
  }
  
  • 归因链接中的参数在payload中以字段的形式呈现
  • Payload中的其他参数(即归因链接中不包含的参数)值为null。
  • AppLovin支持广告成本共享,但仅限以批量化方式向AppsFlyer发送成本数据,并在转化数据中返回0值的成本相关字段。

ironSource

归因链接:

https://app.appsflyer.com/id123456789?
  af_ua=Mozilla/5.0+(iPhone;+CPU+iPhone+OS+12_1_2+like+Mac+OS+X)+AppleWebKit/605.1.15+(KHTML,+like+Gecko)+Mobile/16C101
  &clickid=ab*******************&redirect=false
  &ua=Mozilla/5.0+(iPhone;+CPU+iPhone+OS+12_1_2+like+Mac+OS+X)+AppleWebKit/605.1.15+(KHTML,+like+Gecko)+Mobile/16C101
  &af_lang=pt&imei=&af_sub1=&advertising_id=&af_ip=192.168.0.1&pid=ironsource_int
  &device_ip=192.168.0.1&c=campaign_name
  &idfa=01**********************************&af_siteid=123_site_id&
  af_enc_data=cN*********************************************************************

Payload:

{
      "adgroup": null,
      "af_enc_data": "cN**************************************************************************************",
      "campaign": "campaign_name",
      "media_source": "ironsource_int",
      "retargeting_conversion_type": "none",
      "adset_id": null,
      "campaign_id": null,
      "install_time": "2018-12-30 23:59:32.194",
      "adgroup_id": null,
      "redirect": "false",
      "orig_cost": "0.75",
      "click_time": "2018-12-30 23:58:54.517",
     "agency": null,
      "cost_cents_USD": "75",
      "adset": null,
      "advertising_id": "35**********************************",
      "af_sub1": null,
      "af_ip": "192.168.0.1",
      "clickid": "ab*******************",
      "af_sub3": null,
      "af_cost_value": "0.75",
      "af_ref": "ironsource_5f******************************************",
      "af_siteid": "123_site_id",
      "http_referrer": null,
      "af_cost_model": "cpi",
      "af_ua": "Mozilla/5.0 (Linux; Android 8.0.0; SM-N950F Build/R16NW; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36",
      "af_cost_currency": "USD",
      "af_sub5": null,
      "af_sub4": null,
      "af_lang": "en",
      "af_cpi": null,
      "af_click_lookback": "7d",
      "af_sub2": null,
      "af_status": "Non-organic"
  }
  

ironSource会通过orig_costcosts_cents_USDaf_cost_value字段在转化发生时将成本相关数据共享给AppsFlyer。

但成本相关数据不会呈现在归因链接中。ironSource会对成本数据加密,并将其储存在af_enc_data字段中。

再营销转化数据

再营销转化分为再归因和再互动两种类型。

 提示

某些情况下,您可能无法通过再营销转化数据明确地判断转化类型,具体请参考其他的转化数据来源说明。

SRN带来的再归因

如果某个用户通过SRN完成了再归因,其转化数据的payload中不会说明该流量来自再营销广告。这是因为SRN不使用归因链接,因此无法在链接中设置is_retargeting=true参数。对于支持再营销的SRN,AppsFlyer会判断是否将相关用户记录为再归因流量。

这种情况下,AppsFlyer无法在SDK层级确定某个激活是否来自再营销广告,只能通过广告系列名称来识别再营销广告带来的流量。

 注意事项

即使您在广告系列名称中标识出再营销也无法确保一定能识别出再营销广告。详情请见示例部分的说明。

常规广告平台带来的再归因

非SRN广告平台的归因一般通过归因链接完成。不论您通过常规归因链接还是OneLink投放再营销广告,其链接中总是包含is_retargeting=true参数。

Criteo上的再营销广告

归因链接

https://app.appsflyer.com/id1234567895?pid=criteo_int&af_click_lookback=30d&
  c=campaign_name&is_retargeting=true&redirect=false&idfa=68**********************************
  &af_reengagement_window=30d

转化数据payload

{
      "adgroup": null,
      "campaign": "campaign_name",
      "media_source": "criteo_int",
      "retargeting_conversion_type": "re-attribution",
      "adset_id": null,
      "campaign_id": null,
      "af_reengagement_window": "30d",
      "install_time": "2018-12-01 23:13:03.126",
      "adgroup_id": null,
      "redirect": "false",
      "af_sub5": null,
      "click_time": "2018-11-18 20:02:31.559",
      "agency": null,
      "cost_cents_USD": "0",
      "is_retargeting": "true",
      "af_cpi": null,
      "af_click_lookback": "30d",
      "af_siteid": null,
      "idfa": "68**********************************",
      "http_referrer": null,
      "orig_cost": "0.0",
      "af_sub4": null,
      "adset": null,
      "af_sub1": null,
      "af_sub3": null,
      "af_sub2": null,
      "af_status": "Non-organic"
  }
  • retargeting_conversion_type参数——该参数用于说明再营销转化的类型。可能出现的参数值为re-attribution(再归因)、re-engagement(再互动)或none(无)。
  • is_retargeting: true参数——该参数用于标识相关激活是否为再归因。
  • af_reengagement_window:用于说明再互动归因窗口期。用户与再营销广告互动后,仅在该窗口期所限定的天数内发生的事件才能归因为再互动。当转化类型为再归因时,可忽略该参数。

延迟深度链接带来的再归因

您可能经常需要为再归因(即卸载后重新安装相关应用)的用户部署深度链接。假设您为了召回已卸载的流失用户而投放广告,在广告中推广某个产品或服务,并让用户在重新安装并打开应用后直接进入该产品或服务的页面。

用于实现这种场景的技术叫做“延迟深度链接”(Deferred Deep Linking)。您可以使用onConversionDataSuccess方法来获取延迟深度链接的转化数据payload。

在SRN中使用延迟深度链接

SRN广告中设定的深度链接参数在SRN之外不可用,其中包括含有应用内scheme路径的af_dp参数。唯一的例外情况是Google的信息流应用广告(App campaigns in Feeds)如需再SRN广告中使用延迟深度链接,您必须在其中添加额外的逻辑。您可以使用onConversionSuccess响应中的数据,如广告系列、广告组(adset、adgroup)等,以程序化的方式实现用户跳转。

Meta ads中延迟深度链接的转化数据

Android iOS
{
     "adset":"Adidas Running Shoes Women",
       "adgroup": null,
     "campaign_id":"6**********",
     "af_status":"Non-organic",
     "retargeting_conversion_type": "none",
     "agency":null,
     "af_sub3":null,
     "af_siteid":null,
     "adset_id":"6**********",
     "is_fb":true,
     "is_first_launch":true,
     "click_time":"2017-07-18 12:55:05",
     "iscache":false,
     "ad_id":"6**********",
     "af_sub1":null,
     "campaign":"running shoes summer collection",
     "is_paid":true,
     "af_sub4":null,
     "adgroup_id":"6**********",
     "is_mobile_data_terms_signed":true,
     "af_channel":"Facebook",
     "af_sub5":null,
     "media_source":"Meta ads",
     "install_time":"2017-07-19 08:06:56.189",
     "af_sub2":null
  }

您可以使用getConversionData响应中的数据,如广告系列、广告组等,以程序化的方式为用户实现跳转,并向其展示相关内容。

 示例

假设您有一个运动服装类电商应用。有一个未安装该应用的用户与某个广告互动后激活了应用。在应用首次启动时,SDK会返回相应的转化数据。开发人员让该应用打开店铺中的夏季跑鞋系列页面(与广告系列对应),并展示女士跑鞋类别(与广告组对应)。

通过归因链接实现延迟深度链接

深度链接的实现方式共有以下三种:

URI scheme

在归因链接和OneLink中使用URI scheme时,相关归因链接和payload如下:

归因链接

http://app.appsflyer.com/com.appsflyer.nivisampleapp?pid=media_source_name
  &c=campaign_name&af_dp=superapp%3A%2F%2deeplink-activity

OneLink

// short OneLink
  https://dhba.onelink.me/2rAD/71ba577e
  
  //long OneLink
  https://dhba.onelink.me/2rAD?pid=media_source_name&c=campaign_name
  &is_retargeting=true&af_dp=superapp%3A%2F%2deeplink-activity
  

Payload

{
      "af_deeplink": true,
      "campaign": "campaign_name",
      "media_source": "media_source_name",
      "retargeting_conversion_type": "none",
      "adset_id": null,
      "campaign_id": null,
      "orig_cost": "0.0",
      "click_time": "2018-12-30 23:59:09",
      "install_time": "2018-12-30 23:59:39.330",
      "agency": null,
      "cost_cents_USD": "0",
      "adset": "AD_SET_NAME",
      "ad_id": "AD_ID",
      "af_siteid": null,
      "http_referrer": null,
      "af_cpi": null,
      "af_sub5": null,
      "af_sub4": null,
      "af_sub1": null,
      "af_sub3": null,
      "af_sub2": null,
      "af_status": "Non-organic",
      "scheme": "superapp",
      "host": "deeplink_activity"
  }
  • af_deeplink: true——出现该参数且参数值为true时,请查看schemehost字段
  • schemehost——这两个字段来自归因链接中的af_dp参数,用于说明相关scheme以及通过深度链接向用户展示的页面

iOS Universal Link和安卓App Link

这两种方式也可以实现深度链接。

使用Universal Link或App Link时,相关的OneLink和payload如下:

OneLink

// short OneLink
  https://dhba.onelink.me/2rAD/71ba577e
  
  //long OneLink
  https://dhba.onelink.me/2rAD?pid=media_source_name&c=campaign_name
  &is_retargeting=true
  

Payload

{
      "install_time": "2019-01-08 16:24:49.853",
      "cost_cents_USD": "0",
      "campaign": "campaign_name",
      "retargeting_conversion_type": "none",
      "is_first_launch": true,
      "click_time": "2019-01-08 16:24:14.322",
      "af_click_lookback": "7d",
      "orig_cost": "0.0",
      "af_status": "Non-organic",
      "iscache": "true",
      "shortlink": "71ba577e",
      "media_source": "media_source_name",
      "is_retargeting": true
  }
  • shortlink字段用于说明带来用户的具体OneLink。开发人员可根据此信息设置应用打开后跳转的页面和展示的内容。campaign等其他字段也具有此用途。

     注意事项!

    使用OneLink长链时,payload中不会出现shortlink字段。

    不管您使用长链还是短链,都建议您添加一个自定义参数来说明相关的跳转内容,例如:&deep_link_activity=shoes_cateogry

 注意

只有在OneLink场景中才能使用Universal Link和App Link。

SRN带来的再互动

与再归因相同,当用户通过SRN上的广告再次打开应用(即完成再互动)时,转化数据无法体现该流量是否来自再互动广告。如需解决此问题,您可以在广告系列名称中标识出再互动广告类型。

常规广告平台带来的再互动

在该场景中,转化数据payload也无法体现出该流量是否来自再归因广告。如需解决此问题,您可以在广告系列名称中标识出再互动广告类型。

深度链接带来的再互动

大部分的再互动广告会让用户跳转到应用中的某个具体页面。举例来说,假设您投放广告宣传某个商品或优惠活动,并希望点击广告的用户能直接进入应用中与该商品或活动相关的页面。

这时您就要用到深度链接。开发人员需要根据深度链接中的转化数据定制用户体验,并将用户引导到对应的页面。

再互动:在SRN中使用深度链接

来自SRN的再互动用户没有可用的转化数据。开发人员需要使用相关SRN提供的方法在应用打开时获取转化数据。

再互动:在广告平台中使用深度链接

沉睡用户被唤醒并打开应用时,您可以通过onAppOpenAttribution方法获取以下转化数据:

在iOS和安卓平台上使用OneLink短链时,转化数据是链接中所有参数的结构化映射:

示例:

{
     af_dp: "superapp://Deeplink",
     pid: "media_source_name"
     c: "campaign_name",
     link: "https://abcd.onelink.me/12ab/12ab34c"
     is_retargeting: true
  }
  • 应用开发人员可以根据af_dp和广告系列名称等参数将用户引导到应用内的具体页面并向其展示相关内容。

 注意事项!

建议使用OneLink短链。详情请见此文档

建议使用OneLink短链的另一个原因是长链返回的转化数据结构较为复杂。使用长链时,转化数据仅通过一个link字段进行映射,该字段中包含整条OneLink长链。

{
     "link": "https://abcd.onelink.me/12ab?pid=media_source&c=campaign_name&is_retargeting=true&af_dp=superapp%3A%2F%2FDeepLink"
  }
  

转化数据的其他来源

  • Push API可提供详细的转化数据payload,其中会标识出再归因和再互动。Push API的payload中包含re_targeting_conversion_type字段,该字段可说明转化类型,即再归因或再互动。详情请见Push API指南
  • 原始数据报告也会标识出转化类型。再营销转化的原始数据报告中包含Event Name(事件名称)字段,该字段中可能出现的值为re-engagement(再互动)或re-attribution (再归因),用于说明转化类型。

用户获取与再归因混合场景

  1. 某个用户激活您的应用后将其卸载。其激活行为触发了再归因窗口期。您在Meta ads上投放拉新广告(非再营销广告),同时在AppsFlyer后台的Meta ads对接中启用再营销衡量。

    该用户在再归因窗口期内看到并点击该广告,随后重新安装并激活了您的应用。AppsFlyer会将其记录为一次再归因。

    该归因结果基于以下两个因素得出:
    1. Meta ads对接中启用了再营销
    2. 用户仍处于再归因窗口期内

    在该场景中,广告系列名称中并未标识出再营销。
  2. 沿用以上示例,但这次假设该用户在再归因窗口期之后点击广告并重新激活应用。这时AppsFlyer会将其记录为一次新增非自然激活。
  3. 再以另外一种场景为例,假设您在Meta ads上投放了再营销广告,一部分从未安装过应用的用户与该广告互动后激活了应用。AppsFlyer不会将这些用户记录为再归因,而是将其视为来自拉新广告的用户。