このページでは

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

収益の追跡

収益イベントは、price、quantity、currency、およびrevenueフィールドを使用して購入を記録します。このページでは、iOS、Android、ブラウザSDKとHTTP APIを使用して収益イベントを計測し、レベニューLTVチャートに表示する方法について説明します。

収益プロパティを含む収益イベントのみがチャートに表示されます。このチャートには、検証済みイベントと未検証イベントの両方が含まれます。収益イベントを送信するには、次のドキュメントを参照してください。

Amplitudeは、Amplitude取り込みシステムを通じて送信されたイベントのみをカウントします。 Amplitudeは計算されたイベントを個別にカウントしません。 Revenue (Verified)またはRevenue (Unverified) など、収益イベントに関連付けられた追加イベントは、制限額にカウントされません。

収益プロパティ

Amplitudeは収益を追跡するために収益プロパティを必要とします:

  • $revenue を直接送信するか、$price を送信してください。ほとんどの場合、$quantity を含めます。
  • Amplitudeは、数式$price * $quantityを使用して収益を計算します。$quantityが存在しない場合、Amplitudeは1を使用します。

収益イベントを記録する際には、AmplitudeのSDKまたはサーバー側を使用して収益プロパティを明示的に送信する必要があります。

アプリ外での購入を追跡

アプリ内購入以外の購入の場合、収益データをAmplitudeに送信する方法は3つあります:

  • AmplitudeのSDKsを使用してlogRevenueV2関数を呼び出します。logRevenueV2関数はRevenueイベントを生成します。
  • $revenueプロパティを含める場合は、AmplitudeのSDKを使用してlogEvent関数を呼び出してください。
  • price、quantity、またはrevenueフィールドを設定することで、AmplitudeのHTTP APIを使用できます。独自のイベント名を追加してください (例: Purchase completed)。

Amplitudeは、アプリ内購入に対してのみ収益の検証を実行します。

アプリ内購入(IAP)の追跡

アプリ内課金(IAP)を追跡するには、AmplitudeのSDKを使用して、通常の収益イベントと同様に、logRevenueV2またはlogEvent($revenueプロパティを指定)で収益イベントを送信します。IAPの場合、レシートデータを収益イベントに渡すことで購入を検証できます。

収益検証を有効にする

収益検証を有効にするには、iTunes Connect In App Purchase Shared SecretまたはGoogle Playライセンス公開鍵をAmplitudeデータプロジェクトのソースセクションにコピーしてください。収益検証が必要な各Amplitudeプロジェクトのキーを含める必要があります。 また、収益イベントを検証するためにAmplitudeに受領データを渡す必要があります。

Amplitudeは、SDK logRevenue呼び出しから3つの収益イベントタイプを作成できます。SDK の収益イベントタイプは、HTTP API を介してサーバー側に送信される収益イベントとは別物です。

検証のオンまたはオフを切り替えることができるのはモバイルの場合のみです。ウェブは常に Revenueと Revenue (Unverified)を追跡します。

Amplitudeは検証に失敗していない収益を表示します。 たとえば、Amplitude SDKを通じてモバイルとウェブの両方の収益イベントを送信した場合など、Revenue (Verified)とRevenue (Unverified)の両方が表示されることがあります。

領収書の検証

Amplitudeは、AppleまたはGoogleからの領収書に基づいてアプリ内購入を検証します。

不一致

アプリストアのレポートとAmplitudeの間の不一致は、タイムゾーンの違い、イベント生成のバグ、または海賊版が原因である可能性があります。

この不一致が軽微で、毎日一貫している場合、最も可能性の高い原因はアプリストアとAmplitudeの間のタイムゾーンの違いです。 AmplitudeはUTCを使用します。アプリストアが異なるタイムゾーンを使用している場合、アプリストアは購入イベントをAmplitudeとは異なる日に報告することがあります。 データが失われることはありません。

大きな不一致は、1 回の購入に対して店舗での購入コールバックが複数回実行されるなど、クライアント側のエラーに起因する可能性があります。 売上イベントを呼び出すのは、店舗での購入が成功した後でのみです。 次の呼び出しは、イベントのプロパティと収益額を追跡します。

plaintext
AmplitudeClient.getInstance().logEvent('IAP', {type='Sale Special'})
plaintext
AmplitudeClient.getInstance().logRevenueV2("com.company.productid", 1, 2.99)

海賊行為はまた、大きな不一致を引き起こす可能性があります。 ユーザーはアプリストアを回避して、アプリストアのレポートに表示されない購入を行うことができます。 データから海賊版収益イベントを除外するには、Amplitudeの収益検証方法を使用してください。 著作権侵害によってデータが著しく歪められている疑いがある場合は、Amplitude サポートまでお問い合わせください。

開発者のための考慮事項

収益イベントを追跡する際には、次の点を確認してください。

  • 下位互換性:既存のlogRevenueメソッドはまだ機能しますが、非推奨です。古い方法で記録されたイベントは revenueType などのフィールドが欠落しているため、Amplitude プラットフォームはこれらの収益イベントのセグメンテーションを制限しています。
  • ユーザーのログ記録のオプトアウト: setOptOutを呼び出すことで、特定のユーザーのログ記録をオフにすることができます。
plaintext
amplitude.getInstance().setOptOut(true);

オプトアウトが有効な間は、Amplitudeはイベントをサーバーに保存または送信しません。 オプトアウト設定はページ読み込み後も継続されます。 次のコマンドを呼び出してログを再度有効にできます。

plaintext
amplitude.getInstance().setOptOut(false);

これは役に立ちましたか?