e コマース トラッキング - Android SDK v2(従来版)

このドキュメントでは、Android 向け Google アナリティクス SDK v2 を使って、アプリ内のお支払いと収益を測定する方法の概要を説明します。

概要

e コマースの測定では、アプリ内の購入と売り上げのデータを Google アナリティクスに送ることができます。通常、Google アナリティクスの e コマースデータは、共通のトランザクション ID で関連付けられたトランザクションとアイテムで構成されます。Android 向け Google アナリティクス SDK では、トランザクション オブジェクトを作成してアイテムを追加することで、この関係が確立されます。

e コマースデータは主に次のレポートで使用されます。

  • e コマースの概要
  • 商品の販売状況
  • 販売実績
  • トランザクション
  • 購入までの間隔

実装

Google アナリティクスでトランザクションを測定するには、次の 3 つのステップを行います。

  1. トランザクション オブジェクトを作成します。
  2. アイテム オブジェクトを作成してトランザクション オブジェクトに追加します。
  3. sendTransaction(Transaction transObject) を使用してトランザクションを送信します。

次の例では、ユーザーがアプリ内購入を完了した後に onPurchaseCompleted() が呼び出されると仮定しています。

/**
 * The purchase was processed. We will send the transaction and its associated line items to Google Analytics,
 * but only if the purchase has been confirmed.
 */
public void onPurchaseCompleted() {
  Transaction myTrans = new Transaction.Builder(
      "0_123456",                                           // (String) Transaction Id, should be unique.
      (long) (2.16 * 1000000))                              // (long) Order total (in micros)
      .setAffiliation("In-App Store")                       // (String) Affiliation
      .setTotalTaxInMicros((long) (0.17 * 1000000))         // (long) Total tax (in micros)
      .setShippingCostInMicros(0)                           // (long) Total shipping cost (in micros)
      .build();

  myTrans.addItem(new Item.Builder(
      "L_789",                                              // (String) Product SKU
      "Level Pack: Space",                                  // (String) Product name
      (long) (1.99 * 1000000),                              // (long) Product price (in micros)
      (long) 1)                                             // (long) Product quantity
      .setProductCategory("Game expansions")                // (String) Product category
      .build());

    Tracker myTracker = EasyTracker.getTracker(); // Get reference to tracker.
    myTracker.sendTransaction(myTrans); // Send the transaction.
}

通貨の種類

Android 向け Google アナリティクス SDK では、e コマースの通貨のフィールドはマイクロ単位(100 万分の 1 の通貨)で指定する必要があります。

たとえば、通貨の値 4.5991 を送信する場合は、トランザクションを Google アナリティクスに送信する際に、上の例のようにその値をマイクロに変換(つまり 4599100)する必要があります。SDK がそのトランザクションを Google アナリティクスに送信すると、その値は自動的に固定小数点以下の 10 進値に変換され、4.5991 として送信されます。

e コマースコードに通貨記号を含めたり、カンマを使用したりすることはできません。

e コマースの通貨フィールドでは、マイナスの通貨の値も使用できます。払い戻しや返品で必要となる場合があるためです。

通貨の指定

デフォルトでは、トランザクション値はレポートされるビュー(旧プロファイル)の通貨であるとみなされます。

トランザクションのローカル通貨をオーバーライドするには、 Transaction をビルドする際に、次の例のように setCurrencyCode を呼び出します。

/**
 * In this example, the currency of the transaction is set to Euros. The
 * currency values will appear in reports using the global currency
 * type of the view (profile).
 */
public void onPurchaseCompleted() {
  Transaction myTrans = new Transaction.Builder(
      "0_123456",
      (long) (1.59 * 1000000))
      .setAffiliation("In-App Store")
      .setTotalTaxInMicros((long) (0.13 * 1000000))
      .setShippingCostInMicros(0)
      .setCurrencyCode("EUR")                               // (String) Set currency code to Euros.
      .build();

    Tracker myTracker = EasyTracker.getTracker();
    myTracker.sendTransaction(myTrans);
}

サポートされている通貨と通貨コードの一覧については、利用可能な通貨のリファレンスをご覧ください。