Thuộc tính người dùng mô tả các phân khúc trong cơ sở người dùng, chẳng hạn như ngôn ngữ ưu tiên hoặc vị trí địa lý. Analytics tự động ghi lại một số thuộc tính người dùng. Nếu muốn thu thập thêm thuộc tính, bạn có thể thiết lập thêm tối đa 25 thuộc tính người dùng cho mỗi dự án. Hãy xem phần Thuộc tính tuỳ chỉnh của người dùng để tìm hiểu cách đặt và đăng ký thuộc tính người dùng.
Thuộc tính người dùng giúp cải thiện việc phân khúc người dùng, nhưng dữ liệu thuộc tính người dùng thường chỉ có sẵn ở phía máy chủ. Measurement Protocol cho phép bạn bổ sung dữ liệu phía máy chủ vào các phép đo lường phía máy khách, điều này thường không khả thi nếu chỉ sử dụng các giải pháp phía máy khách.
Tên dành riêng
Một số tên thuộc tính người dùng đã được dành riêng và không thể sử dụng trong các phép đo:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
Ngoài ra, tên thuộc tính người dùng không được bắt đầu bằng:
google_ga_firebase_
Ví dụ về cách sử dụng
Trong ví dụ sau, CRM của bạn có một thuộc tính người dùng (customer_tier) mà bạn muốn thêm vào các phép đo lường của mình. Bạn có thể đặt customer_tier thành một trong hai giá trị
premium hoặc standard. Để nhận thuộc tính người dùng này trong báo cáo, bạn cần làm như sau:
Trước tiên, hãy yêu cầu ứng dụng gửi một sự kiện add_payment_info cùng với lệnh gọi đến một API máy chủ có quyền truy cập vào hệ thống CRM của bạn:
mã ứng dụng khách
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Sau đó, máy chủ của bạn sẽ bổ sung thuộc tính người dùng customer_tier vào dữ liệu đo lường bằng Measurement Protocol:
mã máy chủ
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
function addCustomerTier(appInstanceId, events) {
// Request the customer tier from the CRM.
const customerTier = getCustomerTier(appInstanceId);
const queryParams = `?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`;
fetch(`https://www.google-analytics.com/mp/collect${queryParams}`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"app_instance_id": "APP_INSTANCE_ID",
"user_properties": {
"customer_tier": {
"value": "CUSTOMER_TIER"
}
},
"events": JSON.parse(events)
})
});
}
Thuộc tính người dùng này báo cáo hai phân khúc premium và standard.
Hãy xem bài viết Gửi sự kiện để biết thông tin chi tiết về cách gửi sự kiện bằng Measurement Protocol.
Ghi đè dấu thời gian
Measurement Protocol sử dụng dấu thời gian đầu tiên mà nó tìm thấy trong danh sách sau đây cho mỗi thuộc tính người dùng trong yêu cầu:
timestamp_microscủa mục nhập tronguser_properties.timestamp_microscủa yêu cầu.- Thời điểm Measurement Protocol nhận được yêu cầu.
Ví dụ sau đây gửi dấu thời gian ở cấp yêu cầu áp dụng cho tất cả thuộc tính người dùng trong yêu cầu. Do đó, Measurement Protocol chỉ định
cho cả thuộc tính người dùng customer_tier và customer_group một dấu thời gian là
requestUnixEpochTimeInMicros.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
Ví dụ sau đây gửi cả dấu thời gian ở cấp yêu cầu và dấu thời gian cho thuộc tính người dùng customer_tier. Do đó, Measurement Protocol chỉ định cho customer_tier dấu thời gian là customerTierUnixEpochTimeInMicros và chỉ định cho customer_group dấu thời gian là requestUnixEpochTimeInMicros.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}