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 deseas 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 establecer 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 del lado del servidor. El Protocolo de medición 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 deseas agregar a tus mediciones. customer_tier se puede establecer en uno de los siguientes valores: premium o standard. Para obtener esta propiedad del usuario en tus informes, harías lo siguiente:
Primero, haz que el cliente envíe un evento add_payment_info 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 a través del Protocolo de medición:
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 Measurement Protocol.
Anular marca de tiempo
El Protocolo de Measurement utiliza la marca de tiempo primera que encuentra en la siguiente lista para cada propiedad del usuario en la solicitud:
- Es el
timestamp_microsde la entrada enuser_properties. - Es el
timestamp_microsde la solicitud. - Es la fecha y hora en que el Protocolo de medición 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, 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ían una marca de tiempo a nivel de la solicitud y una marca de tiempo para la propiedad del usuario customer_tier. Como resultado, 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
}
}