このドキュメントでは、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
|
はい | 商品の価格です。 |
数量 | 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. }