从Adjust迁移到AppsFlyer

概要:本文内容可帮助广告主提前规划从Adjust到AppsFlyer的迁移工作,以避免支付双倍费用,并防止在迁移期间出现数据重复和数据丢失问题。

迁移到AppsFlyer

从Adjust到AppsFlyer的迁移流程可为您提供平稳流畅的过渡。迁移完毕后,您就可以依赖可靠全面的平台进行归因和市场分析工作了。AppsFlyer提供安全、公正的解决方案,并配以全套的高阶产品,帮助广告主在瞬息万变的行业环境中稳步前行。AppsFlyer凭借遍及全球的客户支持团队以及精益求精的产品理念,致力于为企业客户提供有效的工具和信息,助其扩展业务、应对变局。

AppsFlyer与Ajust在衡量方式上的区别

规划迁移流程时,建议您先针对相同的媒体渠道和广告系列,比较AppsFlyer和Adjust在归因衡量方面的差异。但并非所有渠道都支持多个MMP的衡量方案。同时支持多个MMP的渠道可能会为了避免归因差异,而在某些方面设置一定的限制和卡点。详情请见使用多个MMP进行归因的说明。 

迁移流程

下表说明了迁移流程的主要步骤。我们为您准备了可下载的任务清单表,该表格对上述各个大项进行了细化拆解,您还可以用它来记录您的迁移进展。

您可以同时推进这些工作,即投放运营人员、研发人员和数据工程师在绝大部分情况下都可以独立处理自己相关部分的工作。建议您

  • 先完成以上全部流程,然后再上线带有AppsFlyer SDK的新版本应用。 
  • 着手迁移设备ID之前,请先暂停现行广告的投放。
步骤 人员 预计耗时 说明
1. 创建一个AppsFlyer帐户 投放运营人员/使用AppsFlyer面板的用户 2小时  
2. 在AppsFlyer中添加相关应用。 投放运营人员/使用AppsFlyer面板的用户 2小时  
3. 在相关应用中接入SDK 应用开发人员 1天 + 1周的测试和迭代
  • 推荐:将AppsFlyer SDK接入尚在开发中的应用,便于测试。
  • 对于已开发完毕的应用,请务必在完成其他所有步骤后,在应用商店中更新该应用。
4. 迁移设备(可选) 数据工程师 1-2周
  • 更新应用版本后,建议您先暂停在投广告,等到设备ID信息迁移完毕后再继续投放。 
  • 建议在过渡期的最后一天重复设备迁移流程,以确保覆盖所有设备。 
5. 迁移广告系列 投放运营人员/UA经理 每个媒体渠道需要1-3天
6. 设置数据上报方式 数据工程师 3-6周  

第1步:创建一个AppsFlyer账号

第2步:添加您的应用

在AppsFlyer中添加应用的方法如下

  1. 在AppsFlyer后台添加您的应用
  2. 【可选】再归因窗口期默认为90天,您可以根据自己对活跃用户的定义来调整该窗口。
  3. 添加应用时,AppsFlyer后台的向导工具会指导您通过邮件向开发人员发送SDK对接和应用内事件映射的相关指南和任务说明。

第3步:在相关应用中接入SDK

在您的应用中接入AppsFlyer SDK是为了在该应用与AppsFlyer之间建立连接,从而实现应用激活、应用打开、应用内事件等数据的上报。

请按以下步骤完成AppsFlyer SDK对接

  1. 接收投放运营人员发送的邮件,其中包含SDK对接和应用内事件映射的相关指南和任务说明。
  2. 按照邮件中的说明进行操作,使用AppsFlyer SDK对接向导,将AppsFlyer SDK接入相关应用。
    • 该向导工具提供从SDK安装到对接测试、从应用内事件定义到事件发送的全程指导。如需进一步了解SDK对接向导工具,请参考此文档
    • 另请参考开发人员专用的安卓iOS SDK对接指南。
    • 使用AppsFlyer的推荐方案映射您想要记录的应用内事件。
      您可以通过SDKS2S来完成映射。
  3. 移除Adjust的SDK。
    您可以选择立即删除Adjust SDK,直接切换到AppsFlyer,或将Adjust SDK保留一段时间,在过渡期间同时使用两个SDK。下表对这两种方法进行了分析对比。
    可选方案 后续任务
    发布更新后的应用版本
    成效
    移除Adjust SDK(推荐) 仅AppsFlyer记录新增激活并更新用户记录。
    在所有用户都完成应用更新之前,Adjust仍会显示用户完成的事件。
    • 快速过渡。
    • 无重复归因。
    在过渡期间保留Adjust SDK AppsFlyer和Adjust同时对新增激活进行归因,并记录事件。过渡完毕后请务必移除Adjust SDK。
    • 可以进行数据验证。也就是说,您可以比较AppsFlyer和Adjust提供的数据。
    • 会产生重复归因,从而导致广告平台收取双重费用,具体请参见下文示例。
    • 工作量更大。
  4. 完成本文所述的所有待办事项后,请在商店中上线更新后的应用版本(即装有AppsFlyer SDK的应用)。这样,后续的新用户就会由AppsFlyer归因。 
    请注意
    • 请确保在App Store、Google Play和其他第三方商店中上线更新后的应用。
    • 安卓应用可能会有非官方的APK下载渠道(请使用您的应用包名进行搜索,检查是否存在这种情况)。 APK下载站点中的应用更新需要一定的时间,在此期间可能会有自然用户通过这些站点下载不带AppsFlyer SDK的旧版本应用。
    • 应用商店中的新版本上线可能需要几天时间才能全部完成,在此期间用户仍有可能下载到旧版本的应用。

第4步:迁移设备(可选)

设备迁移是指将现有用户的设备ID(IDFA、IDFV、GAID)列表上传到AppsFlyer。(若无必要的设备ID,可以联系您的CSM,让其指导您使用CUID完成设备迁移。)请务必先完成这个流程,然后再上线带有AppsFlyer SDK的新版本应用。设备迁移的方式有两种,即归因迁移非归因迁移

设备迁移的对象是已经下载过您的应用、且由Adjust记录过的现有用户,迁移的目的是为了解决与这些用户相关的数据问题,比如SRN重复计费。如果您的用户最初被Adjust归因到了某个SRN,且该用户仍在其回溯窗口内,并在您切换到AppsFlyer后又被同一个SRN认领,这时就会发生SRN的重复计费问题。

 示例

  • 某个新用户在Facebook应用上点击了一则广告,然后在6月15日激活了您的应用。
  • 在6月24日,用户将该应用更新至带有AppsFlyer SDK的新版本并打开应用。对于AppsFlyer来说,这是一个新增用户,需要进行实时归因。
  • AppsFlyer使用该用户的设备ID向Meta ads发出查询请求。由于该用户仍在Meta ads的28天回溯窗口内,因此Meta ads会认领该用户的归因,从而导致同一用户的双重计费。

设备迁移完毕后,AppsFlyer中呈现的数据如下:

  • 激活数据:重装激活类似,已迁移的设备没有初次激活数据。AppsFlyer中不会呈现已迁移设备的激活。
  • 应用内事件和应用打开(session)数据:在非归因设备迁移中,这些数据会被记录为自然量;在归因设备迁移中,这些数据则会归因给迁移信息中对应的媒体渠道和广告系列。 
  • 再营销:再归因和再互动正常显示。
  • 活跃数据:正常显示。
  • 留存和群组数据:由于迁移后的设备没有激活记录,因此不会关联到任何群组,也不会出现在群组和留存报告中。 

 注意

若自迁移至日起,相关应用在180天内未启动,则已迁移的所有相关设备数据都会被删除。这种情况下,如果用户在180天之后打开了应用,AF就会记录一个新增激活。

迁移设备的方式如下:

  1. 确定需要迁移的用户范围。您可以迁移所有的现有用户(但这样可能会降低AppsFlyer中再归因数据的准确性),或者仅迁移近期激活应用的用户(广告平台可能会对较早激活的用户收取双重费用)。
    我们建议的迁移范围是当前再归因窗口期内的活跃用户。举例来说,如果相关应用的再归因窗口期为90天,则推荐的迁移范围是在过去90天内打开过该应用的用户。
  2. 【可选】让营销人员或投放经理暂停现有广告的投放(包括SRN,非SRN渠道和自有媒体等的广告),等到设备迁移完毕后再继续投放。
    如果您选择不暂停投放,请在发布带有AppsFlyer SDK的新版本应用后,立即将所有剩余的设备ID从Adjust迁移到AppsFlyer。 
  3. 准备一个CSV文件,其中包含需要迁移的用户数据,并选择用归因非归因的结构进行迁移。查看CSV文件范例
  4. 将您准备好的CSV文件发给AppsFlyer客户成功经理(CSM)。
    您的CSM会将文件中的设备ID迁移到AppsFlyer。 

第5步:迁移广告系列

将在投广告切换到AppsFlyer后,就可以开始使用AppsFlyer归因,同时避免发生重复付费和归因数据丢失的问题。

请注意:您可以选择分批迁移在投广告,比如按媒体渠道(例如广告平台或代理)、国家/地区或广告系列来分批完成迁移。

以下章节解释了针对不同媒体渠道启用AppsFlyer衡量方案的方法。这些渠道类别包括SRN、非SRN广告平台、自有媒体和SKAN。 

SRN

当MMP(移动衡量合作伙伴)向SRN发出请求,查询具体设备的互动信息时,SRN会回复认领结果。如果AppsFlyer和Adjust针对相同的设备激活向同一个SRN发出查询请求,可能会导致重复计费。 

SRN广告系列的迁移方法

  • 在AppsFlyer后台启用并配置相关的SRN

 注意

  • 您可以对同一个SRN使用多个MMP(Meta ads和Twitter除外)。
  • Meta ads不能对应用内事件去重。

非SRN广告平台

广告平台的归因链接会记录用户与广告的互动情况,之后如果用户激活了相关应用,AppsFlyer就能将该激活归因到对应的广告互动。

非SRN平台中广告系列的迁移方式如下

  1. 进入AppsFlyer后台,在相关广告平台的配置页面中打开启用该渠道开关。
  2. 为所有相关的广告平台逐一生成AppsFlyer归因链接
  3. 将各个广告系列中的现有追踪链接替换为AppsFlyer的归因链接。 

自有媒体

自有媒体是指您在以下场景中使用的归因链接:

  • 内容分享
  • 网页到应用
  • 电子邮件
  • 短信
  • 社交媒体发布
  • 博客
  • 社区帖子(Quora等)
  • 还有大量其他场景,此处不一一列举

在上述各类投放中,您可以使用AppsFlyer提供的OneLink链接功能。OneLink链接会根据用户的设备类型让用户跳转到对应的应用商店、网址/落地页,或直接调起应用。

将Adjust链接更改为AppsFlyer OneLink链接的方法如下

  • 请联系您的CSM,让其协助您根据当前使用的流量入口和工具将自有媒体链接转换成OneLink链接。

SKAN

在SKAN归因中,您只能使用一个SDK去更新转化值,否则SKAN数据就会失去意义。因此请确保在迁移完成后只有AppsFlyer SDK可以更新SKAN转化值。

进一步了解AppsFlyer中的SKAN转化值设置方式

第6步:设置数据上报方式

您可以使用多种方法从AppsFlyer获取原始数据和汇总数据。请全面了解这些方法,然后选择最适合自己的方式系统化地完成数据对接设置。

您可以通过以下方式获取数据:

  • 面板
  • 导出报告
  • Push API
  • Pull API
  • Data Locker

在迁移之前,您的内部系统会根据之前设置好的报告结构、字段和参数,存储Adjust带来的归因数据。请务必调整现行报告结构,并将其映射到AppsFlyer的报告结构、字段和参数,使其一一对应,这样AppsFlyer才能以正确的方式上报数据。

调整/映射报告结构的方法如下:

  • 请与您的客户成功经理联系,便于将您的报告数据结构从Adjust快速调整/迁移到AppsFlyer。

其他相关信息

归因迁移

对于通过这种方法迁移到AppsFlyer的设备,AppsFlyer会按照之前的归因工具所上报的媒体渠道以及相关广告平台的数据保留政策,记录并呈现其应用内事件和应用打开(sessions)数据,

用于归因设备迁移的CSV文件结构

栏位
特点
说明 是否必须配置 示例
app_id
 
即AppsFlyer面板中显示的App ID
  • Android: com.great.app1 
  • iOS应用:id123456789
platform
 
设备平台:iOS或安卓
  • iOS
  • Android
device_id
 
  • 安卓:gaid或android_id
  • iOS:iIDFV(可用时建议作为首选)或IDFA
  • 请确保同样的设备ID和应用ID组合没有重复出现在不同行中。如果出现重复,AppsFlyer会取用最后一次出现的数据。
  • gaid(小写):9c9a82fb-d5de-4cd1-90c3-527441c11828
  • android_id(小写):f35aea8908254891
  • IDFV(大写):A7328D98-A973-402A-8B87-D22A8611F2AF
  • IDFA(大写):9876F1SS-2983-3855-27RR-2R626772VFNB
id_type
 
  • 安卓:advertiserId(也支持amazon_aid)、android_id
  • iOS:idfa或idfv
  • 目前尚不支持OAID、IMEI等其他标识符。 
    对于非Google Play的安卓用户,请使用非归因迁移。
  • advertiserId
  • android_id
  • idfa
  • idfv
install_time
 
初始的应用激活时间,按ISO 8601格式和UTC时区显示:
yyyy-mm-ddTHH:MM:SS.SSS
2018-01-22T08:45:33.412
media_source
 
  • 可以是以下两类渠道中的任意一种:
    • AppsFlyer渠道ID
    • 自定义媒体渠道(不能使用对接渠道ID)
  • 渠道ID是AppsFlyer中的必填项,您可以按以下方式获取其列表:
  • 格式:参数值区分大小写


非自然:facebook_int、googleadwords_int

自然:organic

integrated_partner
 
  • 用于说明相关渠道是否已与AppsFlyer对接。若该参数值为no,即表示该用户属于自然流量或来自自定义媒体渠道。
     
  • 格式:参数值区分大小写
  • yes
  • no(如果是自定义的media_source)
campaign
 

如需获取更为详细的归因信息,请提供原始广告系列名称。

格式:字符串

 
campaign_id
 

 如需获取更详细的归因信息,请提供原始的广告系列ID。

格式:不含空格的字符串

 

CSV文件规则:

  • CSV文件中可以包含多个应用的用户设备。
  • 请确保同样的设备ID和应用ID组合没有重复出现在不同行中。如果出现重复,AppsFlyer会取用最后一次出现的数据。
  • 必须包含所有列标题:app_id、platform、device_id、id_type、install_time、media_source、integrated_partner、campaign、campaign_id。请注意:必须按照这个字段顺序来准备CSV文件,不能打乱。
  • 您可以为同一个设备同时添加IDFV和IDFA,但是这两个ID必须单独分行显示。两行数据中除了device_id之外,所有其他字段的值都必须一致。
  • 每行必须包含9个字段,每个字段之间以逗号区隔。
  • 将非必填字段留空(空值)
  • 文件最多可以包含500万行。
  • 如果您有多个文件,请确保各文件的名称之间没有重复。
  • 必须使用UTF-8对数据进行编码。
  • 【可选】可以使用ZIP或GZIP来压缩文件。 

查看CSV文件范例

非归因迁移

通过这种方法迁移到AppsFlyer的设备会被记录为自然量(但不会显示在面板中)。这些设备上的应用内事件和应用打开(sessions)也会被记录为自然量,并显示在面板中。

用于非归因设备迁移的CSV文件结构

可选方案 使用场景 示例
1 App ID + IDFA/GAID/IDFV
  • 如果您所有的安卓用户都有GAID。
  • 如果您的用户仅使用iOS  
device_migration_file_option_1.png
2 App ID + Device ID + Device ID type
  • 如果您的部分安卓用户只有IMEI或Android ID,而没有GAID(如第三方应用商店、4.4.2以下的安卓版本)。
  • Android ID必须为十六进制格式。
请注意
  • ID type一列中可用的值包括:advertiserId(也支持amazon_aid)、idfa、idfv、android_id、imei。
  • 如果您使用的是android_id或imei,但后续AppsFlyer接收到了规格更高的标识符,就会将其记录为新的转化归因。
device_migration_file_option_2.png

CSV文件规则:

  • CSV文件中可以包含多个应用的用户设备。
  • 每行包含一个分应用的设备ID。 
  • 文件中的列标题必须设置为特定的字段并以指定的顺序排列,具体方式有以下两种可选:
    • 选项1:app_id、device_id 
    • 选项2:app_id、device_id、id_type 
  • App ID应为小写
  • Android标识符应为小写
  • IDFA/IDFV应为大写
  • 最多可包含2500万行

查看CSV文件范例