Gửi sự kiện trong ứng dụng tới GA4 bằng Giao thức đo lường

1. Giới thiệu

Cập nhật lần cuối: 2021-06-08

Những gì bạn sẽ xây dựng

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 tới GA4 bằng Giao thức đo lường .

Lớp học lập trình này giả định rằng bạn đã triển khai Ứng dụng 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 hãy 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 xây dựng một ứng dụng với Firebase, vui lòng tham khảo Trò chuyện thân thiện với Android Codelab-Build của Firebase .

Bạn sẽ học được gì

  • Các bước để thực hiện cuộc gọi MP đầu tiên của bạn
  • Hiểu các tham số cần thiết cho cuộc gọi
  • Gửi và xác thực cuộc gọi thử nghiệm của bạn
  • Xây dựng tập lệnh mẫu bằng Python để thực hiện cuộc gọi

Những gì bạn cần

  • Ứng dụng Android hoặc iOS của bạn
  • Bất kỳ IDE nào để thực hiện thay đổi
  • Tài khoản GA4
  • Tùy chọn - 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 API bí mật trong GA4

Chuyển đến GA4 và tạo mã bí mật API mới bằng cách chuyển đến Quản trị > Luồng dữ liệu > chọn luồng của bạn > Giao thức đo lường > Tạo

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

Bạn có thể cung cấp bất kỳ biệt hiệu nào và giá trị bí mật sẽ được hiển thị mà bạn có thể sử dụng trong cuộc gọi của mình

Trong trường hợp không chắc chắn về cách truy cập GA4, bạn có thể truy cập Dự án Firebase của mình, kiểm tra Cài đặt dự án > Tích hợp > Google Analytics và nhấp vào "Quản lý". Kết nối Google Analytics sẽ hiển thị và bạn cũng có thể điều hướng trực tiếp từ đó

73b4d77a57eddfba.png

Thu thập app_instance_id

Bạn có thể sử dụng bất kỳ phương pháp nào dưới đây để thu thập app_instance_id của mình.

  1. Sử dụng BigQuery Xuất
  2. Tìm nạp tự nhiên trong mã nguồn ứng dụng của bạn

Cả hai điều này đều được giải thích chi tiết dưới đây

  1. Sử dụng BigQuery Xuất

Nếu đã bật tính năng xuất BigQuery , bạn có thể làm theo các bước dưới đây

  • Đăng nhập vào căn cứ hỏa lực
  • Điều hướng đế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ỉ khả dụng sau khi bật nút chuyển đổi trong khoảng 24-48 giờ

63d061088b622961.png

  • 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ể sử dụng trong cuộc gọi của mình

4b1b80bdc2884581.png

  1. Tìm nạp tự nhiên trong mã nguồn ứng dụng của bạn

Nếu ứng dụng của bạn được xây dựng bằng Java, bạn có thể sử dụng thứ gì đó như thế này để 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á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 bạn có Ứng dụng iOS, bạn có thể sử dụng ứng dụng 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à nhiều liên kết hơn tùy thuộc vào cơ sở hạ tầng của bạn

3. Xây dựng cuộc gọi

Bạn có thể tạo cuộc gọi mẫu bằng Trình tạo sự kiện trong GA4. (Điều này yêu cầu bạn phải đăng nhập và bật cookie). Đảm bảo nút chuyển đổi được đặt thành "firebase"

fd78d961f3e48238.png

Bạn sẽ cần phải điền vào các trường sau

  • api_secret - Đã được tạo trước đó trên GA4
  • firebase_app_id - Để có được điều này, bạn có thể điều hướng tới Quản trị viên > Luồng dữ liệu > chọn luồng của bạn . Nó sẽ được hiển thị như dưới đây

19801c8e5cb29222.png

  • app_instance_id - Bạn đã truy xuất giá trị này
  • user_id là không bắt buộc. Hiện tại bạn có thể để trống
  • Danh mục - thay đổi tên này thành "Tùy chỉnh" từ danh sách thả xuống và đặt bất kỳ tên sự kiện nào 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 tôi đang sử dụng "test_from_codelab"

54cce53df64d697.png

Theo tùy chọn, 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

16a8f531a3894021.png

Khi bạn đã điền mọi thứ, bạn sẽ thấy một cái gì đó như thế này, với nút "Xác thực sự kiện"

475801f25c3caf26.png

Khi bạn đạt được điều này, hãy nhấp vào "XÁC NHẬN SỰ KIỆN", nút được tô sáng màu cam. Nó sẽ hiển thị thông báo bên dưới, xác định rằng sự kiện là 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 trường chính xác có vấn đề và bạn có thể sửa lỗi đó rồi thử lại

23e4e6800705b4aa.png

Bây giờ, bạn có thể nhấp vào nút và nút này sẽ gửi một sự kiện thử nghiệm tới GA4

4. Xác thực cá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 của mình và kiểm tra Thời gian thực. Bạn sẽ thấy sự kiện diễn ra

994b51ca46bb1973.png

Có thể mất khoảng 24 giờ để các sự kiện truyền từ chế độ xem thời gian thực sang tab báo cáo sự kiện thực tế, vì vậy, bạn không cần phải lo lắng nếu bạn không thấy điều này trong báo cáo sự kiện thông thường ngay lập tức!

Nếu bạn đang gặp phải vấn đề hoặc có sự khác biệt, bạn nên kiểm tra các hạn chế đã biết của Measure Protocol tại đây

5. Xây dựng tập lệnh Python

Bây giờ bạn đã kiểm tra xong, bạn có thể kiểm tra lệnh gọi API và tải trọng sự kiện để xây dựng kiến ​​trúc tương tự trong 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 việc này theo tần suất mong muốn và vận hành nó. Đối với phần này, bạn có thể sử dụng bất kỳ IDE nào bạn chọn hỗ trợ Python hoặc chỉ sử dụng sổ ghi chép Google Colab không yêu cầu bất kỳ cài đặt nào 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 điểm cuối như sau

POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

Tải trọng sự kiện như sau

{
  "app_instance_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

Bạn có thể dịch cái này sang python bằng cách sử dụng cái gì đó như thế này

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 hiện việc này với các giá trị phù hợp, bạn cũng sẽ thấy sự kiện phản ánh theo thời gian thực trong GA4.

6. Xin chúc mừng

Xin chúc mừng, bạn đã sử dụng thành công Giao thức đo lường trong GA4. Giờ đây, bạn có thể xây dựng kiến ​​trúc giải pháp mạnh mẽ để gửi dữ liệu có ý nghĩa hơn tới 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 điều này, chúng tôi cũng khuyên bạn 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ề điều đó. Vì mục đích 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 ID thiết bị được thu thập từ SDK Firebase trong vòng 60 ngày qua. Xin lưu ý rằng đây vẫn là API alpha và hãy đảm bảo vượt qua các giới hạn được liệt kê ở đây cần được giải quyết trước khi ra mắt đầy đủ

Bạn đã học

  • Cách thu thập các biến phù hợp để thực hiện cuộc gọi MP
  • Cách gửi và xác thực các sự kiện thử nghiệm
  • Cách xây dựng script gửi cuộc gọi MP