전자상거래 추적 - iOS SDK

이 문서에서는 iOS v3용 Google 애널리틱스 SDK를 사용하여 인앱 결제와 수익을 측정하는 방법을 간략하게 설명합니다.

개요

전자상거래 측정을 사용하면 인앱 구매 및 판매를 Google 애널리틱스로 전송할 수 있습니다. Google 애널리틱스의 전자상거래 데이터는 공유 거래 ID와 관련된 거래 및 항목 조회수로 구성됩니다.

거래에는 다음과 같은 필드가 있습니다.

필드 이름 추적기 필드 유형 필수 설명
거래 ID kGAITransactionId NSString 거래를 나타내는 고유 ID입니다. 이 ID는 다른 거래 ID와 충돌해서는 안 됩니다.
제휴 kGAITransactionAffiliation NSString 거래가 연결되어야 하는 항목 (예: 특정 매장)
수익 kGAITransactionRevenue NSNumber 거래의 총 수익(세금 및 배송비 포함)
세금 kGAITransactionTax NSNumber 거래에 대한 총 세금
배송 kGAITransactionShipping NSNumber 거래에 대한 총 배송비
통화 코드 kGAICurrencyCode NSString 아니요 거래의 현지 통화입니다. 기본적으로 거래가 표시되고 있는 뷰 (프로필)의 통화가 사용됩니다.

항목에는 다음과 같은 필드가 있습니다.

필드 이름 추적기 필드 유형 필수 설명
거래 ID kGAITransactionId NSString 항목이 연결되어야 하는 거래 ID
이름 kGAIItemName NSString 제품의 이름
SKU kGAIItemSku NSString 제품의 SKU
카테고리 kGAIItemCategory NSString 아니요 제품이 속한 카테고리
가격 kGAIItemPrice NSNumber 제품의 가격
Quantity kGAIItemQuantity NSNumber 제품의 수량
통화 코드 kGAICurrencyCode NSString 아니요 거래의 현지 통화입니다. 기본값은 거래가 보고되는 뷰 (프로필)의 통화로 설정됩니다.

전자상거래 데이터는 주로 다음과 같은 표준 보고서에서 사용됩니다.

  • 전자상거래 개요
  • 제품 실적
  • 매출 실적
  • 거래
  • 구매까지의 소요 시간

구현

거래 및 항목 데이터를 Google 애널리틱스로 전송하려면 추적기에서 거래 및 항목 필드 값을 설정하고 한 번에 하나씩 전송해야 합니다. 예를 들면 다음과 같습니다.

/*
 * 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

}

전자상거래 통화 필드는 환불 또는 반품의 경우 필요할 수 있으므로 음수 통화 값을 지원합니다.

통화 지정

기본적으로 거래 금액은 보고되는 보기 (프로필)의 통화로 간주됩니다.

거래 및 관련 상품의 현지 통화를 재정의하려면 거래 및 항목 조회의 통화 코드 필드를 새 통화 코드로 설정하세요. 지원되는 통화 및 통화 코드의 전체 목록은 지원되는 통화 참조를 참고하세요.

/*
 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
}