تصف خصائص المستخدِمين شرائح من قاعدة المستخدِمين لديك، مثل اللغة المفضَّلة أو الموقع الجغرافي. تُسجِّل "إحصاءات Google" بعض خصائص المستخدِمين تلقائيًا. إذا أردت جمع خصائص إضافية، يمكنك إعداد ما يصل إلى 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 مع طلب إلى واجهة برمجة تطبيقات الخادم التي يمكنها الوصول إلى نظام إدارة علاقات العملاء:
رمز العميل
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 الطابع الزمني requestUnixEpochTimeInMicros لكلّ من خاصيتَي المستخدم customer_tier وcustomer_group.
{
"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
}
}