Nutzereigenschaften beschreiben Segmente Ihrer Nutzerbasis, z. B. Spracheinstellungen oder geografische Standorte. Einige Nutzereigenschaften werden in Analytics automatisch protokolliert. Wenn Sie zusätzliche Eigenschaften erfassen möchten, können Sie pro Projekt bis zu 25 zusätzliche Nutzereigenschaften einrichten. Unter Benutzerdefinierte Nutzereigenschaften erfahren Sie, wie Sie Nutzereigenschaften festlegen und registrieren.
Nutzereigenschaften verbessern die Nutzersegmentierung, aber Daten zu Nutzereigenschaften sind oft nur serverseitig verfügbar. Mit dem Measurement Protocol können Sie clientseitige Messungen mit serverseitigen Daten ergänzen. Das ist mit rein clientseitigen Lösungen in der Regel nicht möglich.
Reservierte Namen
Einige Namen von Nutzereigenschaften sind reserviert und können nicht für Messungen verwendet werden:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
Außerdem dürfen Namen von Nutzereigenschaften nicht mit folgenden Zeichen oder Präfixen beginnen:
google_ga_firebase_
Nutzungsbeispiel
Im folgenden Beispiel enthält Ihr CRM eine Nutzereigenschaft (customer_tier), die Sie Ihren Messungen hinzufügen möchten. customer_tier kann auf premium oder standard festgelegt werden. So rufen Sie diese Nutzereigenschaft in Ihren Berichten ab:
Zuerst muss der Client ein add_payment_info-Ereignis zusammen mit einem Aufruf einer Server-API senden, die Zugriff auf Ihr CRM-System hat:
Clientcode
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Ihr Server ergänzt die Messung dann mithilfe des Measurement Protocol um die Nutzereigenschaft customer_tier:
Servercode
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)
})
});
}
Diese Nutzereigenschaft meldet die beiden Segmente premium und standard.
Ausführliche Informationen zum Senden von Ereignissen mit dem Measurement Protocol finden Sie unter Ereignisse senden.
Zeitstempel überschreiben
Das Measurement Protocol verwendet den ersten Zeitstempel, den es in der folgenden Liste für jede Nutzereigenschaft in der Anfrage findet:
- Der
timestamp_microsdes Eintrags inuser_properties. - Die
timestamp_microsder Anfrage. - Der Zeitpunkt, zu dem das Measurement Protocol die Anfrage empfängt.
Im folgenden Beispiel wird ein Zeitstempel auf Anfrageebene gesendet, der für alle Nutzerattribute in der Anfrage gilt. Daher wird den Nutzereigenschaften customer_tier und customer_group im Measurement Protocol der Zeitstempel requestUnixEpochTimeInMicros zugewiesen.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
Im folgenden Beispiel werden sowohl ein Zeitstempel auf Anfrageebene als auch ein Zeitstempel für die Nutzereigenschaft customer_tier gesendet. Daher weist das Measurement Protocol dem customer_tier den Zeitstempel customerTierUnixEpochTimeInMicros und dem customer_group den Zeitstempel requestUnixEpochTimeInMicros zu.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}