Tài liệu này dành cho Universal Analytics. Hãy xem Measurement Protocol (Google Analytics 4) nếu bạn đang sử dụng Google Analytics 4.

Tài liệu tham khảo về Measurement Protocol

Tài liệu này mô tả cách gửi dữ liệu đến Google Analytics bằng Measurement Protocol.

Tổng quan

Có 2 phần để gửi dữ liệu đến Google Analytics bằng Measurement Protocol:

  • Phương tiện vận chuyển – đến địa điểm và cách thức bạn gửi dữ liệu
  • Trọng tải – dữ liệu bạn gửi

Tài liệu này mô tả cách định dạng cả hai định dạng này.

Phương tiện vận chuyển

Điểm cuối URL

Bạn gửi dữ liệu bằng Measurement Protocol bằng cách gửi các yêu cầu HTTP đến điểm cuối sau:

https://www.google-analytics.com/collect

Tất cả dữ liệu phải được gửi an toàn bằng giao thức HTTPS.

Bạn có thể gửi dữ liệu bằng cách sử dụng yêu cầu POST hoặc GET.

Sử dụng POST

Bạn nên gửi dữ liệu qua POST vì dữ liệu cho phép tải trọng lớn hơn. Khi sử dụng POST, hãy đưa ra yêu cầu HTTP sau:

User-Agent: user_agent_string
POST https://www.google-analytics.com/collect
payload_data

Trong trường hợp:

  • user_agent_string – Là một chuỗi tác nhân người dùng được định dạng dùng để tính toán các thứ nguyên sau: trình duyệt, nền tảng và khả năng của thiết bị di động.

    Nếu bạn không đặt giá trị này, thì hệ thống sẽ không tính toán dữ liệu trên.

  • payload_dataBODY của yêu cầu đăng. Phần nội dung phải bao gồm chính xác 1 trọng tải được mã hoá URI và không được dài hơn 8192 byte.
  • Địa chỉ IP – Được gửi ngầm trong yêu cầu HTTP và dùng để tính toán tất cả các phương diện địa lý/mạng trong Google Analytics.

XEM

Trong các môi trường mà bạn không thể gửi dữ liệu POST, bạn cũng có thể gửi yêu cầu HTTP GET đến cùng một điểm cuối:

GET /collect?payload_data HTTP/1.1
Host: https://www.google-analytics.com
User-Agent: user_agent_string

Trong trường hợp dữ liệu trọng tải được gửi dưới dạng tham số truy vấn thoát URI. Độ dài của toàn bộ URL được mã hoá không được vượt quá 8000 byte.

Chặn bộ nhớ đệm

Trong một số môi trường, chẳng hạn như trình duyệt, các yêu cầu HTTP GET có thể được lưu vào bộ nhớ đệm. Khi một yêu cầu được lưu vào bộ nhớ đệm, các yêu cầu tiếp theo có thể được truy xuất từ bộ nhớ đệm và không được gửi đến Google Analytics. Để kích hoạt bộ nhớ đệm, Measurement Protocol cung cấp một thông số đặc biệt (z) có thể được đặt bằng một số ngẫu nhiên. Việc này đảm bảo rằng tất cả các yêu cầu của Measurement Protocol đều là duy nhất và các yêu cầu tiếp theo sẽ không được truy xuất từ bộ nhớ đệm.

Khi sử dụng trình chặn truy xuất bộ nhớ đệm, bạn nên thêm tham số này làm tham số cuối cùng trong tải trọng.

https://www.google-analytics.com/collect?payload_data&z=123456

Mã phản hồi

Measurement Protocol sẽ trả về mã trạng thái 2xx nếu nhận được yêu cầu HTTP. Measurement Protocol sẽ không trả về mã lỗi nếu dữ liệu trọng tải không đúng định dạng hoặc nếu dữ liệu trong tải trọng không chính xác hoặc không được Google Analytics xử lý.

Nếu không nhận được mã trạng thái 2xx, bạn KHÔNG nên thử yêu cầu lại. Thay vào đó, bạn nên dừng và sửa mọi lỗi trong yêu cầu HTTP.

Dữ liệu phần tải

Tất cả dữ liệu mà Google Analytics thu thập bằng Measurement Protocol sẽ được gửi dưới dạng một gói dữ liệu. Trọng tải giống với một chuỗi truy vấn URL, trong đó mỗi tham số có một khoá và giá trị, được phân tách bằng một ký tự = và mỗi cặp được phân tách bằng một ký tự &. Ví dụ:

key1=val1&key2=val2

Mỗi trọng tải có các quy tắc chi phối: giá trị bắt buộc, mã hóa URI, tham số có thể gửi cùng nhau và độ dài tham số. Ngoài ra, mỗi tham số có một loại cụ thể yêu cầu định dạng cụ thể. Các phần sau đây sẽ hướng dẫn về những quy tắc này.

Hãy đọc Tài liệu tham khảo về thông số để xem danh sách đầy đủ tất cả các thông số mà bạn có thể gửi bằng Measurement Protocol.

Giá trị bắt buộc cho tất cả các lượt truy cập

Các thông số sau phải nằm trong mỗi trọng tải:

Tên Thông số Ví dụ: Nội dung mô tả
Phiên bản giao thức v v=1 Phiên bản giao thức. Giá trị phải là 1.
Mã theo dõi tid tid=UA-123456-1 Mã phân biệt với tài sản Google Analytics mà bạn muốn gửi dữ liệu.
Client ID cid cid=xxxxx Mã nhận dạng duy nhất của một người dùng cụ thể.
Loại lần truy cập t t=pageview Loại tương tác được thu thập cho một người dùng cụ thể.

Dữ liệu Client IDHit Type là các giá trị liên kết trực tiếp với mô hình dữ liệu Google Analytics. Nếu muốn theo dõi người dùng 5555 đã truy cập vào /pageA, /pageB/pageC, bạn sẽ gửi 3 trọng tải sau:

v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageA
v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageB
v=1&tid=UA-123456-1&cid=5555&t=pageview&dp=%2FpageC

Xin lưu ý rằng / đã được mã hoá thành %2F.

Giá trị mã hóa URL

Tất cả các giá trị được gửi đến Google Analytics đều phải được mã hoá bằng phương thức UTF-8 và URL được mã hoá. Để gửi khoá dp với giá trị /my page €, trước tiên bạn cần đảm bảo đây là mã hoá UTF-8, sau đó là mã hoá url, dẫn đến chuỗi cuối cùng:

dp=%2Fmy%20page%20%E2%82%AC

Nếu có bất kỳ ký tự nào được mã hoá không chính xác, thì các ký tự đó sẽ được thay thế bằng ký tự thay thế unicode xFFFD.

Giá trị bắt buộc cho một số loại truy cập nhất định

Một số thông số chỉ có thể được gửi với các loại lượt truy cập cụ thể. Ví dụ: loại lượt truy cập pageview yêu cầu cũng phải đặt thông số Đường dẫn trang (dp). Tài liệu tham khảo về thông số mô tả các thông số cần thiết cho những loại lượt truy cập.

Chiều dài tối đa

Một số giá trị văn bản trong Measurement Protocol có độ dài tối đa cụ thể tính bằng byte. Ví dụ: trường đường liên kết giới thiệu tài liệu dr có độ dài tối đa là 2.048 Byte. Những giá trị lớn hơn độ dài tối đa sẽ được tự động cắt bớt. Nếu một ký tự nhiều byte vượt quá độ dài tối đa, thì toàn bộ ký tự sẽ bị cắt ngắn.

Loại dữ liệu được hỗ trợ

Mỗi trường dữ liệu trong Measurement Protocol thuộc một loại cụ thể, mỗi loại có các quy tắc xác thực riêng. Nếu bất kỳ giá trị thông số nào không tuân thủ quy tắc xác thực, thì thông số cụ thể đó sẽ bị Google Analytics bỏ qua và không được xử lý. Mọi thông số khác sẽ được xử lý như bình thường.

Measurement Protocol hỗ trợ các loại dữ liệu sau:

Xin lưu ý rằng từng trường dữ liệu có thể có các quy định hạn chế riêng. Hãy xem Tài liệu tham khảo về trường để biết danh sách đầy đủ tất cả các trường dữ liệu và loại được chấp nhận.

Văn bản

Dùng để biểu thị các chuỗi. Quá trình xử lý bổ sung được thực hiện trên các trường văn bản. Tất cả các ký tự khoảng trắng ở đầu và cuối đều bị xóa. Các nội dung chạy nội bộ gồm hai ký tự khoảng trắng trở lên (bao gồm dấu cách, thẻ, dòng mới, v.v.) được giảm xuống còn một ký tự dấu cách. Phép biến đổi này được áp dụng cho văn bản thô trước khi cắt bớt. Ví dụ:

   Hello      World

sẽ trở thành:

Hello World

Tiền tệ

Dùng để thể hiện tổng giá trị của một đơn vị tiền tệ. Dấu thập phân được sử dụng làm dấu phân tách giữa toàn bộ và phần thập phân của đơn vị tiền tệ. Độ chính xác lên tới 6 chữ số phần thập phân. Các trường sau đây hợp lệ cho trường đơn vị tiền tệ:

1000.000001

Sau khi giá trị được gửi đến Google Analytics, tất cả văn bản sẽ bị xoá cho đến khi chữ số đầu tiên, ký tự - hoặc ký tự . (thập phân). Do đó:

$-55.00

sẽ trở thành:

-55.00

Boolean

Dùng để xác định xem một giá trị có đúng hay sai. Các giá trị hợp lệ là:

  • 1 – Đúng
  • 0 – Sai

Số nguyên

Dùng để biểu thị một số nguyên. Giá trị này được lưu trữ dưới dạng một int64 đã ký

Số

Dùng để biểu thị một số nguyên hoặc một số thực dấu phẩy động.