iOS phiên bản 3 – Thương mại điện tử nâng cao

Hướng dẫn này mô tả cách triển khai các tính năng Thương mại điện tử nâng cao của Universal Analytics bằng cách sử dụng SDK Trình quản lý thẻ của Google dành cho iOS.

Tổng quan

Tính năng Thương mại điện tử nâng cao của Google Analytics cho phép gửi dữ liệu về doanh số, chương trình khuyến mãi và lượt hiển thị sản phẩm cùng với mọi sự kiện và lượt xem màn hình Google Analytics.

Trước khi bạn bắt đầu

Bạn nên xem mục Các thao tác và loại dữ liệu thương mại điện tử nâng cao trong Hướng dẫn cho nhà phát triển thương mại điện tử nâng cao (Web) của Google Analytics để lập kế hoạch triển khai. Hướng dẫn này sẽ giúp bạn hiểu được những trường bắt buộc và không bắt buộc cho mỗi lượt tương tác thương mại điện tử mà bạn muốn đo lường.

Triển khai

Các phần sau đây sẽ trình bày cách sử dụng lớp dữ liệu để đo lường các hoạt động thương mại điện tử nâng cao sau đây:

Đo lường số lượt hiển thị sản phẩm

  • Đo lường thương mại điện tử: impressions
  • Chấp nhận dữ liệu: mảng impressionFieldObjects

Đo lường số lượt hiển thị sản phẩm bằng hành động impression và một hoặc nhiều impressionFieldObjects. Ví dụ sau giả định các thông tin chi tiết về các sản phẩm hiển thị được xác định tại thời điểm màn hình hiển thị:

// Product impressions are sent by pushing an impressions object
// containing one or more impressionFieldObjects.
[dataLayer push:@{@"ecommerce": @{
                    @"currencyCode": @"EUR",                      // Local currency is optional.
                    @"impressions": @[
                      @{@"name": @"Triblend Android T-Shirt",     // Name or ID is required.
                        @"id": @"12345",
                        @"price": @"15.25",
                        @"brand": @"Google",
                        @"category": @"Apparel",
                        @"variant": @"Gray",
                        @"list": @"Search Results",
                        @"position": @1},
                      @{@"name": @"Donut Friday Scented T-Shirt",
                        @"id": @"67890",
                        @"price": @"33.75",
                        @"brand": @"Google",
                        @"category": @"Apparel",
                        @"variant": @"Black",
                        @"list": @"Search Results",
                        @"position": @2}]}}];

Đo lường số lượt nhấp/lựa chọn sản phẩm

  • Đo lường thương mại điện tử: click
  • Chấp nhận dữ liệu: list, mảng productFieldObjects

Đo lường các lựa chọn sản phẩm bằng cách đẩy hành động click vào lớp dữ liệu, cùng với productFieldObject để biểu thị sản phẩm đã chọn:

[dataLayer push:@{@"event": @"productClick",
                  @"ecommerce": @{
                    @"click": @{
                      @"actionField": @{
                        @"list": @"Search Results"},              // Optional list property.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",   // Name or ID is required.
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray"}]}}}];

Đo lường số lượt xem chi tiết sản phẩm

  • Đo lường thương mại điện tử: detail
  • Chấp nhận dữ liệu: list, mảng productFieldObjects

Đo lường chế độ xem chi tiết sản phẩm bằng cách đẩy hành động detail vào lớp dữ liệu, cùng với một hoặc nhiều productFieldObjects biểu thị sản phẩm đang được xem:

// Measure a view of product details.
[dataLayer push:@{@"ecommerce": @{
                    @"detail": @{
                      @"actionField": @{
                        @"list": @"Apparel Gallery"},             // 'detail' actions have an optional list property.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",   // Name or ID is required.
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray"}]}}}];

Đo lường lượt thêm hoặc xoá khỏi giỏ hàng

  • Đo lường thương mại điện tử: add, remove
  • Chấp nhận dữ liệu: list, mảng productFieldObjects

Đo lường các lượt thêm hoặc bỏ khỏi giỏ hàng bằng cách sử dụng add hoặc remove actionFieldObject và danh sách productFieldObjects:

Thêm sản phẩm vào giỏ hàng

// Measure adding a product to a shopping cart by using an "add"
// actionFieldObject and a list of productFieldObjects.
[dataLayer push:@{@"event": @"addToCart",
                  @"ecommerce": @{
                    @"currencyCode": @"EUR",
                    @"add": @{                                  // 'add' actionFieldObject measures.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray",
                          @"quantity": @1}]}}}];

Xoá sản phẩm khỏi giỏ hàng

// Measure the removal of a product from a shopping cart.
[dataLayer push:@{@"event": @"removeFromCart",
                  @"ecommerce": @{
                    @"remove": @{                               // 'remove' actionFieldObject measures.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray",
                          @"quantity": @1}]}}}];

Đo lường quảng cáo

Bạn có thể đo lường cả lượt hiển thị và lựa chọn trong các chương trình quảng bá ứng dụng nội bộ, chẳng hạn như biểu ngữ xuất hiện trong ứng dụng để quảng cáo ưu đãi giảm giá cho một số sản phẩm cụ thể hoặc ưu đãi vận chuyển miễn phí.

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

  • Đo lường thương mại điện tử: promoView
  • Chấp nhận dữ liệu: mảng promoFieldObjects

Để đo lường một lượt hiển thị chương trình khuyến mãi, hãy đặt khoá promoView trong lớp dữ liệu thương mại điện tử thành promoFieldObject. Mã này mô tả các chương trình khuyến mãi hiển thị cho người dùng trên màn hình:

// An example of measuring promotion views. This example assumes that
// information about the promotions displayed is available when the screen is
// displayed.
[dataLayer push:@{@"ecommerce": @{
                    @"promoView": @{
                      @"promotions": @[                     // Array of promoFieldObjects.
                        @{@"id": @"JUNE_PROMO13",           // ID or Name is required.
                          @"name": @"June Sale",
                          @"creative": @"banner1",
                          @"position": @"slot1"},
                        @{@"id": @"FREE_SHIP13",
                          @"name": @"Free Shipping Promo",
                          @"creative": @"skyscraper1",
                          @"position": @"slot2"}]}}}];

Đo lường số lượt nhấp/lựa chọn khuyến mãi

Để đo lường một chương trình khuyến mãi đã chọn, hãy đẩy hành động promoClick vào lớp dữ liệu bằng một mảng có chứa promoFieldObject mô tả chương trình khuyến mãi đã chọn:

[dataLayer push:@{@"event": @"promotionClick",
                  @"ecommerce": @{
                    @"promoClick": @{
                      @"promotions": @[
                        @{@"id":  @"JUNE_PROMO13",          // Name or ID is required.
                          @"name": @"June Sale",
                          @"creative": @"banner1",
                          @"position": @"slot1"}]}}}];

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

Để đo lường từng bước trong quy trình thanh toán, bạn cần:

  1. Đo lường từng bước của quy trình thanh toán bằng hành động checkout.
  2. Nếu có thể, hãy đo lường các lựa chọn thanh toán bằng hành động checkout_option.
  3. Nếu muốn, bạn có thể đặ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 mục Quản trị của giao diện web.

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

  • Đo lường thương mại điện tử: checkout
  • Chấp nhận dữ liệu: step, mảng productFieldObjects

Để đo lường quy trình thanh toán (có thể bao gồm nút thanh toán và một hoặc nhiều màn hình thanh toán nơi người dùng nhập thông tin vận chuyển và thanh toán), hãy sử dụng thao tác checkout và trường step để cho biết giai đoạn nào của quy trình thanh toán đang được đo lường. Bạn cũng có thể sử dụng trường option để cung cấp một phần dữ liệu bổ sung về quy trình thanh toán, chẳng hạn như loại hình thanh toán mà người dùng đã chọn.

[dataLayer push:@{@"event": @"checkout",
                  @"ecommerce": @{
                    @"checkout": @{
                      @"actionField": @{
                        @"step": @1,
                        @"option": @"Visa"},
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray",
                          @"quantity": @1}]}}}];

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

  • Đo lường thương mại điện tử: checkout_option
  • Chấp nhận dữ liệu: step, option

Tuỳ chọn thanh toán sẽ hữu ích trong trường hợp bạn đã đo lường một bước thanh toán nhưng muốn thu thập thêm thông tin về cùng một bước thanh toán. Ví dụ: phương thức vận chuyển do người dùng chọn. Để đo lường điều này, hãy sử dụng thao tác checkout_option cùng với các trường stepoption.

[dataLayer push:@{@"event": @"checkoutOption",
                  @"ecommerce": @{
                    @"checkout_option": @{
                      @"actionField": @{
                        @"step": @1,
                        @"option": @"Express"}}}}];

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

Bạn có thể đặt một tên mang tính mô tả cho từng bước trong quy trình thanh toán và sẽ dùng tên này trong các báo cáo (không bắt buộc). Để định cấu hình những 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.

Thiết lập nền tảng thương mại điện tử trong giao diện quản trị của Google Analytics. Phễu
         thanh toán được xác định bằng 4 bước: 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 giao dịch mua hàng

  • Đo lường thương mại điện tử: purchase
  • Chấp nhận dữ liệu: id (Mã giao dịch), mảng productFieldObjects

Đẩy thông tin giao dịch của bạn vào lớp dữ liệu bằng thao tác purchase cùng với event sẽ kích hoạt thẻ đã bật tính năng thương mại điện tử nâng cao. Trong ví dụ này, thông tin giao dịch được xác định tại thời điểm màn hình hiển thị:

// Send transaction data with a screenview if possible.
// Otherwise, use an event when the transaction data becomes available.
[dataLayer push:@{@"ecommerce": @{
                    @"purchase": @{
                      @"actionField": @{
                        @"id": @"T12345",                         // Transaction ID. Required for purchases and refunds.
                        @"affiliation": @"Online Store",
                        @"revenue": @"35.43",                     // Total transaction value (incl. tax and shipping)
                        @"tax":"4.90",
                        @"shipping": @"5.99",
                        @"coupon": @"SUMMER_SALE"},
                      @"products": @[                             // List of productFieldObjects.
                        @{@"name": @"Triblend Android T-Shirt",   // Name or ID is required.
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray",
                          @"quantity": @1,
                          @"coupon": @""},                        // Optional fields may be omitted or set to empty string.
                        @{@"name": @"Donut Friday Scented T-Shirt",
                          @"id": @"67890",
                          @"price": @"33.75",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Black",
                          @"quantity": @1}]}}}];

Đo lường khoản tiền hoàn lại

  • Đo lường thương mại điện tử: refund
  • Chấp nhận dữ liệu: id (Mã giao dịch), mảng productFieldObjects

Để đo lường khoản tiền hoàn lại toàn bộ của một giao dịch, hãy đẩy refund actionFieldObject cùng với mã giao dịch của giao dịch được hoàn tiền:

// Refund an entire transaction by providing the transaction ID. This example
// assumes the details of the completed refund are available when the screen
// is displayed:
[dataLayer push:@{@"ecommerce": @{
                    @"refund": @{
                      @"actionField": @{
                        @"id": @"T12345"}}}}];  // Transaction ID. Required for refunds.

Để đo lường giao dịch hoàn tiền một phần, hãy thêm danh sách productFieldObjects, bao gồm cả mã sản phẩm và số lượng sản phẩm cần hoàn tiền:

// Measure a partial refund by providing an array of productFieldObjects and
// specifying the ID and quantity of each product being returned. This example
// assumes the partial refund details are known at the time the screen is
// displayed:
[dataLayer push:@{@"ecommerce": @{
                    @"refund": @{
                      @"actionField": @{
                        @"id": @"T12345"},      // Transaction ID.
                      @"products": @[
                        @{@"id": @"P4567",
                          @"quantity": @1},     // Product ID & quantity. Required for partial refunds.
                        @{@"id": @"P8901",
                          @"quantity": @2}]}}}];

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ượt truy cập duy nhất.

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

[dataLayer push:@{@"ecommerce": @{
                    @"impressions": @[
                      @{@"name": @"Triblend Android T-Shirt",       // Name or ID is required.
                        @"id": @"12345",
                        @"price": @"15.25",
                        @"brand": @"Google",
                        @"category": @"Apparel",
                        @"variant": @"Gray",
                        @"list": @"Related Products",
                        @"position": @1},
                      @{@"name": @"Donut Friday Scented T-Shirt",
                        @"id": @"67890",
                        @"price": @"33.75",
                        @"brand": @"Google",
                        @"category": @"Apparel",
                        @"variant": @"Black",
                        @"list": @"Related Products",
                        @"position": @2}],
                    @"detail": @{
                      @"actionField": @{
                        @"list": @"Apparel Gallery"},               // 'detail' actions have an optional list property.
                      @"products": @[
                        @{@"name": @"Triblend Android T-Shirt",     // Name or ID is required.
                          @"id": @"12345",
                          @"price": @"15.25",
                          @"brand": @"Google",
                          @"category": @"Apparel",
                          @"variant": @"Gray"}]}}}];