Theo dõi thương mại điện tử nâng cao - SDK iOS

Tài liệu này cung cấp thông tin tổng quan về cách đo lường các hành động và lượt hiển thị liên quan đến thương mại điện tử trong ứng dụng bằng SDK Google Analytics cho iOS phiên bản 3.

Tổng quan

Thương mại điện tử nâng cao cho phép đo lường các lượt tương tác của người dùng với sản phẩm trong trải nghiệm mua sắm của người dùng, bao gồm: lượt hiển thị sản phẩm, lượt nhấp vào sản phẩm, xem chi tiết sản phẩm, thêm sản phẩm vào giỏ hàng, bắt đầu quy trình thanh toán, giao dịch và hoàn tiền.

Triển khai

Trước khi triển khai tính năng theo dõi thương mại điện tử nâng cao trong ứng dụng của mình, bạn phải thêm thư viện thương mại điện tử nâng cao vào ứng dụng của mình.

Sau khi định cấu hình ứng dụng để dùng tính năng thương mại điện tử nâng cao, bạn có thể:

Đo lường hoạt động thương mại điện tử

Thông thường, quy trình triển khai sự kiện thương mại điện tử nâng cao sẽ đo lường số lượt hiển thị sản phẩm và bất kỳ hành động nào sau đây:

  • Chọn một sản phẩm.
  • Xem chi tiết sản phẩm.
  • Số lượt hiển thị và lựa chọn chương trình khuyến mãi nội bộ.
  • Thêm / xoá sản phẩm khỏi giỏ hàng.
  • Bắt đầu quy trình thanh toán cho một sản phẩm.
  • Giao dịch mua và hoàn tiền.

Đo lường số lượt hiển thị

Để đo lường lượt hiển thị sản phẩm, hãy đặt giá trị sản phẩm và giá trị lượt hiển thị rồi gửi sản phẩm đó cùng với một lượt truy cập:

id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Search Results"
             impressionSource:@"From Search"];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

Sản phẩm phải có giá trị tên hoặc mã nhận dạng. Tất cả các giá trị khác là không bắt buộc và không cần phải đặt.

Hành động đo lường

Hành động được đo lường bằng cách đặt giá trị sản phẩm, sau đó đặt giá trị hành động đối với sản phẩm để chỉ định hành động đang được thực hiện.

Ví dụ: Mã sau đây đo lường lựa chọn sản phẩm hiển thị trong danh sách kết quả tìm kiếm:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setCustomDimension:1 value:@"Member"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAClick];
[action setProductActionList:@"Search Results"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"My Impression Screen"];
[tracker send:[builder build]];

Sản phẩm phải có giá trị tên hoặc mã nhận dạng. Tất cả các giá trị khác là không bắt buộc và không cần phải đặt.

Kết hợp lượt hiển thị và hành động

Trong trường hợp bạn có cả lượt hiển thị sản phẩm và hành động, bạn có thể kết hợp và đo lường chỉ số này trong một lần truy cập duy nhất.

Ví dụ bên dưới cho biết cách đo lường chế độ xem chi tiết sản phẩm bằng mục sản phẩm có liên quan:

// The product from the related products section.
id tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12346"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"White"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];

// Sets the product impression for the next available slot, starting with 1.
[builder addProductImpression:product
               impressionList:@"Related Products"
             impressionSource:@"From Related"];

// The product being viewed.
product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPADetail];
[builder setProductAction:action];
// Sets the product for the next available slot, starting with 1.
[builder addProduct:product];
[tracker set:kGAIScreenName value:@"Related Products Screen"];
[tracker send:[builder build]];

Đo lường giao dịch

Đo lường một giao dịch bằng cách đặt giá trị sản phẩm, sau đó đặt giá trị hành động đối với sản phẩm để chỉ định hành động mua. Thông tin chi tiết ở cấp giao dịch như tổng doanh thu, thuế và thông tin vận chuyển được thiết lập bằng các giá trị của hành động liên quan đến sản phẩm.

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Purchase"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPAPurchase];
[action setTransactionId:@"T12345"];
[action setAffiliation:@"Google Store - Online"];
[action setRevenue:@37.39];
[action setTax:@2.85];
[action setShipping:@5.34];
[action setCouponCode:@"SUMMER2013"];
[builder setProductAction:action];

// Sets the product for the next available slot, starting with 1
[builder addProduct:product];
[tracker send:[builder build]];

Chỉ định đơn vị tiền tệ

Theo mặc định, bạn có thể định cấu hình một đơn vị tiền tệ chung, chung cho tất cả các giao dịch và mục thông qua giao diện web quản lý Google Analytics.

Bạn phải chỉ định nội tệ theo tiêu chuẩn ISO 4217. Hãy đọc tài liệu Tài liệu tham khảo về mã đơn vị tiền tệ để biết danh sách đầy đủ các loại tiền tệ được hỗ trợ.

Bạn có thể chỉ định nội tệ bằng cách đặt giá trị mã đơn vị tiền tệ trên công cụ theo dõi. Ví dụ: trình theo dõi này sẽ gửi giá trị đơn vị tiền tệ dưới dạng Euro:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTracker"];
[tracker set:kGAIScreenName value:@"transaction"];
[tracker set:kGAICurrencyCode value:@"EUR"]; // Set tracker currency to Euros.
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createScreenView];
[tracker send:[builder build]];

Đo lường số tiền hoàn lại

Để hoàn tiền toàn bộ giao dịch, hãy đặt giá trị hành động đối với sản phẩm để chỉ định mã giao dịch và loại thao tác hoàn tiền:

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];
[builder setProductAction:action];
[tracker send:[builder build]];

Nếu không tìm thấy giao dịch trùng khớp, khoản tiền hoàn lại sẽ không được xử lý.

Để đo lường khoản hoàn tiền một phần, hãy đặt giá trị hành động đối với sản phẩm để chỉ định mã giao dịch, (các) mã sản phẩm và số lượng sản phẩm cần hoàn tiền:

// Refund a single product.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"]; // Product ID is required for partial refund.
[product setQuantity:@1]; // Quanity is required for partial refund.
[builder addProduct:product];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"]; // Transaction ID is required for partial refund.
[builder setProductAction:action];
[tracker send:[builder build]];

Sử dụng các sự kiện không tương tác để hoàn tiền

Nếu cần gửi dữ liệu hoàn tiền bằng một sự kiện và sự kiện đó không thuộc hành vi được đo lường bình thường của người dùng (tức là không do người dùng thực hiện), thì bạn nên gửi sự kiện không tương tác. Nhờ đó, sự kiện sẽ không ảnh hưởng đến một số chỉ số nhất định. Ví dụ:

// Refund an entire transaction.
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Refund"
                                                                        label:nil
                                                                        value:nil];

[builder set:@"1" forKey:kGAINonInteraction];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPARefund];
[action setTransactionId:@"T12345"];

[builder setProductAction:action];
[tracker send:[builder build]];

Đo lường quy trình thanh toán

Cách đo lường từng bước trong quy trình thanh toán:

  1. Thêm mã theo dõi để đo lường từng bước của quy trình thanh toán.
  2. Nếu có thể, hãy thêm mã theo dõi để đo lường các lựa chọn thanh toán.
  3. Nếu muốn, hãy đặt tên bước thân thiện với người dùng cho báo cáo phễu thanh toán bằng cách định cấu hình Cài đặt thương mại điện tử trong phần quản trị của giao diện web.

1. Đo lường các bước thanh toán

Đối với mỗi bước trong quy trình thanh toán, bạn cần phải triển khai mã theo dõi tương ứng để gửi dữ liệu đến Google Analytics.

Step Trường

Đối với mỗi bước thanh toán mà bạn đo lường, bạn nên thêm giá trị step. Giá trị này được dùng để liên kết các hành động thanh toán với các nhãn mà bạn đã định cấu hình cho từng bước trong phần Cài đặt thương mại điện tử.

Option Trường

Nếu có thêm thông tin về bước thanh toán nhất định tại thời điểm bước đó được đo lường, bạn có thể đặt trường tuỳ chọn thanh toán bằng thao tác thanh toán để thu thập thông tin này. Ví dụ: loại thanh toán mặc định cho người dùng (ví dụ: "Visa").

Đo lường bước thanh toán

Để đo lường một bước thanh toán, hãy đặt giá trị sản phẩm, sau đó đặt giá trị cho hành động thanh toán đối với sản phẩm để biểu thị một hành động thanh toán. Nếu được, bạn cũng có thể đặt bước thanh toán và giá trị của tuỳ chọn thanh toán với quy trình thanh toán.

Ví dụ sau đây cho biết cách đo lường bước đầu tiên của quy trình thanh toán, với một sản phẩm duy nhất và một số thông tin bổ sung về loại hình thanh toán:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init];
[product setId:@"P12345"];
[product setName:@"Android Warhol T-Shirt"];
[product setCategory:@"Apparel/T-Shirts"];
[product setBrand:@"Google"];
[product setVariant:@"Black"];
[product setPrice:@29.20];
[product setCouponCode:@"APPARELSALE"];
[product setQuantity:@1];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Checkout"
                                                                        label:nil
                                                                        value:nil];

// Add the step number and additional info about the checkout to the action.
GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckout];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Visa"];

[builder addProduct:product];
[builder setProductAction:action];
[tracker send:[builder build]];

2. Đo lường các tuỳ chọn thanh toán

Các tuỳ chọn thanh toán cho phép bạn đo lường thêm thông tin về trạng thái của quy trình thanh toán. Điều này hữu ích trong trường hợp bạn đã đo lường một bước thanh toán nhưng thông tin bổ sung về cùng một bước thanh toán đó sẽ xuất hiện sau khi bạn đặt tuỳ chọn do người dùng chọn. Ví dụ: người dùng chọn một phương thức vận chuyển.

Để đo lường một tuỳ chọn thanh toán, hãy đặt giá trị hành động của sản phẩm để cho biết một tuỳ chọn thanh toán, bao gồm số bước và nội dung mô tả tuỳ chọn.

Bạn nên đo lường hành động này sau khi người dùng thực hiện một số hành động để chuyển sang bước tiếp theo trong quy trình thanh toán. Ví dụ:

// (On "Next" button click.)
id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"CheckoutOption"
                                                                        label:nil
                                                                        value:nil];

GAIEcommerceProductAction *action = [[GAIEcommerceProductAction alloc] init];
[action setAction:kGAIPACheckoutOption];
[action setCheckoutStep:@1];
[action setCheckoutOption:@"Fedex"];

[builder setProductAction:action];
[tracker send:[builder build]];
// Advance to next page.

3. Cấu hình phễu thanh toán

Bạn có thể đặt một tên mô tả cho mỗi bước trong quy trình thanh toán để sử dụng trong các báo cáo. Để định cấu hình các tên này, hãy truy cập vào phần Quản trị của Giao diện web Google Analytics, chọn chế độ xem (hồ sơ) và nhấp vào Cài đặt thương mại điện tử. Làm theo hướng dẫn thiết lập Thương mại điện tử để gắn nhãn từng bước thanh toán mà bạn định theo dõi.

Cài đặt thương mại điện tử trong phần Quản trị trên giao diện web
     Google Analytics. Đã bật tính năng Thương mại điện tử và thêm 4 nhãn bước phễu thanh toán: 1. Xem lại giỏ hàng, 2. Thu thập thông tin thanh toán, 3. Xác nhận thông tin mua hàng, 4. Biên nhận
Hình 1: Thiết lập thương mại điện tử – Phễu thanh toán

Đo lường quảng cáo nội bộ

Tính năng thương mại điện tử nâng cao hỗ trợ việc đo lường số lượt hiển thị và lựa chọn về chương trình khuyến mãi nội bộ, chẳng hạn như biểu ngữ hiển thị để quảng bá chương trình giảm giá.

Số lượt hiển thị quảng cáo

Số lượt hiển thị chương trình khuyến mãi nội bộ thường được đo lường bằng lượt xem màn hình ban đầu hoặc một sự kiện bằng cách đặt giá trị khuyến mãi. Ví dụ:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Ecommerce"
                                                                       action:@"Promotion"
                                                                        label:nil
                                                                        value:nil];

[builder addPromotion:promotion];
[tracker send:[builder build]];

Số nhấp chuột vào quảng cáo

Bạn có thể đo lường số lượt nhấp vào chương trình khuyến mãi nội bộ bằng cách sử dụng giá trị khuyến mãi, sau đó đặt giá trị cho hành động đối với sản phẩm để cho biết một lượt nhấp vào chương trình khuyến mãi. Ví dụ:

id<GAITracker> tracker = [[GAI sharedInstance] trackerWithTrackingId:@"MyTrackingId"];
GAIEcommercePromotion *promotion = [[GAIEcommercePromotion alloc] init];
[promotion setId:@"PROMO_1234"];
[promotion setName:@"Summer Sale"];
[promotion setCreative:@"summer_banner2"];
[promotion setPosition:@"banner_slot1"];

GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"Internal Promotions"
                                                                       action:@"click"
                                                                        label:@"Summer Sale"
                                                                        value:nil];

[builder set:kGAIPromotionClick forKey:kGAIPromotionAction];
[builder addPromotion:promotion];
[tracker send:[builder build]];