Le proprietà utente descrivono segmenti della base utenti, come la preferenza della lingua o la posizione geografica. Analytics registra automaticamente alcune proprietà utente. Se vuoi raccogliere proprietà aggiuntive, puoi configurare fino a 25 proprietà utente aggiuntive per progetto. Consulta Proprietà utente personalizzate per scoprire come impostare e registrare le proprietà utente.
Le proprietà utente migliorano la segmentazione degli utenti, ma i dati delle proprietà utente sono spesso disponibili solo lato server. Measurement Protocol ti consente di aumentare le misurazioni lato client con dati lato server, il che in genere non è fattibile utilizzando solo soluzioni lato client.
Nomi riservati
Alcuni nomi di proprietà utente sono riservati e non possono essere utilizzati nelle misurazioni:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
Inoltre, i nomi delle proprietà utente non possono iniziare con:
google_ga_firebase_
Esempio di utilizzo
Nell'esempio seguente, il tuo CRM ha una proprietà utente (customer_tier) che
vuoi aggiungere alle tue misurazioni. customer_tier può essere impostato su uno dei seguenti valori:
premium o standard. Per visualizzare questa proprietà utente nei report, devi
procedere nel seguente modo:
Innanzitutto, chiedi al cliente di inviare un evento add_payment_info insieme a una chiamata a un'API server che abbia accesso al tuo sistema CRM:
codice cliente
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Il server arricchisce quindi la misurazione con la proprietà utente customer_tier
utilizzando Measurement Protocol:
codice del server
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)
})
});
}
Questa proprietà utente riporta i due segmenti premium e standard.
Per informazioni dettagliate su come inviare eventi utilizzando Measurement Protocol, consulta Invio di eventi.
Override del timestamp
Measurement Protocol utilizza il timestamp first che trova nel seguente elenco per ogni proprietà utente nella richiesta:
- Il
timestamp_microsdella voce inuser_properties. - Il
timestamp_microsdella richiesta. - L'ora in cui Measurement Protocol riceve la richiesta.
L'esempio seguente invia un timestamp a livello di richiesta che si applica a tutte le proprietà utente nella richiesta. Di conseguenza, Measurement Protocol assegna
alle proprietà utente customer_tier e customer_group un timestamp di
requestUnixEpochTimeInMicros.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue
},
"customer_group": {
"value": customerGroupValue
}
}
}
L'esempio seguente invia sia un timestamp a livello di richiesta sia un timestamp per la proprietà utente customer_tier. Di conseguenza, Measurement Protocol assegna
al customer_tier un timestamp di customerTierUnixEpochTimeInMicros e
al customer_group un timestamp di requestUnixEpochTimeInMicros.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}