Invia proprietà utente

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_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_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:

  1. Il timestamp_micros della voce in user_properties.
  2. Il timestamp_micros della richiesta.
  3. 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
    }
}