ROI360 アプリ内課金 (IAP) とサブスクリプションの収益計測

プレミアム機能

概要: アプリ内購入と自動更新サブスクリプションからの収益を自動的に検証して計測し、ユーザーのライフサイクルの全体像と正確なROAS計測を取得します。

概要

広告主様は、検証済みのアプリ内購入(IAP) とサブスクリプション購入収益データを使用して、以下を計測できます:

  • App Store Connect (iOS) またはGoogle Playコンソール (Android) のいずれかで管理されているプロダクトとサブスクリプションのアプリ内購入によるすべての収益
  • 払い戻し
  • 保留中および繰り延べ取引の収益(Android)
  • アプリの内外で発生するサブスクリプション関連のイベント

アプリ内購入およびサブスクリプション収益計測ソリューションは:

  • 重複するトランザクションが記録されていないことを確認します。
    iOSの場合、これにより、家族共有が理由の重複が記録されないようにすることもできます。
  • AppsFlyer が Apple App Store のトランザクションを広告主に転送できるようにします。
  • 真の収益データ、つまり店舗の手数料と税金を考慮した純収益データを提供します。

購入およびサブスクリプションのデータは、次から取得されます:

  • Android / iOS向け AppsFlyerの課金SDKコネクタ(Unity wrapperも含む)
  • App Store および Google Play (RTDN) サーバー通知が AppsFlyer に送信されます。

購入とサブスクリプションの収益データは、AppsFlyerのダッシュボードと各種レポートで取得可能です。また、広告媒体などのポストパートナーへバックを介してポストバックを送信することもできます。

注意事項

  • 収益の重複計測を避けるため、このIAPおよびサブスクリプション購入収益計測ソリューションを使用する場合は、アプリ内購入イベント送信したり、validateAndLogInAppPurchase を実行したりしないでください
  • サブスクリプション収益は、既存のサブスクライブユーザーが購入SDKコネクタを含むアプリバージョンを起動するとすぐに、サブスクライブユーザーライフサイクルの変更の記録を開始できます。

フロー:

  1. ユーザーがアプリ内購入または自動更新サブスクリプションを行います。
  2. アプリがアプリストアでトランザクションを行います。
  3. AppsFlyer課金SDKコネクタは購入を自動的に検出し、検証とログ記録のためにそのペイロードをAppsFlyerに送信します。
  4. AppsFlyerは、不正ではないことを確認するために、各ストアで購入データを検証します。
    • 検証が成功すると、AppsFlyerは購入またはサブスクリプションをログに記録します。
    • レシート検証が失敗した場合、そのイベントは「ブロック済アプリ内イベント」ローデータレポート内に表示されます(Protect360を契約している場合に利用可能)。 
  5. AppsFlyerは応答を SDK コネクタに転送し、SDK コネクタは受信確認応答 (成功または失敗) をアプリに転送します。
  6. 受信したサーバー通知は、AppsFlyerの購入およびサブスクリプション収益ビジネスロジックによっても処理されます。
    • SDKコネクタを介して以前に報告されたトランザクションに関する通知が検証および処理され、購入イベントまたはライフサイクルイベントが内部的に作成されます。
    • 不明なトランザクションに関する通知は破棄されます。
    • iOSの場合、すべてのサーバー通知を独自のサーバーに再ルーティングできます。

 アプリ内課金とサブスクリプション収益の連携設定手順

以下の表に記載されているセットアップ手順の順序に正確に従って 、アプリ内課金および自動更新サブスクリプションの収益とライフサイクルイベントを正しい精度で計測し、完全なレポートを取得してください。
そうしないと、レポートが永続的に不正確になってしまう可能性があります。各ステップの詳細は、表の後のタブに記載されています。

ステップ タスク
1

Google Play からの IAP とサブスクリプション購入の収益に関する通知を設定します。

2

iOS App StoreからのIAPとサブスクリプション購入の収益に関する通知を設定します。

3
  • AndroidおよびiOS用のAppsFlyer購入SDKコネクターを連携します
  • サブスクリプションアプリ向けの推奨事項:
    サブスクライブユーザー数をより迅速に特定するには、SDKコネクタを使用してアプリのバージョンをリリースする前にサーバー通知を設定します。
4

True Revenue tax APIを統合します。これは、デフォルトの税率を編集する場合にのみ必要です。それ以外の場合、ROI360によって測定されたすべてのトランザクションに対して税金が報告されます。

5

実装テストで次の項目を確認します

  • SDKコネクタが適切に連携されていること
  • サーバー通知が適切に設定され、AppsFlyerによって受信していること
6

購入SDKコネクタを使用して、AndroidおよびiOSアプリのバージョンをリリースします

ステップ 1: Google Play からの通知を設定します

はじめる前に

  • アプリ内課金とサブスクリプション収益の設定は、Google Cloud PlatformとAppsFlyer管理画面上の手順が含まれます。
    設定中は、Google Cloud PlatformとAppsFlyerのタブを開いたままにしておくことをおすすめします。
  • AppsFlyer管理画面でのセットアップには、管理者(アドミン)権限が必要です。

下のタブの手順に沿って、Google Play からの通知を設定します:

1.1 Google Play ディベロッパー アカウントを Google Cloud プロジェクトにリンクします

  1. Google Play Console で、 Google Play ディベロッパーアカウントに移動します。
  2. アカウントを Google Cloud プロジェクトにリンクします。手順については、 こちらの Google ヘルプのトピックを参照してください。
  3. Google Play Developer API を有効にします。手順については、 こちらの Google ヘルプのトピックを参照してください。

1.2 サービスアカウントの作成

  1. Google Cloud に移動し、1.1 でリンクしたプロジェクトを開きます。
  2. プロジェクトで IAM and Admin (IAM と管理者 ) > Service Accounts (サービスアカウント) に移動し、Create service account (サービスアカウントの作成) をクリックします。

01.png

  1. サービスアカウントの作成ページで、サービスアカウントの詳細ステップを入力します。

02.png

  1. 作成して続行をクリックします。
  2. このサービスアカウントにプロジェクトへのアクセス権を付与するステップで、  Pub/sub subscriberロールを選択します。

03.png

  1.  続行 >  完了をクリックします。

1.3:アカウントのプライベートキーをダウンロードします。

  1. サービスアカウントページで、関連する サービスアカウントを見つけ、  ellipsis.png  キーの管理をクリックします。

08.png

  1. サービスアカウントページの Keysタブで、ADD KEY > Crete new key をクリックします。

10.png

  1. Create private keyダイアログで、JSONキータイプを選択します。
  2.  Createをクリックしてください。プライベートキーのJSONファイルがダウンロードされます。
  3. AppsFlyer管理画面 左メニューから、設定 > 収益設定を選択します。

41.png

  1. リストから対象のアプリを選択します。
  2. Purchases and subscriptionsタブで、upload-2.pngをクリックしてJSONファイルをアップロードします。 

40.png

 

1.4 APIアクセス権限の設定

  1. Google Play Consoleユーザーと権限に移動します。
  2. ユーザーと権限リストで、1.2で作成したサービスアカウントを見つけて、管理をクリックします。

14.png

  1. Premissions セクションで、Account permissions に移動し、以下の両方を選択してください:
    • View financial data
    • 注文とサブスクリプションの管理

15.png

  1. Invite userをクリックし、Send invitationをクリックします。

どちらかを選択します  1.5: Google Playストアの通知をAppsFlyerに直接送信します

Google Playから IAP と定期購入の収益データを受け取るために使用する 2つの方法のいずれかを選択します。

以下のいずれかから選択してください。

  • AppsFlyer が Google Playから RTDN通知を直接受信するトピックを作成します(この手順に進みます)。

または

  • AppsFlyer を既存の PUB/SUB トピックの購読者として設定します(次の手順に進みます)。

AppsFlyer が RTDN通知を直接受信するトピックを作成するには、次の手順を実行します:

  1. AppsFlyer管理画面左メニュー 設定 > 収益設定 > 購入&サブスクリプション を選択し、AppsFlyerトピックがGoogleから直接RTDNメッセージを取得することを許可するを選択します。
    42.png
  2. AppsFlyer トピックをクリップボードにコピーします。
  3. Google Play コンソール > すべてのアプリでアプリを選択します。ダッシュボードが開きます。
    18.png
  4. 収益設定に移動し、Google Play Billingセクションのトピックフィールドに、サブステップ2でコピーしたAppsFlyerのトピックアドレスを貼り付けます。 
    19.png
  5. 通知内容で、サブスクリプション、無効化された購入、およびすべての都度課金アイテムを選択します。
    google notification content.png
  6. 変更の保存をクリックします。

または 1.6 Google Playの通知をAppsFlyerに転送します

IAPとサブスクリプションの通知を受け取る他の方法は、Google Playから通知を受け取る既存のトピックがすでにある場合に適用できます。この場合、新しいトピックを作成する代わりに、AppsFlyerを、既存の PUB/SUB トピックのサブスクライバーとしてサブスクライバーとしてセットします。

既存のPUB/SUBトピックのサブスクライバーとしてAppsFlyerを設定

  1. AppsFlyer管理画面 左メニュー 設定 > 収益設定 > 購入&サブスクリプションタブで、RTDNトピックメッセージをAppsFlyerに転送するを選択します。
  2. エンドポイントURLをクリップボードにコピーします。
    52.png
  3. Google Cloud Platformのプロジェクトで、 Pub/Subを検索します。
    21.png
  4. Pub/Subトピックセクションに移動し、サブスクリプション専用の pub/sub トピックがあることを確認します。
    22.png
  5. Subscriptionセクションで、Create subscriptionをクリックします。25.png
  6. Subscription IDを入力します。
  7. ドロップダウンから関連するサブスクリプションのパブ/サブスクライブのトピックを選択してください。
    26.png
  8. 配信の種類 で、プッシュ を選択してください。
  9. ステップ2で取得したエンドポイントURL を入力します。
  10. Expiry periodは、Never expireを選択します。28.png
  11.  [Save](保存)をクリックします。
  12. Scriptionsセクションで、トピック名をクリップボードにコピーします。
    46.png
  13. Google Play Console収益設定に移動し、 Google Playの お支払い情報セクションのトピック   項目に、前の手順でコピーした トピック名を貼り付けます。
    19.png
  14. 通知内容で、サブスクリプション、無効化された購入、およびすべての都度課金アイテムを選択します。
    google notification content.png
  15.  [Save](保存)をクリックします。

1.7 自動サービスの設定

  1. AppsFlyer管理画面 左メニュー 設定 > 収益設定 > 購入&サブスクリプションタブで、次のどちらか、もしくは両方をオンします:
    • Google Playで課金データを検証する
    • 自動更新サブスクリプションを計測する

50.png

  1. [オプション][ AppsFlyerに、すでにレポートされたトランザクションの重複排除を許可するをオンにします。これにより、重複するトランザクションが記録されなくなります。
  2.  [Save](保存)をクリックします。
注: サービスアカウントの認証情報とアクセス許可を設定してから、それらを使用するには時間がかかる場合があります(場合によっては 24 時間)。これにより、Google RTDNに接続しようとしたときにエラーが表示される場合があります。

ステップ2: iOSアプリストアからの通知を設定する

はじめる前に

  • アプリ内購入とサブスクリプション収益の設定は、App Store ConnectとAppsFlyer管理画面で実行する手順で構成されています。設定中は、App Store Connect と AppsFlyer の両方のタブを開いたままにしてください。

  • AppsFlyer管理画面でのセットアップには、管理者(アドミン)権限が必要です。

アプリ内購入とサブスクリプションの収益を計算

  1. App Store Connectにて、Features > Subscriptions へ移動し、Manage をクリックして、App Store Connectの共有シークレットキーを取得してください。
  2. AppsFlyer管理画面 左メニュー 設定 > 収益設定 > 購入&サブスクリプションへ移動します。
    収益設定画面が開きます。
    ARS-VIAP.png
  3. App Store Connectの共有シークレットキーを入力してください。
  4. AppsFlyerエンドポイントをコピーし、App Store Connect設定に入力します:
    1. App Store Connect で、アプリを選択します。
    2. アプリ情報セクションで、App Storeサーバー通知までスクロールし、AppsFlyerエンドポイントをプロダクションサーバーURLサンドボックスサーバーURLの項目に貼り付けます。
      注意:AppsFlyerエンドポイントは、Apple通知 V1 または V2のどちらを使用しているかに関係なく同じです。
      /guide-media/01HH9D9BGV8H7XHW44WN00V11M
    3. 保存 をクリックしてください。
  5. [オプション] サーバー通知をエンドポイントに送信し、エンドポイントを入力する場合に選択します。
  6. AppsFlyerのアプリ内課金とサブスクリプション収益の設定ページで、次のいずれかまたは両方をオンにしてください。
    • 自動更新サブスクリプションを計測する
    • Apple App Storeで購入を検証する
  7. [オプション] AppsFlyerにすでにレポートされたトランザクションの重複排除を許可する をオンにします。
    これにより、重複するトランザクションが記録されなくなります。

  8. [オプション] ファミリー共有が理由による購入収益の重複排除 をオンにします。
    これにより、ファミリー共有の購入が理由で重複した収益が記録されなくなります。他のファミリーメンバーの収益イベントには、パラメータ purchase_ownership_type=FAMILY_SHARED が含まれ、収益はゼロと表示されます。

注記

  • Appleは、サーバー通知を 1つのエンドポイントにのみ送信できます。
  • バックエンドから通知エンドポイントの URLに直接 Appleサーバー通知を送信できますが、リクエストは App Store から受信したとおりにする必要があります。

ステップ3: 購入SDKコネクタの実装

購入SDKコネクタを連携すると、アプリはアプリ内購入と自動更新サブスクリプションの両方を記録できます。AndroidおよびiOS両方のAppsFlyer画面で、設定 > 収益設定 > 購入&サブスクリプション 画面で、一方または両方の収益タイプを記録するように選択できます。

SDKコネクタを実装する方法

  1. Android開発者に、AppsFlyerのAndroid購入SDKコネクタの連携を依頼してください
    • Android用AppsFlyer購入コネクターV1は、Google Billing Library 4をサポートしています。
    • Android用AppsFlyer購入コネクターV2は、Google Billing Library 5をサポートしています。
    • Android用AppsFlyer購入コネクターV2.0.1は、Google Billing Library 6をサポートしています。
  2. iOS開発者に、 AppsFlyerの iOS購入SDKコネクタ連携を依頼してください。

注:Unityフレームワークで構築されているアプリの場合は、Unityコネクタのドキュメントを参照してください。

ステップ4:True Revenue tax APIの連携

True Revenueは、AppsFlyerのアプリ内購入およびサブスクリプション収益ソリューションを提供するために構築されたビジネスロジック機能です。これは、各トランザクションの純収益値をリアルタイムで自動的に計算し、レポートに含めます。税は、デフォルトの税率構成によって、ROI360に測定されたすべてのトランザクションに対してデフォルトで報告されます。この設定は、専用のtax APIを使用して編集できます

True Revenueの詳細

tax API を使用して税設定を編集するには:

  1. ディベロッパーに以下を渡してください。
    • 認証キーとして使用するAPI V2トークン
    • 次の表で説明されているように、計算する税に関する情報を含むパラメーターと値。 
  2. 開発者に Tax APIの手順に従い、税率のルールを作成するよう依頼してください。注: API では、POSTリクエスト本文に JSON ファイルを含めることができます。このJSONファイルには、サポートされているすべての国とデフォルトの税率が含まれています。開発者はそれを編集することも、APIでそのまま使用することもできます。

APIで使用するパラメーターと値

パラメーター 必須 備考 値を記録 (開発者が使用するため)
tax_name はい
  • 特定の税の種類を表す顧客の請求書に表示される税の名前。
  • 例:Sales、VAT、GST
 
tax_rate はい
  • 徴収する税率を表す小数点以下4桁までの数値
  • 例:7.25
 
tax_exclusive いいえ
  • Boolean パラメータ、true または false
  • Falseの場合、税金は収益額に含まれていることを意味します。
  • Trueの場合、記載された収益額に税金が加算されることを意味します。例えば、USAまたはカナダでは、表示される価格に消費税は含まれていません。
  • デフォルト設定はfalseです。
 
country いいえ  
subdivision いいえ
  • 一部の国では、追加の州/下位区分が存在する可能性があります。
  • ISO 3166-2サブディビジョンコードに従って処理されます。
  • 国コードとサブディビジョンコードを含める必要があります。
  • 例: US-CA
 
postal_code いいえ
  • 文字列または/および数字
  • 例: L4J8E3
 
deduction_order いいえ
  • Enum (列挙型)、0、1、または 2:
    • 0は、ストアコミッションが最初に総収益から差し引かれ、残りの金額から税金が差し引かれることを意味します。
    • 1は、最初に総収益から税金が差し引かれ、ストアコミッションが残りの金額から差し引かれることを意味します。
    • 2は、税金とストアコミッションの両方が総収益から差し引かれることを意味します。
 

ステップ5 : IAPとサブスクリプション収益をテストします

サンドボックス環境でIAPとサブスクリプション収益の統合を検証して、SDKコネクタが適切に統合されていること、およびサーバー通知が適切に構成され、AppsFlyerによって受信されていることのご確認をお勧めします。

テストの前に、開発者が SDK Connector で サンドボックス環境 に設定していることを確認してください(Sandboxtrueに設定します)。これにより、ROI360はテスト用の "収益が0のサンドボックスアプリ内イベントのみ"を作成できます。したがって、プロダクション(本番用)データは影響を受けません。

サンドボックス環境に関する考慮事項

サンドボックス環境:

  • 初回購入イベントだけが、SDKコネクタがAppsFlyerによって記録されるイベントを生成します。IAPイベントは af_purchase_sandbox_sdk、サブスクリプションイベントは af_ars_sandbox_sdkです。
  • 他のすべての購入イベントは削除されるため、ARS SDKコネクタはイベントを生成しません。
  • 受信サーバー通知は、SDKコネクタが最初に元のトランザクションを記録する場合にのみ処理されます。この場合、 af_purchase_sandbox_s2sと呼ばれるアプリ内購入イベントが生成されます。サブスクリプションは、イベント名 af_ars_sandbox_s2s と生成されます。
  • SDKコネクタが最初に元のトランザクションを記録しなかったサーバー通知に対してイベントは生成されません。
  • iOSの場合、App Store connectのApp Store Server Notificationsで、AppsFlyerのエンドポイントがSandbox ServerのURLとして設定されていることを確認してください。
  • Android の場合、SDK のサンドボックス環境が構成されていない場合でも、ライセンステスターによって実行されるテストではサンドボックスイベントが発生します。

アプリ内購入とサブスクリプション収益計測の実装テスト

アプリ内購入とサブスクリプション収益計測のテスト:

  1. 開発者に、  Android iOS および Unity  の 手順に従って SDK Connector でサンドボックス環境を構成するように依頼してください。
  2. テスト購入を行います。Google Play の License Tester と iOS の TestFlight から実行されるトランザクションもサポートされています。
    注意: サブスクリプションプロダクトは、各テストデバイスから一度だけテストできます。つまり、同一デバイスから同一サブスクリプションの複数のテスト購入は、記録されないため登録することはできません。
  3. AppsFlyer管理画面「アクティビティ」ダッシュボードにイベントが表示されることを確認してください。
     アプリ内購入はイベント名 af_purchase_sandbox_sdkと計測されます。
     サブスクリプションはイベント名 af_ars_sandbox_sdk と呼ばれます。

      これらのイベントには、次のデータが含まれます:

    • 収益値: 0(実際のAppsFlyerレポートを歪めないようにするため)
    • af_sandbox_revenue パラメータに、テスト購入したプロダクトの収益値を含みます。
      このパラメータ値を参照して、正しい収益が計測されていることを確認してください。
  4. サブスクリプション計測をテストしている場合は、AppsFlyerがサーバーからサーバー通知を受け取るまでしばらくお待ちください。
    通常、これは最初の購入後数分以内に発生します。
  5. AppsFlyer管理画面「アクティビティ」ダッシュボードにイベントが表示されることを確認してください。
    自動更新サブスクリプションの購入は イベント名 af_ars_sandbox_s2s と計測されます。
    イベントには以下のデータが含まれます:
    • 収益値: 0(実際のAppsFlyerレポートを歪めないようにするため)
    • af_sandbox_revenue パラメータに、テスト購入したプロダクトの収益値を含みます。
      このパラメータ値を参照して、正しい収益が計測されていることを確認してください。

ステップ6:DKコネクタを使用してアプリのバージョンをリリースします

開発者によって購入SDK コネクタが実装された新しいアプリバージョンをリリースする前に、次のことを確認してください:

  • アプリ内購入またはサブスクリプションとして計測するアプリ内イベントが、AppsFlyerで設定した検証ルールのいずれかによってブロックされていないこと
  • 開発者は、false としてマークされたサンドボックスフラグを所持していること
  • iOSの場合、App Store connectのApp Store Server Notificationsで、AppsFlyerのエンドポイントがSandbox ServerのURLとして設定されていることを確認してください。

参考

アプリ内購入のイベントとパラメーター

次のセクションでは、AppsFlyerが計測するサブスクリプション関連のイベントと、各イベントに記録されるパラメーターを示します。含まれているパラメーターの説明については、イベントパラメーター辞書を参照してください。

生成されたすべてのイベントは -

  • S2Sイベントと見なされます。
  • ローデータレポートでも取得できます(データタイプ名:オーガニック / 非オーガニックのアプリ内イベント)。
  • 広告媒体などのパートナーへポストバック可能です。
  • SKAN Conversion Studioで計測するKPIとして設定できます。

注意: ユーザーデバイスのプラットフォームによっては、アプリ内イベントにパラメーターが常に入力されるとは限りません。

購入 (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_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 (収益がゼロを超えるイベントに含まれます)
  • af_revenue_usd
  • 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 Conversion Studioで計測するKPIとして設定できます。

注意: ユーザーデバイスのプラットフォームによっては、アプリ内イベントにパラメーターが常に入力されるとは限りません。

トライアル開始(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_cancelled)

説明

トライアル期間中にサブスクライブユーザーがサブスクリプションの自動更新をキャンセルしたときに記録されます。
ユーザーがトライアル期間内に自動更新を復元しない場合、解約イベントが続きます。

パラメーター 

  • 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
  • af_revenue_usd
  • 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コネクタを介してのみ記録できます。
  • iOSの場合、サブスクライブユーザーが既に所有しているサブスクリプションを再購入すると、SDKコネクタはレシートの検証が成功したことをアプリにレポートしますが、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 (収益がゼロを超えるイベントに含まれます)
  • af_revenue_usd
  • 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_cancelled)

説明

請求期間の途中で自動更新サブスクリプションがキャンセルされたときに記録されます。ユーザーが同じ請求期間内に自動更新を復元しない場合、解約イベントが続きます。

パラメーター 

  • 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) - Androidのみ

説明

ユーザーがアクティブなサブスクリプションを一時停止したときに記録されます。

パラメーター 

  • 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 (イベント収益がゼロを超えるイベントに含まれます)
  • af_revenue_usd
  • 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)

説明

加入者が払い戻しを受けたときに記録されます。

注記:

  • このイベントは通常、マイナス値と共に生成されます。どのトランザクションが返金されたかを検出できない場合、または返金の詳細が通知に含まれていない場合、返金イベントには何の値も表示されません。

パラメーター 

  • 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
  • af_revenue_usd
  • 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 (収益がゼロを超えるイベントに含まれます)
  • af_revenue_usd
  • 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 (収益がゼロを超えるイベントに含まれます)
  • af_revenue_usd
  • af_revenue
  • af_net_revenue
  • af_net_revenue_factors

既存のサブスクライバー (af_ars_existing_subscriber)

説明

サブスクライバーを別の関連するライフサイクル ステージに移行させるフォローアップサーバー通知を取得する前に、SDKコネクタが請求サイクルの途中でサブスクライバーについて通知されたときに記録されます。このイベントは通常、オンボーディングとSDKコネクタの導入期間中に生成されます。

パラメーター 

  • 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

パラメーター辞書

アプリ内購入とサブスクリプション購入イベントのパラメータは、ローデータレポートに独自の列として表示されるか、Event Valueの一部として入力されます。

独自の列を持つパラメーターは次のとおりです:

  • 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(サービス利用不可)
    • Android:
      • I don't use this service enough(このサービスを利用していません)
      • Technical issues(テクニカル問題)
      • Cost-related reasons(コスト問題)
      • I found a better app(他に良いアプリを見つけた)
      • その他
  • サブスクリプション再開イベントで、ユーザーがサブスクリプションを再開した理由。
    想定値:
    • Android:
      • 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

最初の購入時にユーザーに提示されたオファー IDIDは、割引コードがある場合にのみ入力されます。

  • IAP(アプリ内購入)
  • 購読
af_discount_type

ユーザーが利用したディスカウントの種類
想定値:

  • iOS
    • introductory
    • subscription
  • Android
    • intro price
    • one_time_code
    • vanity_code
購読
af_original_transaction_id
  • 元のトランザクション ID
  • iOSのみ
  • IAP(アプリ内購入)
  • 購読
af_order_id
  • トランザクションの注文 ID
  • Androidのみ
  • IAP(アプリ内購入)
  • 購読
af_purchase_token
  • トランザクションの購入トークン
  • Androidのみ
  • IAP(アプリ内購入)
  • 購読
af_transaction_id
  • トランザクションID
  • iOSのみ
  • IAP(アプリ内購入)
  • 購読
af_purchase_state


想定値:

  • Purchased(購入)
  • Canceled(キャンセル)
  • Pending (承認待ち)

アプリ内購入 

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

サブスクリプションサービスの購入元であるアプリストア(例:Google Play / App Store)

  • IAP(アプリ内購入)
  • 購読
af_environment

データの受信元の環境(実稼働環境またはサンドボックス)

  • IAP(アプリ内購入)
  • 購読
af_period_type
  • サブスクリプションまたはトライアル期間の種類

  • 想定値:
    • トライアル
    • intro
    • normal

購読

af_revenue_usd
  • 購入されたサービスから生成されたストアが受け取るコミッションの割合(%)
  • 10進数で表示されます。
  • 例: 30
  • IAP(アプリ内購入)
  • 購読
af_net_revenue

すべての要因に基づいて計算された純収益。
af_net_revenue_factorsを参照してください。

  • IAP(アプリ内購入)
  • 購読
af_net_revenue_factors
  • レポートされた net_revenue の額を生成するすべての因数分解された理由を表す配列
  • 値の例: store_commission
  • IAP(アプリ内購入)
  • 購読

af_net_revenue_tax_name

  • 特定の税の種類を表す顧客の請求書に表示される税の名前。
  • 例:Sales、VAT、GST
  • IAP(アプリ内購入)
  • 購読

af_net_revenue_tax_rate

  • 徴収された税率を表す小数点以下4桁までの数値
  • 例:7.25
  • IAP(アプリ内購入)
  • 購読

af_net_revenue_tax_exclusive

  • Boolean パラメータ、true または false
  • Falseの場合、税金は収益額に含まれていることを意味します。
  • Trueの場合、記載された収益額に税金が加算されることを意味します。例えば、USAまたはカナダでは、表示される価格に消費税は含まれていません。
  • IAP(アプリ内購入)
  • 購読

af_net_revenue_country

  • IAP(アプリ内購入)
  • 購読

af_net_revenue_subdivision

  • 一部の国では、追加の州/下位区分が存在する可能性があります。これは、ISO 3166-2サブディビジョンコードに従って実行されます
  • 国コードとサブディビジョンコードが含まれます。
  • 例: US-CA
  • IAP(アプリ内購入)
  • 購読

af_net_revenue_postal_code

  • 文字列または/および数字
  • 例: L4J8E3
  • IAP(アプリ内購入)
  • 購読
af_cuids
  • ARSのコンテキストでは、このパラメーターにはすべてのCUIDを持つ配列が含まれます。
  • CUIDの配列は、端末IDに関係なく表示されるため、同じCUIDを複数の端末IDに対して表示できます。
購読

True Revenue

True Revenueは、AppsFlyerのアプリ内購入、およびサブスクリプション収益ソリューションを補うために構築されたビジネスロジックの仕組みです。これは、各トランザクションの純収益値をリアルタイムで自動的に計算し、レポートに含めます。True Revenueでは、総純収益の計算において、以下の要素を考慮します。

  • ストアコミッション
    • 自動的に計算およびレポートされます。ユーザー側でのアクションは必要ありません。
    • 購入の場合、ストアコミッションは30%です。
    • サブスクリプションでは、コミッションはサブスクライバーの有効期間を考慮して、サブスクライバーごとに自動的に計算されます。
      App Store:30%のコミッションから始まり、1年後15%に引き下げ
      Play Store:15%のコミッション
    • 関連する純収益パラメーターは、ローデータレポートで確認できます。
  • 税金
    • 税は、デフォルトの税率構成によって、ROI360に測定されたすべてのトランザクションに対してデフォルトで報告されます。
    • 設定は、専用の税APIを使用して編集できます。このJSONファイルはサポートされているすべての国とそのデフォルトの税率が表示されます。開発者はそれを編集することも、APIでそのまま使用することもできます。

True Revenueをレポートで表示する場合は、以下のパラメーターに純収益データが含まれます。詳細は、パラメーター辞典を参照してください。

パラメーター 純収益要素

af_revenue_usd

ストアコミッション

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購入SDKを介してのみ計測
価格変更

サブスクリプション収益

サブスクリプション収益が新しいサービス料金を含むSDK発信の通知を受信しない場合は、サブスクリプション収益は引き続き以前のサービス料金を収益としてレポートします。
購入SDKから新しい製品価格を受け取ると、新しい価格が記録されます。
総収益(グロス)
  • IAP(アプリ内購入)
  • サブスクリプション収益
サポート対象
純収益(ネット)
  • IAP(アプリ内購入)
  • サブスクリプション収益
ローデータでのみ利用可能
税金

サブスクリプション収益

サポート対象
純収益ストア手数料
  • IAP(アプリ内購入)
  • サブスクリプション収益
  • iOSは、1 年以上前のサブスクライブユーザーの場合は15%:ローデータでのみ利用可能です
  • スモールビジネスプログラム:サポートされていません
払い戻し IAP(アプリ内購入) 最初の購入から180日まで計測できます。
重複排除
  • IAP(アプリ内購入)
  • サブスクリプション収益
イベント日から最大180日以内に計測されたトランザクションをサポート。
SDK厳格モード
  • IAP(アプリ内購入)
  • サブスクリプション収益

ROI360のサブスクリプションとアプリ内課金計測は、SDK strictモードで以下からサポートされます:

  • AppsFlyer iOS 購入SDKコネクター V6.13.0
  • Unity 購入 SDKコネクター V2.0.1
通貨設定
  • IAP(アプリ内購入)
  • サブスクリプション収益
収益は、元の通貨 (event_revenue パラメーターを使用) および米ドル (event_revenue_usd パラメーターを使用) で報告されます。
データ更新頻度
  • IAP(アプリ内購入)
  • サブスクリプション収益
  • トランザクションレベルのストア収益レポート: 1時間ごと
  • デバイス単位のストア収益レポート: 8時間ごと