Kullanıcı özellikleri, kullanıcı tabanınızın segmentlerini (ör. dil tercihi veya coğrafi konum) 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ı verileriyle zenginleştirmenize olanak tanır. Bu, genellikle yalnızca istemci tarafı çözümler kullanılarak mümkün olmaz.
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) var. customer_tier, premium veya standard olarak ayarlanabilir. Bu kullanıcı özelliğini raporlarınızda görmek için aşağıdakileri yapmanız gerekir:
Öncelikle istemcinin, CRM sisteminize erişimi olan bir sunucu API'sine yapılan ç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\"}"]
);
Ardından sunucunuz, Measurement Protocol'ü kullanarak ölçümü customer_tier kullanıcı özelliğiyle
artırır:
server code [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 ayrıntılı bilgi 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'ün isteği aldığı zaman.
Aşağıdaki örnek, istekteki tüm kullanıcı özelliklerine uygulanan bir istek düzeyi zaman damgası gönderir. 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önderilir. Sonuç olarak Measurement Protocol, customer_tier öğesine customerTierUnixEpochTimeInMicros zaman damgasını, customer_group öğesine ise requestUnixEpochTimeInMicros zaman damgasını atar.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}