Las propiedades del usuario describen segmentos de tu base de usuarios, como la preferencia de idioma o la ubicación geográfica. Analytics registra automáticamente algunas propiedades del usuario. Si quieres recopilar propiedades adicionales, puedes configurar hasta 25 propiedades del usuario adicionales por proyecto. Consulta Propiedades del usuario personalizadas para obtener información sobre cómo configurar y registrar propiedades del usuario.
Las propiedades del usuario mejoran la segmentación de usuarios, pero los datos de las propiedades del usuario suelen estar disponibles solo en el servidor. El Measurement Protocol te permite aumentar las mediciones del cliente con datos del servidor, lo que suele ser inviable si solo se usan soluciones del cliente.
Nombres reservados
Algunos nombres de propiedades del usuario están reservados y no se pueden usar en las mediciones:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
Además, los nombres de propiedades del usuario no pueden comenzar con lo siguiente:
google_ga_firebase_
Ejemplo de uso
En el siguiente ejemplo, tu CRM tiene una propiedad del usuario (customer_tier) que te gustaría agregar a tus mediciones. customer_tier se puede configurar en premium o standard. Para obtener esta propiedad del usuario en tus informes, debes hacer lo siguiente:
Primero, haz que el cliente envíe un add_payment_info evento junto con una llamada a una
API del servidor que tenga acceso a tu sistema de CRM:
código del cliente
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Luego, tu servidor aumenta la medición con la propiedad del usuario customer_tier mediante el Measurement Protocol:
código del servidor
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)
})
});
}
Esta propiedad del usuario informa los dos segmentos premium y standard.
Consulta Envío de eventos para obtener todos los detalles sobre cómo enviar eventos con el Measurement Protocol.
Anular la marca de tiempo
El Measurement Protocol usa la primera marca de tiempo que encuentra en la siguiente lista para cada propiedad del usuario en la solicitud:
- El
timestamp_microsde la entrada enuser_properties. - El
timestamp_microsde la solicitud. - La hora en la que el Measurement Protocol recibe la solicitud.
En el siguiente ejemplo, se envía una marca de tiempo a nivel de la solicitud que se aplica a todas las propiedades del usuario en la solicitud. Como resultado, el Measurement Protocol asigna a las propiedades del usuario customer_tier y customer_group una marca de tiempo de requestUnixEpochTimeInMicros.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
En el siguiente ejemplo, se envía una marca de tiempo a nivel de la solicitud y una marca de tiempo para la propiedad del usuario customer_tier. Como resultado, el Measurement Protocol asigna a customer_tier una marca de tiempo de customerTierUnixEpochTimeInMicros y a customer_group una marca de tiempo de requestUnixEpochTimeInMicros.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}