Kullanıcı özellikleri, kullanıcı tabanınızın dil tercihi veya coğrafi konum gibi segmentlerini tanımlar. Analytics, bazı kullanıcı özelliklerini otomatik olarak günlüğe kaydeder. Ek özellikler toplamak istiyorsanız proje başına 25 ek kullanıcı özelliği ayarlayabilirsiniz. Kullanıcı özelliklerini nasıl ayarlayacağınızı ve kaydedeceğinizi öğrenmek için Özel kullanıcı özellikleri başlıklı makaleyi inceleyin.
Kullanıcı özellikleri, kullanıcı segmentasyonunu iyileştirir ancak kullanıcı özelliği verileri genellikle yalnızca sunucu tarafında kullanılabilir. Measurement Protocol, istemci tarafı ölçümleri sunucu tarafı verilerle zenginleştirmenize olanak tanır. Bu, genellikle yalnızca istemci tarafı çözümler kullanılarak yapılamaz.
Ayrılmış adlar
Bazı kullanıcı özelliği adları ayrılmıştır ve ölçümlerde kullanılamaz:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
Ayrıca, kullanıcı özelliği adları şununla başlayamaz:
google_ga_firebase_
Örnek kullanım
Aşağıdaki örnekte, CRM'nizde ölçümlerinize eklemek istediğiniz bir kullanıcı özelliği (customer_tier) bulunmaktadır. customer_tier, premium veya standard olarak ayarlanabilir. Bu kullanıcı özelliğini raporlarınıza eklemek için aşağıdaki adımları uygulamanız gerekir:
Öncelikle müşterinin, CRM sisteminize erişimi olan bir sunucu API'sine çağrıyla birlikte bir add_payment_info etkinliği göndermesini sağlayın:
client code
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Sunucunuz, Measurement Protocol'ü kullanarak ölçümü customer_tier kullanıcı özelliğiyle genişletir:
sunucu kodu
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)
})
});
}
Bu kullanıcı özelliği, premium ve standard olmak üzere iki segmenti raporlar.
Measurement Protocol'ü kullanarak etkinlik gönderme hakkında tüm ayrıntılar için Etkinlik gönderme başlıklı makaleyi inceleyin.
Zaman damgasını geçersiz kılma
Measurement Protocol, istekteki her kullanıcı özelliği için aşağıdaki listede bulduğu ilk zaman damgasını kullanır:
user_propertiesiçindeki girişintimestamp_micros.- İsteğin
timestamp_micros. - Measurement Protocol'un isteği aldığı zaman.
Aşağıdaki örnekte, istekteki tüm kullanıcı özelliklerine uygulanan istek düzeyinde bir zaman damgası gönderilmektedir. Sonuç olarak Measurement Protocol, hem customer_tier hem de customer_group kullanıcı özelliklerine requestUnixEpochTimeInMicros zaman damgasını atar.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
Aşağıdaki örnekte hem istek düzeyinde bir zaman damgası hem de customer_tier kullanıcı özelliği için bir zaman damgası gönderilmektedir. Sonuç olarak Measurement Protocol, customer_tier için customerTierUnixEpochTimeInMicros zaman damgasını ve customer_group için requestUnixEpochTimeInMicros zaman damgasını atar.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}