Le proprietà utente descrivono segmenti della base utenti, come le preferenze per la lingua o le posizioni geografiche. 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 i dati lato server, cosa in genere impossibile 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 premium o standard. Per visualizzare questa proprietà utente nei report, procedi nel seguente modo:
Innanzitutto, fai in modo che il client invii un add_payment_info evento insieme a una chiamata a un
API server che ha accesso al tuo sistema CRM:
Codice client
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Il server aumenta 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 segnala i due segmenti premium e standard.
Per informazioni dettagliate su come inviare eventi utilizzando il Measurement Protocol, consulta la sezione Invio di eventi.
Override del timestamp
Measurement Protocol utilizza il primo timestamp 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 a customer_tier un timestamp di customerTierUnixEpochTimeInMicros e a customer_group un timestamp di requestUnixEpochTimeInMicros.
"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
"customer_tier": {
"value": customerTierValue,
"timestamp_micros": customerTierUnixEpochTimeInMicros
},
"customer_group": {
"value": customerGroupValue
}
}