Nutzereigenschaften beschreiben Nutzersegmente, z. B. die Spracheinstellung oder den geografischen Standort. 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. Weitere Informationen zum Festlegen und Registrieren von benutzerdefinierten Nutzereigenschaften
Nutzereigenschaften verbessern die Nutzersegmentierung, aber Daten zu Nutzereigenschaften sind oft nur serverseitig verfügbar. Mit dem Measurement Protocol können Sie clientseitige Analysen mit serverseitigen Daten ergänzen. Das ist in der Regel nur mit clientseitigen Lösungen nicht möglich.
Reservierte Namen
Einige Namen von Nutzereigenschaften sind reserviert und können nicht in Analysen 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 Analysen hinzufügen möchten. customer_tier kann auf premium oder standard festgelegt werden. So würden Sie diese Nutzereigenschaft in Ihre Berichte aufnehmen:
Lassen Sie den Client zuerst ein add_payment_info-Ereignis zusammen mit einem Aufruf einer Server-API senden, die Zugriff auf Ihr CRM-System hat:
Client-Code
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Ihr Server ergänzt die Messung dann mit der Nutzereigenschaft customer_tier über das Measurement Protocol:
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)
})
});
}
Für diese Nutzereigenschaft werden die beiden Segmente premium und standard gemeldet.
Hier finden Sie weitere Informationen zum Senden von Ereignissen über das Measurement Protocol.
Zeitstempel überschreiben
Das Measurement Protocol verwendet den ersten Zeitstempel, der in der folgenden Liste für jede Nutzereigenschaft in der Anfrage gefunden wird:
- Die
timestamp_microsdes Eintrags inuser_properties. - Die
timestamp_microsder Anfrage. - Der Zeitpunkt, zu dem die Anfrage im Measurement Protocol eingeht.
Im folgenden Beispiel wird ein Zeitstempel auf Anfrageebene gesendet, der für alle Nutzer-Properties in der Anfrage gilt. Daher wird für die 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 wird dem customer_tier im Measurement Protocol der Zeitstempel customerTierUnixEpochTimeInMicros und dem customer_group der Zeitstempel requestUnixEpochTimeInMicros zugewiesen.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}