تصف خصائص المستخدمين شرائح من قاعدة المستخدمين لديك، مثل اللغة المفضّلة أو الموقع الجغرافي. تُسجِّل "إحصاءات Google" بعض خصائص المستخدِمين تلقائيًا. إذا أردت جمع سمات إضافية، يمكنك إعداد ما يصل إلى 25 سمة مستخدم إضافية لكل مشروع. يمكنك الاطّلاع على خصائص المستخدمين المخصّصة لمعرفة كيفية ضبط خصائص المستخدمين وتسجيلها.
تساعد خصائص المستخدمين في تحسين عملية تقسيم المستخدمين، ولكنّ بيانات خصائص المستخدمين لا تتوفّر غالبًا إلا من جهة الخادم. يتيح لك Measurement Protocol زيادة القياسات من جهة العميل باستخدام البيانات من جهة الخادم، وهو أمر غير ممكن عادةً باستخدام الحلول من جهة العميل فقط.
الأسماء المحجوزة
بعض أسماء خصائص المستخدمين محجوزة ولا يمكن استخدامها في القياسات:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
بالإضافة إلى ذلك، لا يمكن أن تبدأ أسماء خصائص المستخدمِين بما يلي:
google_ga_firebase_
مثال على الاستخدام
في المثال التالي، يتضمّن نظام إدارة علاقات العملاء سمة مستخدم (customer_tier) تريد إضافتها إلى قياساتك. يمكن ضبط customer_tier على premium أو standard. للحصول على موقع المستخدم هذا في تقاريرك، عليك إجراء ما يلي:
أولاً، اطلب من العميل إرسال حدث add_payment_info مع طلب إلى واجهة برمجة تطبيقات للخادم يمكنها الوصول إلى نظام إدارة علاقات العملاء:
رمز العميل
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
طابعًا زمنيًا بقيمة customerTierUnixEpochTimeInMicros لـ customer_tier، وطابعًا زمنيًا بقيمة requestUnixEpochTimeInMicros لـ customer_group.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}