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 integrare le misurazioni lato client con i dati lato server, il che in genere non è possibile 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 misurazioni. customer_tier può essere impostato su premium o standard. Per ottenere questa proprietà utente nei report, devi procedere come segue:
Innanzitutto, chiedi al client di inviare un evento add_payment_info insieme a una chiamata a un'API del server che ha accesso al tuo sistema CRM:
codice cliente
FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
FirebaseAnalytics.getAppInstanceId(),
"[{name: \"add_payment_info\"}"]
);
Il server migliora 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 genera i due segmenti premium e standard.
Per informazioni dettagliate su come inviare eventi utilizzando Measurement Protocol, consulta Inviare eventi.
Override del timestamp
Measurement Protocol utilizza il primo timestamp che trova nel seguente elenco per ogni proprietà utente nella richiesta:
timestamp_microsdella voce inuser_properties.- La
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
}
}