1. Giới thiệu
Lần cập nhật gần đây nhất: ngày 8 tháng 6 năm 2021
Sản phẩm bạn sẽ tạo ra
Trong lớp học lập trình này, bạn sẽ tìm hiểu cách gửi các sự kiện bên ngoài đến GA4 bằng Measurement Protocol.
Lớp học lập trình này giả định rằng bạn đã triển khai một Ứng dụng có Google Analytics cho Firebase. Nếu bạn muốn tìm hiểu cách tích hợp với Google Analytics cho Firebase, trước tiên, vui lòng tham khảo lớp học lập trình này. Nếu bạn muốn tìm hiểu cách tạo ứng dụng bằng Firebase, vui lòng tham khảo Lớp học lập trình Firebase Android – Tạo ứng dụng trò chuyện thân thiện.
Kiến thức bạn sẽ học được
- Các bước để thực hiện lệnh gọi đầu tiên của bạn trong Measurement Protocol
- Hiểu rõ những tham số bắt buộc phải có cho lệnh gọi
- Gửi và xác thực lệnh gọi thử nghiệm của bạn
- Tạo một tập lệnh mẫu bằng Python để thực hiện cuộc gọi
Bạn cần
- Ứng dụng Android hoặc iOS của bạn
- Mọi IDE để thực hiện thay đổi
- Tài khoản GA4
- Không bắt buộc – Môi trường phát triển Python (hoặc Colab)
2. Thu thập các trường bắt buộc
Tạo mã thông báo bí mật cho API trong GA4
Chuyển đến GA4 rồi tạo khoá bí mật mới cho API bằng cách chuyển đến mục Quản trị > Luồng dữ liệu > chọn luồng của bạn > Measurement Protocol > Tạo
Bạn có thể cung cấp biệt hiệu bất kỳ và giá trị bí mật sẽ xuất hiện. Bạn có thể sử dụng giá trị này trong lệnh gọi
Trong trường hợp không biết cách truy cập vào GA4, bạn có thể truy cập vào Dự án Firebase, kiểm tra phần Cài đặt dự án > Tích hợp > Google Analytics, rồi nhấp vào "Quản lý". Mối kết nối Google Analytics sẽ xuất hiện và bạn cũng có thể chuyển đến đó ngay
Thu thập app_instance_id
Bạn có thể sử dụng bất kỳ phương thức nào dưới đây để thu thập app_instance_id.
- Sử dụng BigQuery Export
- Tìm nạp một cách tự nhiên trong mã nguồn ứng dụng
Cả hai điều này đều được giải thích chi tiết bên dưới
- Sử dụng BigQuery Export
Nếu đã bật tính năng BigQuery Export , bạn có thể làm theo các bước bên dưới
- Đăng nhập vào Firebase
- Chuyển đến phần Cài đặt dự án > Tích hợp > BigQuery
- Nhấp vào "Xem trong BigQuery" gần tập dữ liệu
Lưu ý : Tập dữ liệu sẽ chỉ có sẵn sau khi bạn bật nút bật/tắt này khoảng 24 đến 48 giờ
- Trong BigQuery, bạn có thể kiểm tra user_pseudo_id trong bảng. Đây là app_instance_id mà bạn có thể dùng trong cuộc gọi
- Tìm nạp một cách tự nhiên trong mã nguồn ứng dụng
Nếu ứng dụng của bạn được tạo bằng Java, bạn có thể dùng một đoạn mã như sau để truy xuất app_instance_id
FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (task.isSuccessful()) {
String user_pseudo_id = task.getResult();
}
}
});
Đối với Kotlin, bạn có thể thử các cách dưới đây
Thread {
Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
/*
Store the value to your server or do something with the retrieved id
*/
}
}.start()
Nếu có một ứng dụng iOS, bạn có thể dùng những nội dung sau trong Swift
let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/
Dưới đây là các đường liên kết khác tuỳ thuộc vào cơ sở hạ tầng của bạn
3. Tạo cuộc gọi
Bạn có thể tạo một lệnh gọi mẫu bằng Trình tạo sự kiện trong GA4. (Bạn đăng nhập và bật cookie để thực hiện việc này). Đảm bảo rằng nút bật/tắt được đặt thành "firebase"
Bạn cần điền vào các trường sau
- api_secret – Đã được tạo trước đó trên GA4
- firebase_app_id – Để lấy thông tin này, bạn có thể chuyển đến mục Quản trị > Luồng dữ liệu > chọn luồng của bạn . Nội dung này sẽ xuất hiện như bên dưới
- app_instance_id – Bạn đã truy xuất giá trị này
- user_id không bắt buộc. Bạn có thể để trống trường này
- Danh mục – thay đổi danh mục này thành "Tuỳ chỉnh" trong trình đơn thả xuống và nhập tên sự kiện bất kỳ mà bạn chọn (không sử dụng bất kỳ sự kiện được thu thập tự động nào). Ở đây, chúng ta đang sử dụng "test_from_codelab"
Bạn cũng có thể chọn cung cấp thông số sự kiện và/hoặc thuộc tính người dùng bằng cách nhấp vào các nút bên dưới (không bắt buộc)
Sau khi điền đầy đủ thông tin, bạn sẽ thấy một giao diện như thế này, có nút "Xác thực sự kiện"
Sau khi bạn đạt đến bước này, hãy nhấp vào "XÁC THỰC SỰ KIỆN" (nút được đánh dấu màu cam). Thông báo dưới đây sẽ xuất hiện, cho biết sự kiện này hợp lệ và bạn sẽ thấy nút "GỬI ĐẾN GA". Tại thời điểm này, nếu sự kiện xuất hiện dưới dạng không hợp lệ, công cụ sẽ cho bạn biết chính xác trường có vấn đề, bạn có thể khắc phục vấn đề đó và thử lại
Giờ đây, bạn có thể nhấp vào nút này và nút này sẽ gửi một sự kiện kiểm thử đến GA4
4. Xác thực sự kiện trong GA4
Sau khi gửi sự kiện, bạn có thể chuyển đến tài khoản GA4 và kiểm tra báo cáo Theo thời gian thực. Bạn sẽ thấy sự kiện xuất hiện
Có thể mất khoảng 24 giờ để các sự kiện truyền từ chế độ xem theo thời gian thực sang thẻ báo cáo sự kiện thực tế, vì vậy, bạn không cần lo lắng nếu không thấy sự kiện này ngay lập tức trong báo cáo sự kiện thông thường!
Nếu đang gặp vấn đề hoặc có sự khác biệt, bạn nên xem các giới hạn đã biết của Measurement Protocol tại đây
5. Tạo tập lệnh Python
Giờ đây, sau khi thử nghiệm, bạn có thể kiểm tra lệnh gọi API và tải trọng sự kiện để tạo một cấu trúc tương tự bằng Python (hoặc bằng bất kỳ ngôn ngữ nào bạn chọn) có thể thực hiện lệnh gọi này. Sau đó, bạn có thể lên lịch cho việc này theo tần suất mong muốn và đưa vào hoạt động. Đối với phần này, bạn có thể sử dụng bất kỳ IDE nào mà bạn chọn có hỗ trợ Python hoặc chỉ cần sử dụng sổ tay Google Colab mà không cần cài đặt trên thiết bị của bạn
Quay lại Trình tạo sự kiện GA4, bạn sẽ thấy rằng điểm cuối có dạng như sau
POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX
HTTP/1.1
Host: www.google-analytics.com
Phần tải sự kiện như bên dưới
{
"app_instance_id": XXXX,
"non_personalized_ads": false,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
Bạn có thể dịch nội dung này sang Python bằng cách sử dụng một đoạn mã như sau
import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
"app_instance_id": XXXX,
"non_personalized_ads": False,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)
Sau khi thực thi lệnh này với các giá trị phù hợp, bạn cũng sẽ thấy sự kiện được phản ánh theo thời gian thực trong GA4.
6. Xin chúc mừng
Chúc mừng bạn đã sử dụng thành công Measurement Protocol trong GA4. Giờ đây, bạn có thể xây dựng các cấu trúc giải pháp mạnh mẽ để gửi dữ liệu có ý nghĩa hơn đến Google Analytics và cải thiện hoạt động phân tích tiếp thị và kinh doanh của mình. Để tận dụng tối đa tính năng này, bạn cũng nên kết nối với Google Ads và nhập những sự kiện này dưới dạng lượt chuyển đổi. Bạn có thể tham khảo bước 6 trong lớp học lập trình này để biết hướng dẫn chi tiết về bước đó. Để theo dõi lượt chuyển đổi, Google Ads sẽ chỉ hiển thị dữ liệu được liên kết với IDFA hoặc mã nhận dạng thiết bị mà Firebase SDK thu thập được trong vòng 60 ngày qua. Xin lưu ý rằng đây vẫn là một API alpha và hãy nhớ xem các giới hạn được liệt kê tại đây . Bạn cần giải quyết các giới hạn này trước khi ra mắt chính thức
Kiến thức bạn học được
- Cách thu thập các biến số phù hợp để thực hiện các lệnh gọi MP
- Cách gửi và xác thực sự kiện kiểm thử
- Cách tạo tập lệnh để gửi cuộc gọi MP