Android phiên bản 3 (Cũ) – Thẻ Universal Analytics

Hướng dẫn này mô tả cách triển khai các thẻ Universal Analytics phổ biến bằng cách sử dụng SDK Trình quản lý thẻ của Google cho Android.

  1. Các cấu hình thẻ Universal Analytics (UA) phổ biến
    1. Gửi lượt xem ứng dụng (Lượt xem màn hình)
    2. Gửi sự kiện
    3. Gửi giao dịch thương mại điện tử
      1. Biến lớp dữ liệu thương mại điện tử
    4. Cài đặt mô hình phân bổ liên kết giới thiệu

Cấu hình thẻ Universal Analytics (UA) phổ biến

Việc triển khai Universal Analytics trong ứng dụng của bạn bằng Trình quản lý thẻ của Google sẽ cho phép nhanh chóng thực hiện các thay đổi đối với việc triển khai Google Analytics mà không yêu cầu bạn phải tạo lại và gửi lại tệp nhị phân của ứng dụng cho các trang web thương mại.

Hướng dẫn này trình bày cách thực hiện những việc sau bằng cách sử dụng thẻ Universal Analytics và SDK Trình quản lý thẻ của Google dành cho Android:

Gửi lượt xem ứng dụng (Lượt xem màn hình)

Cách gửi chế độ xem ứng dụng (lượt xem màn hình) đến Google Analytics mỗi khi người dùng mở một màn hình mới trong ứng dụng:

  1. Tạo Macro tên màn hình
  2. Tạo quy tắc OpenScreenEvent
  3. Tạo thẻ Lượt xem ứng dụng UA (Lượt xem màn hình)
  4. Cập nhật mã để đẩy sự kiện và tên màn hình vào Lớp dữ liệu

1. Tạo Macro tên màn hình

Tạo macro Tên màn hình mới bằng cách sử dụng các giá trị cấu hình sau:

Tên macro : screen name
Loại macro : Data Layer Variable
Tên biến lớp dữ liệu : screenName

2. Tạo quy tắc OpenScreenEvent

Tạo một quy tắc mới sẽ được dùng để kích hoạt thẻ lượt xem ứng dụng UA (lượt xem màn hình) mới bằng cách sử dụng các giá trị cấu hình sau:

Tên quy tắc : OpenScreenEvent
Điều kiện: {{ event }} bằng openScreen

3. Tạo thẻ UA Chế độ xem ứng dụng (Lượt xem màn hình)

Tạo một Thẻ UA mới bằng cách sử dụng các giá trị cấu hình sau:

Tên thẻ : Screen Open
Mã theo dõi : Mã thuộc tính của bạn
Loại thẻ : Universal Analytics (beta)
Loại theo dõi : AppView
Cấu hình cơ bản – Tên ứng dụng : {{ app name }}
Cấu hình cơ bản – Phiên bản ứng dụng : {{ app version }}
Cấu hình cơ bản – Tên màn hình : {{ screen name }}}

4. Cập nhật mã để đẩy sự kiện và tên màn hình vào Lớp dữ liệu

Thêm mã vào ứng dụng để đẩy sự kiện openScreen và giá trị screenName vào lớp dữ liệu, như trong ví dụ sau:

// Push an 'openScreen' event to the data layer.
import com.google.tagmanager.DataLayer;
import com.google.tagmanager.TagManager;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

  private static final String SCREEN_NAME = "Home Screen";
  private DataLayer mDataLayer;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate();
  }

  @Override
  public void onStart() {
    super.onStart();
    mDataLayer = TagManager.getInstance(this).getDataLayer();

    // This call assumes the container has already been opened, otherwise events
    // pushed to the DataLayer will not fire tags in that container.
    mDataLayer.push(DataLayer.mapOf("event", "openScreen",        // Event, Name of Open Screen Event.
                                    "screenName", SCREEN_NAME));  // Name of screen name field, Screen name value.
  }
}

Gửi sự kiện

Cách gửi một sự kiện đến Google Analytics khi người dùng tương tác với các chế độ điều khiển trên giao diện người dùng hoặc nội dung trong ứng dụng của bạn:

  1. (Không bắt buộc) Tạo macro sự kiện
  2. Tạo Quy tắc sự kiện
  3. Tạo thẻ sự kiện UA
  4. Cập nhật mã để đẩy sự kiện và mọi giá trị vĩ mô của sự kiện vào Lớp dữ liệu

Dưới đây là các bước minh hoạ cách hoạt động của tính năng này đối với một sự kiện được kích hoạt khi người dùng bắt đầu phát video.

1. (Không bắt buộc) Tạo macro sự kiện

Nếu sự kiện này sử dụng bất kỳ biến lớp dữ liệu nào cho các trường danh mục, hành động, nhãn hoặc giá trị, trước tiên, bạn phải định cấu hình các macro đó trong giao diện. Trong ví dụ này, thẻ sự kiện phát video sẽ dựa vào một biến lớp dữ liệu cung cấp tên của video đã phát.

Để triển khai tên video này, chúng tôi sẽ tạo một Macro mới có các giá trị cấu hình sau:

Tên macro : video name
Loại macro: Data Layer Variable
Tên biến lớp dữ liệu : videoName

2. Tạo quy tắc sự kiện

Tạo một quy tắc khiến thẻ sự kiện kích hoạt khi được đẩy đến lớp dữ liệu. Trong ví dụ về lượt phát video, quy tắc mới đó sẽ có các giá trị cấu hình sau:

Tên quy tắc : VideoPlayEvent
Điều kiện : {{ event }} bằng videoPlay

Tạo thẻ sự kiện UA

Tạo một Thẻ sự kiện UA sẽ kích hoạt khi quy tắc đã tạo trong bước trước có giá trị là true. Trong ví dụ về việc phát video, thẻ đó sẽ có dạng như sau:

Tên thẻ : Video Play Event
Mã theo dõi : Mã thuộc tính của bạn
Loại thẻ : Universal Analytics (beta)
Loại theo dõi : Event
Thông số theo dõi sự kiện – Danh mục : Video
Thông số theo dõi sự kiện – Hành động : Play
Thông số theo dõi sự kiện – Nhãn : {{ video name }}
Cấu hình cơ bản – Tên ứng dụng : {{ app name }}
Cấu hình cơ bản – Phiên bản ứng dụng : {{ app version }}
Cấu hình cơ bản – Tên ứng dụng : {{ app version }}
1{{ screen name }}

Cập nhật mã để đẩy sự kiện lên lớp dữ liệu

Cuối cùng, hãy cập nhật mã của bạn để đẩy vào lớp dữ liệu cả giá trị sự kiện và các biến lớp dữ liệu mà thẻ yêu cầu, khi người dùng hoàn tất quá trình tương tác. Trong ví dụ về phát video, mã đó sẽ trông giống như sau:

//  Push a 'videoPlay' event to the data layer.
import com.google.tagmanager.DataLayer;
import com.google.tagmanager.TagManager;

public class VideoPlayer {

  // Called when a user initiates a video playback.
  public void onPlay(Video v) {
    DataLayer dataLayer = TagManager.getInstance(this).getDataLayer();

    // This call assumes the container has already been opened, otherwise events
    // pushed to the DataLayer will not fire tags in that container.
    dataLayer.push(DataLayer.mapOf("event", "videoPlay",        // Event, Name of Open Screen Event.
                                   "videoName", v.getName());   // Additional data layer variables used by the event tag.
    play(v);
  }

  // Rest of implementation;

}

Gửi giao dịch thương mại điện tử

Cách gửi giao dịch và mọi mục liên kết tới Google Analytics khi người dùng hoàn tất một giao dịch mua hàng trong ứng dụng:

  1. Tạo quy tắc giao dịch
  2. Tạo thẻ giao dịch UA
  3. Cập nhật mã để đẩy sự kiện và dữ liệu giao dịch / mặt hàng lên DataLayer

1. Tạo quy tắc giao dịch

Tiếp theo, hãy tạo một quy tắc mới có các giá trị cấu hình sau:

Tên quy tắc : TransactionCompleted
Điều kiện : {{ event }} bằng transaction

2. Tạo thẻ giao dịch UA

Tạo Thẻ giao dịch UA có các giá trị sau:

Tên thẻ : Transaction Completed
Mã theo dõi : Mã thuộc tính của bạn
Loại thẻ : Universal Analytics (beta)
Loại theo dõi : Transaction
Cấu hình cơ bản – Tên ứng dụng : {{ app name }}
Cấu hình cơ bản – Phiên bản ứng dụng : {{ app version }}
Cấu hình cơ bản – Tên màn hình : {{ screen name }}

3. Cập nhật mã để đẩy sự kiện và dữ liệu giao dịch / mặt hàng lên DataLayer

Cuối cùng, hãy cập nhật mã của bạn để đẩy sự kiện giao dịch cũng như dữ liệu giao dịch và mặt hàng được liên kết vào lớp dữ liệu. Lưu ý rằng bạn phải sử dụng Tên biến lớp dữ liệu được hỗ trợ cho các giao dịch và dữ liệu mặt hàng:

// Called when a user completes a transaction.
public void onPurchaseCompleted(Purchase p) {

  DataLayer dataLayer = TagManager.getInstance(this).getDataLayer();

  // Put maps of item data into an array that will be pushed to the data layer.
  ArrayList<Map<String, String>> purchasedItems = new ArrayList<Map<String, String>>();
  for (Item i : p.items) {
    HashMap<String, String> currentItem = new HashMap<String, String>();

    currentItem.put("name", i.getProductName());
    currentItem.put("sku", i.getProductSku());
    currentItem.put("category", i.getProductCategory());
    currentItem.put("price", i.getProductPrice());
    currentItem.put("currency", "USD");
    currentItem.put("quantity", i.getProductQty());

    purchasedItems.add(currentItem);
  }

  // This call assumes the container has already been opened, otherwise events
  // pushed to the DataLayer will not fire tags in that container.
  dataLayer.push(DataLayer.mapOf("event", "transaction",               // Event, Name of Transaction Event.
                                 "transactionId", p.getTransId(),      // Additional fields required by the tag.
                                 "transactionTotal", p.getTotal(),
                                 "transactionAffiliation", "In-app Store",
                                 "transactionTax", p.getTax(),
                                 "transactionShipping", p.getShippingCost(),
                                 "transactionCurrency", "USD",
                                 "transactionProducts", purchasedItems));

  // Since the data layer is persistent, you should reset fields to null after
  // you are done pushing the transaction.
  dataLayer.push(DataLayer.mapOf("transactionId", null,
                                 "transactionTotal", null,
                                 "transactionAffiliation", null,
                                 "transactionTax", null,
                                 "transactionShipping", null,
                                 "transactionCurrency", null,
                                 "transactionProducts", null));
}

Các biến lớp dữ liệu thương mại điện tử được hỗ trợ

Thẻ Giao dịch UA hỗ trợ các biến lớp dữ liệu sau:

Biến giao dịch

Tên biến Nội dung mô tả Loại Bắt buộc
transactionId Mã nhận dạng giao dịch duy nhất string
transactionAffiliation Đối tác hoặc cửa hàng string Không
transactionTotal Tổng giá trị giao dịch string Không
transactionTax Số tiền thuế đối với giao dịch string Không
transactionShipping Phí vận chuyển cho giao dịch string Không
transactionCurrency Đơn vị tiền tệ của giao dịch string Không
transactionProducts Danh sách mặt hàng đã mua trong giao dịch một mảng bản đồ chứa các biến mục. Không

Biến mặt hàng

Tên biến Nội dung mô tả Loại Bắt buộc
name Tên sản phẩm string
sku SKU của sản phẩm string Không
category Danh mục sản phẩm string Không
price Giá sản phẩm string Không
currency Loại đơn vị tiền tệ của price string Không
quantity Số lượng mặt hàng string Không

Cài đặt phân bổ Referrer

Khi có sẵn, dữ liệu liên kết giới thiệu cài đặt sẽ tự động được đưa vào mọi lượt truy cập Google Analytics hoặc yêu cầu pixel tái tiếp thị trên Google Ads khi dịch vụ và bộ nhận sau đây được đăng ký trong tệp AndroidManifest.xml:

<!-- Used for install referrer tracking -->
<service android:name="com.google.tagmanager.InstallReferrerService" />
<receiver android:name="com.google.tagmanager.InstallReferrerReceiver" android:exported="true">
  <intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
  </intent-filter>
</receiver>