ROI360的应用内购买(IAP)和订阅收入衡量方案

高阶付费

概要:本文介绍了AppsFlyer ROI360应用内购买和订阅收入衡量解决方案,该产品可自动验证并衡量应用内购买和自动续订事件产生的收入,帮助广告主更全面地了解其用户的生命周期,并准确衡量ROAS数据。

ROI360应用内购买(IAP)和订阅收入衡量方案

广告主可以通过已验证的应用内购买(IAP)和订阅收入来衡量以下数据:

  • 所有通过App Store Connect(iOS)或Google Play Console(安卓)管理的应用内商品购买和订阅收入。
  • 退款。
  • 未完成交易及延期交易的收入(安卓)。
  • 在相关应用内或应用外发生的订阅相关事件。

该IAP和订阅收入解决方案还能用于:

  • 确保AppsFlyer记录到的交易数据中没有重复。在iOS中,该方案还能确保家庭共享型交易不会被重复记录。
  • 将Apple App Store的交易数据通过AppsFlyer发送给广告主。
  • 呈现净收入数据,即剔除商店抽成和税费之后的净收入。

这些购买和订阅数据来自:

  • 专用于购买事件的AppsFlyer purchase SDK connector(分安卓和iOS,含Unity wrapper)
  • 发送到AppsFlyer的App Store和Google Play(RTND实时开发者通知)服务器通知

您可以通过AppsFlyer面板和报告获取购买和订阅收入的数据,也可以通过回传将这些数据共享给合作渠道。

注意事项:

  • 如果您使用此IAP和订阅收入衡量解决方案,则不应发送应用内购买事件或执行 ValidateAndLoginAppP urchase,因为这样做会导致重复的收入报告。
  • 现有订阅用户打开带有Purchase SDK connector的应用版本后,订阅收入衡量功能即可开始记录该用户的生命周期变化。

链路

  1. 用户完成一次应用内购买或自动续订。
  2. 该应用在应用商店中完成一次交易。
  3. AppsFlyer purchase SDK connector自动检测购买事件,并将该事件的有效信息(payload)发送到AppsFlyer进行验证和记录。
  4. AppsFlyer会与相关的商店验证该次购买,以确保交易信息的真实性。
    • 验证成功后,AppsFlyer会记录该次购买或订阅。
    • 如果收据验证失败,则该事件会显示在被拦截的应用内事件原始数据报告中(需购买Protect360)。
  5. AppsFlyer将商店的响应消息发送到SDK connector,然后SDK connector会将收据验证的响应消息(成功或失败)发送到应用。
  6. 所有传入AppsFlyer的服务器通知都会按照我们的购买和订阅收入逻辑进行处理:
    • 对于之前已经由SDK connector上报的交易,我们会对其相关通知进行验证和处理,并在系统内部生成一个购买事件或生命周期事件。
    • 与未知交易相关的通知会被忽略。
    • 对于iOS平台的所有服务器通知,您可以更改其发送路径,将其发送到您自己的服务器。

启用方式 

如需接入并设置ROI360应用内购与订阅收入衡量方案,请按照这篇指南文档中的说明进行操作。

详细说明

以下各章节分别解释了ROI360应用内购买(IAP)和订阅收入衡量方案的各个方面,包括:与应用内购和订阅有关的事件和参数、净收入(帮助广告主基于毛收入计算净收入的一项功能)以及该产品的总体特征和局限性。

与IAP相关的事件和参数

以下几个小节分别说明了AppsFlyer所衡量的各个IAP相关事件及其参数。如需了解这些参数的含义,请参考事件参数详解部分。

生成的所有事件:

  • 都被视为S2S事件。
  • 会呈现在原始数据报告中(记录为自然或非自然应用内事件)。
  • 可以通过回传发送给合作渠道。
  • 可以在SKAN转化值操作台中使用。

请注意:一个应用内事件中可能会有部分参数得不到填充,具体取决于用户设备的操作平台。

购买(af_purchase)

说明

用户完成购买时记录该事件。

参数

  • app_id
  • customer_user_id
  • af_currency
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_revenue
  • af_net_revenue
  • af_net_revenue_tax_name
  • af_net_revenue_tax_rate
  • af_net_revenue_tax_exclusive
  • af_net_revenue_country
  • af_net_revenue_subdivision
  • af_net_revenue_postal_code
  • af_net_revenue_factors

免费购买(af_purchase_free)

说明

用户完成不带收入金额的购买时记录该事件,此时所有收入参数都显示0值。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_revenue
  • af_net_revenue
  • af_net_revenue_tax_name
  • af_net_revenue_tax_rate
  • af_net_revenue_tax_exclusive
  • af_net_revenue_country
  • af_net_revenue_subdivision
  • af_net_revenue_postal_code
  • af_net_revenue_factors

已取消的购买(af_purchase_canceled)

说明

用户取消购买时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment

尚未完成的购买(af_purchase_pending)

说明

用户下单但未完成付款时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment

退款(af_purchase_refund)

说明

购买交易退款时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_discount_type
  • event_revenue_usd
  • event_revenue(收入超过零时事件中会带有该参数)
  • store_commission
  • af_revenue
  • af_net_revenue
  • af_net_revenue_factors
  • af_net_revenue_tax_name
  • af_net_revenue_tax_rate
  • af_net_revenue_tax_exclusive
  • af_net_revenue_country
  • af_net_revenue_subdivision
  • af_net_revenue_postal_code

用于测试的购买(af_purchase_sandbox_sdk)

说明

在沙盒环境中测试SDK记录到的购买时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_original_transaction_id
  • af_order_id
  • Af_purchase_token
  • af_transaction_id
  • af_purchase_state
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_net
  • af_sandbox_revenue

用于测试的购买(af_purchase_sandbox_s2s)

说明

在沙盒环境中测试S2S上报的购买时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_purchase_state
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_net
  • af_sandbox_revenue

与订阅相关的事件和参数

以下几个小节分别说明了AppsFlyer所衡量的各个订阅相关事件及其参数。如需了解这些参数的含义,请参考事件参数详解部分。

生成的所有事件:

  • 都被视为S2S事件。
  • 会呈现在原始数据报告中(记录为自然或非自然应用内事件)。
  • 可以通过回传发送给合作渠道。
  • 可以在SKAN转化值操作台中使用。

请注意:一个应用内事件中可能会有部分参数得不到填充,具体取决于用户设备的操作平台。

开始试用(af_ars_trial_started)

说明

订阅用户的试用期开始时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • Af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • Af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type

取消试用(af_ars_trial_canceled)

说明

订阅用户在试用期内取消自动续订时记录该事件。如果用户后续未在试用期内恢复自动续订,还会记录用户流失事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • Af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • Af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type

试用后流失 (af_ars_trial_churned)

说明

订阅用户在试用期结束后流失时记录该事件。用户的试用期结束,且该用户取消了自动续订时,即视为发生了试用后流失事件。这类事件之前可能发生了与续订有关的计费或技术问题,进而导致用户流失。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • Af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • Af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_reason

试用后转化(af_ars_trial_converted)

说明

用户完成试用后全价续订时记录该事件。 

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • Af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_discount_id
  • af_discount_type
  • event_revenue_usd
  • store_commission
  • af_revenue(仅在收入超过零时,事件中才会带有该参数) 
  • af_net_revenue
  • af_net_revenue_factors
  • af_net_revenue_tax_name
  • af_net_revenue_tax_rate
  • af_net_revenue_tax_exclusive
  • af_net_revenue_country
  • af_net_revenue_subdivision
  • af_net_revenue_postal_code

套餐生效(af_ars_subscription_started)

说明

用户以折扣价或全价订阅的套餐生效时记录该事件。

请注意

  • 新增的套餐订阅事件只能通过SDK connector记录。
  • 对于iOS应用,如果某个订阅用户重复订阅现有套餐,SDK connector会向相关应用上报一个收据验证成功事件,但不会在AppsFlyer中记录新增交易。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_discount_id
  • af_discount_type
  • event_revenue_usd
  • event_revenue(收入超过零时事件中会带有该参数)
  • store_commission
  • af_revenue
  • af_net_revenue
  • af_net_revenue_factors
  • af_net_revenue_tax_name
  • af_net_revenue_tax_rate
  • af_net_revenue_tax_exclusive
  • af_net_revenue_country
  • af_net_revenue_subdivision
  • af_net_revenue_postal_code

订阅已取消(af_ars_subscription_canceled)

说明

用户在计费周期内取消自动续订时记录该事件。如果用户后续未在同一个计费周期内恢复自动续订,还会记录用户流失事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type

订阅已暂停(af_ars_subscription_paused)- 仅适用于安卓应用

说明

用户暂停已生效的套餐时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type

订阅已恢复(af_ars_subscription_resumed)

说明

用户流失或套餐发生退款后,以全价订阅套餐重新生效时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_discount_id
  • af_discount_type
  • af_reason
  • event_revenue(事件收入超过零值时,相关事件中会带有该参数)
  • store_commission
  • af_revenue
  • af_net_revenue
  • af_net_revenue_factors

订阅用户流失(af_ars_subscription_churned)

说明

订阅用户流失时记录该事件。一般情况下,当用户的计费周期结束,或用户取消自动续订时,说明该订阅用户发生了流失。这类事件之前可能发生了与续订有关的计费或技术问题,进而导致用户流失。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • Af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • Af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_reason

订阅已退款(af_ars_subscription_refunded)

说明

向订阅用户退款发出时记录该事件。

请注意:

  • 该事件通常带有负值。如果AppsFlyer无法识别出发生退款的交易,或服务器通知中未包含退款详情,则相关退款事件不会显示事件值。

参数 

  • app_id
  • customer_user_id
  • af_reason
  • af_subscription_ownership_type
  • af_discount_id
  • af_discount_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_refunded_transaction_ids
  • event_revenue_usd
  • event_revenue(收入超过零时事件中会带有该参数)
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_store
  • af_environment
  • af_period_type
  • store_commission
  • af_revenue
  • af_net_revenue
  • af_net_revenue_factors
  • af_net_revenue_tax_name
  • af_net_revenue_tax_rate
  • af_net_revenue_tax_exclusive
  • af_net_revenue_country
  • af_net_revenue_subdivision
  • af_net_revenue_postal_code

订阅计费宽限期(af_ars_subscription_billing_grace)

说明

若出现支付问题导致续订失败,相关订阅用户进入计费宽限期时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • Af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • Af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type

订阅已更新(af_ars_subscription_renewed)

说明

订阅自动续费时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_discount_id
  • af_discount_type
  • event_revenue_usd
  • event_revenue(收入超过零时事件中会带有该参数)
  • store_commission
  • af_revenue
  • af_net_revenue
  • af_net_revenue_factors

订阅已变更(af_ars_subscription_xgraded)

说明

用户订阅的产品发生升级、降级或变更时记录该事件。

参数 

  • app_id
  • customer_user_id
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_discount_id
  • af_discount_type
  • event_revenue_usd
  • event_revenue(收入超过零时事件中会带有该参数)
  • store_commission
  • af_revenue
  • af_net_revenue
  • af_net_revenue_factors

现有订阅用户(af_ars_existing_subscriber)

说明

SDK connector针对处于计费周期内的订阅用户收到通知,但尚未收到后续通知要将此用户转移至生命周期的其它阶段时,即会生成该事件。该事件通常会在ROI360方案的启用期间以及SDK connector的采纳期间生成。

参数 

  • app_id
  • customer_user_id
  • country
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_cuids
  • af_validated

用于测试的购买 (af_ars_sandbox_sdk)

说明

在沙盒环境中测试SDK记录到的购买时记录该事件。

参数 

  • app_id
  • customer_user_id
  • country
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_discount_id
  • af_discount_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_cuids
  • af_validated
  • af_net
  • af_sandbox_revenue

用于测试的购买 (af_ars_sandbox_s2s)

说明

在沙盒环境中测试S2S上报的购买时记录该事件。

参数 

  • app_id
  • customer_user_id
  • country
  • af_currency
  • af_expires_date_ms
  • af_subscription_ownership_type
  • af_discount_id
  • af_discount_type
  • af_original_transaction_id
  • af_order_id
  • af_purchase_token
  • af_transaction_id
  • af_product_id
  • android_id
  • idfa
  • ip
  • appsflyer_id
  • af_purchase_date_ms
  • af_store
  • af_environment
  • af_period_type
  • af_cuids
  • af_validated
  • af_net
  • af_sandbox_revenue

参数详解

在原始数据中,IAP和订阅事件的参数会单独成列显示,或以事件值的形式呈现。

单独成列的参数如下:

  • app_id
  • customer_user_id
  • country_code
  • af_currency
  • event_revenue_usd
  • af_revenue
  • android_id
  • ip
  • idfa
  • appsflyer_id

如需进一步了解这些参数的详细信息,请参考原始数据字段释义文档。

下表列出了ARS(自动续订)和VIAP(经验证的应用内购买)事件中可用的原始数据参数。

参数 说明 产品
af_cancelation_date_ms 取消日期 IAP
af_reason
  • 在订单取消或用户流失相关的事件中,用户取消或流失的原因。可用值包括:
    • iOS:
      • cancel_intent(取消意向)
      • billing_issue(付款问题)
      • declined_price_increase(拒绝加价)
      • product_unavailable(产品不可用)
    • 安卓:
      • I don't use this service enough(不太常用该服务)
      • Technical issues(技术问题)
      • Cost-related reasons(费用相关的原因)
      • I found a better app(发现了更好的应用)
      • Other(其他)
  • 在续订事件中,表示用户续订的原因。可用值包括:
    • 安卓:
      • paused and resumed(暂停并已恢复)
      • disabled and enabled auto-renew(取消后开启自动续订)
  • 在退款相关的事件中,指用户获得退款的原因。可用值包括:
    • iOS:
      • 1:您的应用出现问题
      • 0:其他原因
  • IAP
  • 订阅
af_expires_date_ms 当前订阅周期的截止日期。 订阅
af_subscription_ownership_type 若字段值为FAMILY_SHARED,表示该用户通过家人共享套餐获取访问权限。  若字段值为PURCHASED,表示付费用户完成了一次购买。 订阅
af_discount_id 在首次购买过程中呈现给用户的优惠ID。只有在使用优惠码时才会填充该ID。
  • IAP
  • 订阅
af_discount_type 用户领取的优惠类型。可用值包括:
  • IOS
    • introductory(试销)
    • promotional(推广)
    • offer_codes
    • win_back
  • 安卓
    • intro price(试销价)
    • one_time_code(一次性优惠码)
    • vanity_code(定制优惠码)
订阅
af_original_transaction_id
  • 初始交易ID。
  • 仅适用于iOS
  • IAP
  • 订阅
af_order_id
  • 相关交易的订单ID。
  • 仅适用于安卓
  • IAP
  • 订阅
af_purchase_token
  • 相关交易的purchase token
  • 仅适用于安卓
  • IAP
  • 订阅
af_transaction_id
  • 相关交易的ID
  • 仅适用于iOS
  • IAP
  • 订阅
af_purchase_state 可用值包括:
  • Purchased(已购买)
  • Canceled(已取消)
  • Pending(未完成)
IAP 
af_original_transaction_id
  • 相关交易的原始ID
  • 仅适用于iOS
  • IAP
  • 订阅
af_refunded_transaction_ids
  • 由一个数组构成,其中包含所有退款的交易ID
  • 仅适用于iOS
  • IAP
  • 订阅
af_product_id 相关订阅产品的ID
  • IAP
  • 订阅
af_purchase_date_ms 报告中与产品ID应用内事件相关联的购买日期。
  • IAP
  • 订阅
af_store 指用户购买订阅产品时使用的应用商店
  • IAP
  • 订阅
af_environment 数据接收环境,可能出现的值为production(生产环境)和sandbox(沙盒环境)两种。
  • IAP
  • 订阅
af_period_type
  • 订阅或试用期类型。
  • 可用值包括:
    • 试用
    • intro(教学)
    • normal(正常使用)
订阅
store_commission
  • 应用商店在已售产品中的抽成比例。
  • 以百分点的形式表达。
  • 举例来说,30
  • IAP
  • 订阅
af_net_revenue 根据所有相关因素计算得出的净收入。详情请见af_net_revenue_factors说明。
  • IAP
  • 订阅
af_net_revenue_factors
  • 由一个数组组成,代表了计算af_net_revenue金额时涉及到的所有因素。
  • 示例:store_commission
  • IAP
  • 订阅
af_net_revenue_tax_name
  • 广告主出具的费用清单中用于表述具体税费类型的税费名称。 
  • 举例来说,销售税、增值税(VAT)、商品及服务税(GST)
  • IAP
  • 订阅
af_net_revenue_tax_rate
  • 精确到小数点后4位的数字,代表应缴税率的百分点。
  • 比如7.25
  • IAP
  • 订阅
af_net_revenue_tax_exclusive
  • 布尔型参数,仅有true或false两种值。
  • 参数值为false时,表示总收入中包含税费。
  • 参数值为true时,表示总收入中不包含税费,需要另行添加。比如在美国和加拿大等地区,零售价中不包含营业税,这时就需要用到这个参数。
  • IAP
  • 订阅
af_net_revenue_country
  • IAP
  • 订阅
af_net_revenue_subdivision
  • IAP
  • 订阅
af_net_revenue_postal_code
  • 由字母和/或数字组成的字符串
  • 比如L4J8E3
  • IAP
  • 订阅
af_cuids
  • 在ARS场景中,该参数会包含一个带有所有CUID的数组。
  • 无论设备ID是否一致,都会显示CUID的数组,这样就可以让多个设备ID对应相同的CUID。
订阅

净收入

净收入(Net revenue)衡量是AppsFlyer ROI360应用内购买和订阅收入解决方案中的一层业务逻辑。对于AppsFlyer接收到的每一笔交易信息,该功能都会实时自动计算净收入值,并将这些数据纳入报告中。净收入衡量逻辑会按以下因素根据总收入计算净收入: 

  • 商店抽成
    • AppsFlyer会自动计算和上报该信息,您无需完成任何操作。
    • 购买交易的商店抽成比例为30%。
    • 订阅交易的商店抽成比例根据订阅用户的生命周期,分用户自动计算,(App Store:初始抽成30%,一年后降至15%;Play Store:抽成15%)。
    • 原始数据报告中会呈现相关的净收入参数。
  • 税费
    • ROI360对于其衡量范围内的所有交易都会按默认税率上报税费数据。
    • 该因素适用于标价中含税的国家。以英国为例,如果应用商店向终端用户收取10英镑,则计算净收入时会自动扣除20%的税,显示为8英镑(£8)。对于美国等标价中不含税国家,收入和净收入参数默认不包含税费的计算。
    • 您可以使用这个税费专用的Tax API更改税率配置。请参考此处的JSON文件示例,其中包含所有适用的国家/地区及其默认税率。开发人员可以在示例文件的基础上进行修改,或直接按原样在API中使用该文件。

下表列出了包含净收入数据的参数,便于您在报告中查看真实收入。详情请见参数详解部分。

参数 净收入因素
store_commission 商店抽成
af_net_revenue_tax_name 税费
af_net_revenue_tax_rate 税费
af_net_revenue_tax_exclusive 税费
af_net_revenue_postal_code 税费
af_net_revenue_country 税费
af_net_revenue_subdivision 税费
af_net_revenue
  • 商店抽成
  • 税费
af_net_revenue_factors
  • 商店抽成
  • 税费

特点与局限性

维度 产品 说明
记录激活并进行匿名化处理
  • IAP
  • 订阅收入
不支持
新增订阅 订阅收入 仅通过AppsFlyer Purchase SDK记录
价格变动 订阅收入 对于订阅收入,如果AppsFlyer没有接收到带有新价格的SDK通知,则会持续上报之前的价格,将其记录为收入。AppsFlyer接收到Purchase SDK发出的新价格后,即会记录新价格。
总收入
  • IAP
  • 订阅收入
支持
净收入
  • IAP
  • 订阅收入
仅在原始数据中呈现该信息
税费 订阅收入 支持
净收入商店抽成
  • IAP
  • 订阅收入
  • 对于iOS应用,App Store对订阅时长超过一年的用户收取15%的抽成:仅在原始数据中呈现该信息 
  • 小型企业计划(Small business programs):不支持
退款 IAP 上报窗口期为初始购买发生后的180天内。
数据去重
  • IAP
  • 订阅收入
事件发生日期后180天内上报的交易可进行去重。
SDK严格模式
  • IAP
  • 订阅收入
对于以下版本的SDK connector,AppsFlyer在SDK严格模式下仍支持ROI360订阅和IAP解决方案:
  • AppsFlyer iOS purchase SDK connector V6.13.0
  • Unity purchase SDK connector V2.0.1
货币
  • IAP
  • 订阅收入
收入数据以实际货币(通过event_revenue参数)和美元(通过event_revenue_usd参数)为单位上报。
数据时效性
  • IAP
  • 订阅收入
  • 交易级别的商店收入报告:每小时更新一次
  • 设备级别的商店收入报告:每8小时更新一次