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.
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:
- Tạo Macro tên màn hình
- Tạo quy tắc OpenScreenEvent
- Tạo thẻ Lượt xem ứng dụng UA (Lượt xem màn hình)
- 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:
- (Không bắt buộc) Tạo macro sự kiện
- Tạo Quy tắc sự kiện
- Tạo thẻ sự kiện UA
- 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:
- Tạo quy tắc giao dịch
- Tạo thẻ giao dịch UA
- 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 | Có |
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 | Có |
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>