e コマース トラッキング - Android SDK

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

概要

e コマースの測定では、アプリ内の購入と売り上げのデータを Google アナリティクスに送ることができます。Google アナリティクスの e コマースデータにはトランザクションとアイテムのヒットが含まれ、それぞれが共通のトランザクション ID で結び付けられます。

トランザクションには次のフィールドがあります。

フィールド名 トラッカー フィールド タイプ 必須 説明
Transaction ID Fields.TRANSACTION_ID String はい トランザクションを表す固有の ID です。他のトランザクション ID と重ならないようにしてください。
Affiliation Fields.TRANSACTION_AFFILIATION String はい トランザクションに関わる当事者です(特定のショップなど)。
収益 Fields.TRANSACTION_REVENUE Double はい トランザクションの収益の合計額です(税金と送料を含む)。
Tax Fields.TRANSACTION_TAX Double はい トランザクションに伴う税金の合計額です。
Shipping Fields.TRANSACTION_SHIPPING Double はい トランザクションに伴う送料の合計額です。
Currency code Fields.CURRENCY_CODE String × トランザクションで使用されるローカル通貨です。デフォルトでは、そのトランザクション データが表示される ビュー(旧プロファイル)の通貨になります。

アイテムには次のフィールドがあります。

フィールド名 トラッカー フィールド タイプ 必須 説明
Transaction ID Fields.TRANSACTION_ID String はい アイテムに関連するトランザクション ID です。
名前 Fields.ITEM_NAME String はい 商品の名前です。
SKU Fields.ITEM_SKU String はい 商品の SKU です。
カテゴリ Fields.ITEM_CATEGORY String × 商品が属するカテゴリです。
Price Fields.ITEM_PRICE Double はい 商品の価格です。
Quantity Fields.ITEM_QUANTITY Long はい 商品の数量です。
通貨コード Fields.CURRENCY_CODE String × トランザクションで使用されるローカル通貨です。デフォルトでは、そのトランザクション データが表示されるビュー(旧プロファイル)の通貨になります。

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

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

実装

Google アナリティクスにトランザクションとアイテムのデータを送るには、トラッカーのトランザクションとアイテムのフィールドに値を設定し、1 つずつ送る必要があります。次に例を示します。

import android.app.Activity;

import com.google.analytics.tracking.android.EasyTracker;
import com.google.analytics.tracking.android.MapBuilder;

public class CheckoutActivity extends Activity {

  /*
   * Called when a purchase is processed and verified.
   */
  public void onPurchaseCompleted() {

    // May return null if EasyTracker has not yet been initialized with a
    // property ID.
    EasyTracker easyTracker = EasyTracker.getInstance(this);

    easyTracker.send(MapBuilder
        .createTransaction("0_123456",       // (String) Transaction ID
                           "In-app Store",   // (String) Affiliation
                           2.16d,            // (Double) Order revenue
                           0.17d,            // (Double) Tax
                           0.0d,             // (Double) Shipping
                           "USD")            // (String) Currency code
        .build()
    );

    easyTracker.send(MapBuilder
        .createItem("0_123456",               // (String) Transaction ID
                    "Level Pack: Space",      // (String) Product name
                    "L_789",                  // (String) Product SKU
                    "Game expansions",        // (String) Product category
                    1.99d,                    // (Double) Product price
                    1L,                       // (Long) Product quantity
                    "USD")                    // (String) Currency code
        .build()
    );
  }

  // ... Rest of the Activity definition
}

e コマースの通貨フィールドは負の値に対応しています。払い戻しや返品で必要となる 場合があるためです。

通貨の指定

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

トランザクションとその商品のローカル通貨を上書きするには、 トランザクションとアイテムのヒットの通貨コード フィールドに 新しい通貨コードを設定します。サポートされている通貨と通貨コードの一覧については、利用可能な通貨のリファレンスをご覧ください。

import android.app.Activity;

import com.google.analytics.tracking.android.EasyTracker;
import com.google.analytics.tracking.android.MapBuilder;

public class CheckoutActivity extends Activity {
  /**
   * 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() {

    // Assumes a tracker has already been initialized with a property ID, otherwise
    // this call returns null.
    EasyTracker easyTracker = EasyTracker.getInstance(this);

    easyTracker.send(MapBuilder
        .createTransaction("0_123456",       // (String) Transaction ID, should be unique among transactions.
                           "In-app Store",   // (String) Affiliation
                           (long) 2.16,      // (long) Order revenue (includes tax and shipping)
                           (long) 0.17,      // (long) Tax
                           0.0,              // (long) Shipping cost
                           "EUR")            // (String) Currency code
        .build();

  }
  // ... Rest of the Activity definition.
}