מאפייני משתמשים מתארים פלחים של בסיס המשתמשים שלכם, כמו העדפות שפה או מיקום גיאוגרפי. מערכת Analytics מתעדת באופן אוטומטי מאפייני משתמש מסוימים. אם אתם רוצים לאסוף מאפיינים נוספים, אתם יכולים להגדיר עד 25 מאפייני משתמשים נוספים לכל פרויקט. במאמר מאפייני משתמש מותאמים אישית מוסבר איך להגדיר ולרשום מאפייני משתמש.
מאפייני משתמשים משפרים את פילוח המשתמשים, אבל לעיתים קרובות נתוני מאפייני המשתמשים זמינים רק בצד השרת. Measurement Protocol מאפשר להוסיף למדידות בצד הלקוח נתונים מצד השרת, שבדרך כלל אי אפשר להוסיף באמצעות פתרונות בצד הלקוח בלבד.
שמות שמורים
חלק מהשמות של מאפייני המשתמשים שמורים ואי אפשר להשתמש בהם במדידות:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
בנוסף, שמות של מאפייני משתמשים לא יכולים להתחיל ב:
google_ga_firebase_
דוגמה לשימוש
בדוגמה הבאה, למערכת ה-CRM יש מאפיין משתמש (customer_tier) שאתם רוצים להוסיף למדידות. אפשר להגדיר את customer_tier לאחד מהערכים premium או standard. כדי להציג את מאפיין המשתמש הזה בדוחות, צריך לבצע את הפעולות הבאות:
קודם כול, הלקוח צריך לשלוח אירוע add_payment_info יחד עם קריאה ל-API של השרת שיש לו גישה למערכת לניהול קשרי הלקוחות (CRM):
קוד לקוח
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
לאחר מכן, השרת מוסיף למדידה את מאפיין המשתמש customer_tier באמצעות Measurement Protocol:
קוד השרת
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)
})
});
}
מאפיין המשתמש הזה מדווח על שני הפלחים premium ו-standard.
במאמר שליחת אירועים מוסבר איך שולחים אירועים באמצעות Measurement Protocol.
שינוי חותמת הזמן
Measurement Protocol משתמש בחותמת הזמן הראשונה שהוא מוצא ברשימה הבאה לכל מאפיין משתמש בבקשה:
- ה-
timestamp_microsשל הרשומה ב-user_properties. timestamp_microsשל הבקשה.- השעה שבה הבקשה התקבלה ב-Measurement Protocol.
בדוגמה הבאה נשלחת חותמת זמן ברמת הבקשה, שחלה על כל מאפייני המשתמש בבקשה. כתוצאה מכך, Measurement Protocol מקצה למאפייני המשתמש customer_tier ו-customer_group את חותמת הזמן requestUnixEpochTimeInMicros.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
בדוגמה הבאה נשלחות גם חותמת זמן ברמת הבקשה וגם חותמת זמן של מאפיין המשתמש customer_tier. כתוצאה מכך, Measurement Protocol מקצה ל-customer_tier את חותמת הזמן customerTierUnixEpochTimeInMicros, ול-customer_group את חותמת הזמן requestUnixEpochTimeInMicros.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}