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

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

概要

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

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

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

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

フィールド名 トラッカー フィールド 必須 説明
Transaction ID kGAITransactionId NSString 必須 アイテムに関連するトランザクション ID です。
Name kGAIItemName NSString 必須 商品の名前です。
SKU kGAIItemSku NSString 必須 商品の SKU です。
Category kGAIItemCategory NSString いいえ 商品が属するカテゴリです。
Price kGAIItemPrice NSNumber 必須 商品の価格です。
Quantity kGAIItemQuantity NSNumber 必須 商品の数量です。
Currency code kGAICurrencyCode NSString いいえ トランザクションで使用されるローカル通貨です。デフォルトでは、そのトランザクション データが表示されるビュー(旧プロファイル)の通貨になります。

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

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

実装

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

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

  // Assumes a tracker has already been initialized with a property ID, otherwise
  // this call returns null.
  id tracker = [[GAI sharedInstance] defaultTracker];

  [tracker send:[[GAIDictionaryBuilder createTransactionWithId:@"0_123456"             // (NSString) Transaction ID
                                                   affiliation:@"In-app Store"         // (NSString) Affiliation
                                                       revenue:@2.16F                  // (NSNumber) Order revenue (including tax and shipping)
                                                           tax:@0.17F                  // (NSNumber) Tax
                                                      shipping:@0                      // (NSNumber) Shipping
                                                  currencyCode:@"USD"] build]];        // (NSString) Currency code

  [tracker send:[[GAIDictionaryBuilder createItemWithTransactionId:@"0_123456"         // (NSString) Transaction ID
                                                              name:@"Space Expansion"  // (NSString) Product Name
                                                               sku:@"L_789"            // (NSString) Product SKU
                                                          category:@"Game expansions"  // (NSString) Product category
                                                             price:@1.9F               // (NSNumber) Product price
                                                          quantity:@1                  // (NSInteger) Product quantity
                                                      currencyCode:@"USD"] build]];    // (NSString) Currency code

}

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

通貨の指定

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

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

/*
 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).
 */
- (void)onPurchaseCompleted {

  // Assumes a tracker has already been initialized with a property ID, otherwise
  // this call returns null.
  id tracker = [[GAI sharedInstance] defaultTracker];

  [tracker send:[[GAIDictionaryBuilder createTransactionWithId:@"0_123456",         // (NSString) Transaction ID, should be unique among transactions.
                                                   affiliation:@"In-app Store",     // (NSString) Affiliation
                                                       revenue:(int64_t) 2.16,      // (int64_t) Order revenue (including tax and shipping)
                                                           tax:(int64_t) 0.17,      // (int64_t) Tax
                                                      shipping:(int64_t) 0,         // (int64_t) Shipping
                                                  currencyCode:@"EUR"] build]];     // (NSString) Currency code
}