Casi d'uso avanzati

Questo documento descrive diverse funzionalità avanzate di Google Analytics API di dati v1. Per un riferimento dettagliato dell'API, consulta la pagina Riferimento API.

Elenco di definizioni personalizzate e creazione di report

L'API di dati può creare report sugli asset personalizzati Dimensioni e Personalizzato Metriche. L'API Metadata Method, che è possibile usare per elencare l'API i nomi delle definizioni personalizzate registrate per la tua proprietà. I nomi di queste API possono essere utilizzato nelle richieste di report Ad esempio, il metodo runReport.

Le seguenti sezioni mostrano esempi per ciascun tipo di definizione personalizzata. Nella questi esempi, sostituisci GA_PROPERTY_ID con il tuo ID proprietà.

Dimensioni personalizzate basate sugli eventi

Passaggio 1: esegui una query sul metodo dell'API dei metadati con il tuo ID proprietà.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Passaggio 2. Trova la dimensione personalizzata basata sugli eventi che ti interessa creando report dalla risposta. Se la dimensione non è presente, devi avere per registrare la dimensione.

"dimensions": [
...
    {
      "apiName": "customEvent:achievement_id",
      "uiName": "Achievement ID",
      "description": "An event scoped custom dimension for your Analytics property."
    },
...
],

Passaggio 3:includi la dimensione personalizzata in una richiesta di report. Le seguenti è una richiesta di esempio al metodo runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-09-01", "endDate": "2020-09-15" }],
  "dimensions": [{ "name": "customEvent:achievement_id" }],
  "metrics": [{ "name": "eventCount" }]
}

Dimensioni personalizzate basate sugli utenti

Passaggio 1: esegui una query sul metodo dell'API dei metadati con il tuo ID proprietà.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Passaggio 2. Trova la dimensione personalizzata basata sugli utenti che ti interessa creando report dalla risposta. Se la dimensione non è presente, devi avere per registrare la dimensione.

"dimensions": [
...
    {
      "apiName": "customUser:last_level",
      "uiName": "Last level",
      "description": "A user property for your Analytics property."
    },
...
],

Passaggio 3:includi la dimensione personalizzata in una richiesta di report. Le seguenti è una richiesta di esempio al metodo runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "entity": { "propertyId": "GA_PROPERTY_ID" },
  "dateRanges": [{ "startDate": "7daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "customUser:last_level" }],
  "metrics": [{ "name": "activeUsers" }]
}

Metriche personalizzate con ambito evento

Passaggio 1: esegui una query sul metodo dell'API dei metadati con il tuo ID proprietà.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Passaggio 2:trova la metrica personalizzata basata sugli eventi che ti interessa. creando report dalla risposta. Se la metrica non è presente, devi registrare la metrica.

"metrics": [
...
    {
      "apiName": "customEvent:credits_spent",
      "uiName": "Credits Spent",
      "description": "An event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

Passaggio 3:includi la metrica personalizzata in una richiesta di report. Le seguenti è una richiesta di esempio al metodo runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "customEvent:credits_spent" }]
}

Metriche del tasso di eventi chiave per un singolo evento chiave

Passaggio 1: esegui una query sull'API Metadata Method con il tuo ID proprietà.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Passaggio 2: trova la metrica del tasso di eventi chiave per un evento chiave che ti interessa nella creazione di report sulla risposta. Se l'evento chiave non è presente, configurare la chiave dell'evento.

"metrics": [
...
    {
      "apiName": "sessionKeyEventRate:add_to_cart",
      "uiName": "Session key event rate for add_to_cart",
      "description": "The percentage of sessions in which a specific key event was triggered",
    },
...
],

Passaggio 3:includi la metrica del tasso di eventi chiave in una richiesta di report. Le seguenti è una richiesta di esempio a runReport .

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "sessionKeyEventRate:add_to_cart" }]
}

Medie delle metriche personalizzate basate sugli eventi

Passaggio 1: esegui una query sul metodo dell'API dei metadati con il tuo ID proprietà.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Passaggio 2: trova la media delle metriche personalizzate basate sugli eventi che ti interessa. creando report dalla risposta. Se la metrica non è presente, devi registrare la metrica.

"metrics": [
...
    {
      "apiName": "averageCustomEvent:credits_spent",
      "uiName": "Average Credits Spent",
      "description": "The average of an event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

Passaggio 3:includi la media della metrica personalizzata in una richiesta di report. Le seguenti è una richiesta di esempio al metodo runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-11-01", "endDate": "2020-11-10" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "averageCustomEvent:credits_spent" }]
}

Esempi di report sulle coorti

I report sulle coorti creano una serie temporale di fidelizzazione degli utenti per la coorte. Per documentazione dettagliata di ciascun campo API, consulta il riferimento REST per CohortSpec.

Creare un report sulle coorti

Ecco un esempio di report sulle coorti in cui:

  • La coorte è costituita dagli utenti con un valore firstSessionDate pari a 2020-12-01; questo è configurato dall'oggetto cohorts. Le dimensioni e le metriche del report la risposta si baserà solo sugli utenti della coorte.
  • Il report sulle coorti mostrerà tre colonne: configurato dal di dimensioni e metriche.
    • La dimensione cohort è il nome della coorte.
    • La dimensione cohortNthDay è il numero di giorni a partire dal giorno 2020-12-01.
    • La metrica cohortActiveUsers indica il numero di utenti ancora attivi.
  • L'oggetto cohortsRange specifica che il report deve contenere dati sugli eventi a partire da 2020-12-01 fino a 2020-12-06 per questa coorte.
    • Quando viene utilizzata una granularità pari a DAILY, la dimensione cohortNthDay è consigliato per coerenza.

La richiesta di report per la coorte è:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [{ "name": "cohort" }, { "name": "cohortNthDay" }],
  "metrics": [{ "name": "cohortActiveUsers" }],
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-12-01", "endDate": "2020-12-01" }
      }
    ],
    "cohortsRange": {
      "endOffset": 5,
      "granularity": "DAILY"
    }
  },
}

Per questa richiesta, un esempio di risposta a un report è:

{
  "dimensionHeaders": [
    { "name": "cohort" }, { "name": "cohortNthDay" }
  ],
  "metricHeaders": [
    { "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
      "metricValues": [{ "value": "293" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
      "metricValues": [{ "value": "143" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
      "metricValues": [{ "value": "123" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
      "metricValues": [{ "value": "92" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0005" }],
      "metricValues": [{ "value": "86" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
      "metricValues": [{ "value": "83" }]
    }
  ],
  "metadata": {},
  "rowCount": 6
}

Da questa risposta al report, viene riportato un grafico per il report di coorte. Un approfondimento da questo report si rileva che la riduzione maggiore di utenti attivi per questa coorte è stata tra il primo e il secondo giorno.

Visualizzazione degli utenti della coorte nel tempo

Più coorti e frazione di fidelizzazione degli utenti

L'acquisizione e la fidelizzazione degli utenti sono modi per far crescere il tuo sito web o la tua app. Coorte i report si concentrano sulla fidelizzazione degli utenti. In questo esempio, il report mostra questa proprietà ha migliorato del 10% la fidelizzazione utenti dei 4 giorni in due settimane.

Per creare questo report, specifichiamo tre coorti: la prima con un firstSessionDate di 2020-11-02, il secondo con un firstSessionDate di 2020-11-09 e il terzo con firstSessionDate di 2020-11-16. Poiché di utenti della tua proprietà sarà diverso in questi tre giorni, confronta la metrica relativa alla frazione di fidelizzazione utenti della coorte cohortActiveUsers/cohortTotalUsers anziché utilizzare la richiesta metrica cohortActiveUsers.

La richiesta di report per queste coorti è:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
  "metrics": [
    {
      "name": "cohortRetentionFraction",
      "expression": "cohortActiveUsers/cohortTotalUsers"
    }
  ],
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-02", "endDate": "2020-11-02" }
      },
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-09", "endDate": "2020-11-09" }
      },
      {
        "dimension": "firstSessionDate",
        "dateRange": { "startDate": "2020-11-16", "endDate": "2020-11-16" }
      }
    ],
    "cohortsRange": {
      "endOffset": 4,
      "granularity": "DAILY"
    }
  },
}

Per questa richiesta, un esempio di risposta a un report è:

{
  "dimensionHeaders": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
  "metricHeaders": [{
      "name": "cohortRetentionFraction",
      "type": "TYPE_FLOAT"
    }
  ],
  "rows": [
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0000" }],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.308" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.272" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.257" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
      "metricValues": [{ "value": "0.248" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.235" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_2" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.211" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.198" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
      "metricValues": [{ "value": "0.172" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.167" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_1" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.155" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
      "metricValues": [{ "value": "0.141" }]
    },
    {
      "dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
      "metricValues": [{ "value": "0.118" }]
    }
  ],
  "metadata": {},
  "rowCount": 15
}

Da questa risposta al report, viene riportato un grafico per il report di coorte. Un approfondimento da questo report è che la fidelizzazione utenti in 4 giorni è aumentata del 10% rispetto alla di due settimane. La coorte successiva con firstSessionDate di 2020-11-16 supera la fidelizzazione della coorte precedente con firstSessionDate di 2020-11-02.

Grafico di più ritenzioni della coorte

Coorti settimanali e utilizzo di coorti con altre funzionalità dell'API

Per rimuovere la varianza giornaliera nel comportamento degli utenti, utilizza le coorti settimanali. Tra settimana report sulle coorti, tutti gli utenti con firstSessionDate nella stessa settimana della coorte. Le settimane iniziano la domenica e terminano il sabato. Inoltre, in questo report suddividere la coorte per confrontare gli utenti con attività in Russia con quelli con dell'attività in Messico. Questa suddivisione utilizza la dimensione country e una dimensionFilter per considerare solo i due paesi.

La richiesta di report per queste coorti è:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dimensions": [
    { "name": "cohort" },
    { "name": "cohortNthWeek" },
    { "name": "country" }
  ],
  "metrics": [{ "name": "cohortActiveUsers" }],
  "dimensionFilter": {
    "filter": {
      "fieldName": "country",
      "inListFilter": {
        "values": [ "Russia", "Mexico" ]
      }
    }
  },
  "cohortSpec": {
    "cohorts": [
      {
        "dimension": "firstSessionDate",
        "dateRange": {
          "startDate": "2020-10-04",
          "endDate": "2020-10-10"
        }
      }
    ],
    "cohortsRange": {
      "endOffset": 5,
      "granularity": "WEEKLY"
    }
  },
}

Per questa richiesta, un esempio di risposta a un report è:

{
  "dimensionHeaders": [
    { "name": "cohort" },
    { "name": "cohortNthWeek" },
    { "name": "country" }
  ],
  "metricHeaders": [
    { "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
  ],
  "rows": [
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0000" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "105" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0000" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "98" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0001" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "35" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0002" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "24" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0001" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "23" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0004" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "17" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0003" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "15" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0005" },{ "value": "Mexico" }
      ],
      "metricValues": [{ "value": "15" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0002" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "3" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0003" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "1" }]
    },
    {
      "dimensionValues": [
        { "value": "cohort_0" },{ "value": "0004" },{ "value": "Russia" }
      ],
      "metricValues": [{ "value": "1" }]
    }
  ],
  "metadata": {},
  "rowCount": 11
}

Da questa risposta al report, segue il grafico del report di coorte. In base a questi questa proprietà sta registrando risultati migliori nel fidelizzare gli utenti con attività in Messico rispetto agli utenti con attività in Russia.

Grafico delle coorti di confronto tra paesi

Confronti

I confronti ti consentono di analizzare i sottoinsiemi dei tuoi dati uno accanto all'altro. Puoi Definire i confronti specificando comparisons campo in una definizione di report. La funzionalità di confronto dell'API di dati è simile Confronti nel frontend di Google Analytics.

Per la documentazione dettagliata di ciascun campo API, consulta il riferimento REST per Confronto.

Crea un confronto

Puoi creare un confronto separato per ogni set di dati da confrontare. Ad esempio, per confrontare i dati dell'app e del web, puoi creare un confronto per Dati di Android e iOS e un altro confronto per i dati web.

Ecco un report di esempio che definisce due confronti e restituisce gli utenti attivi con una suddivisione per paese.

Il primo confronto denominato "Traffico app" usa inListFilter per crea una corrispondenza con la dimensione platform con i valori "iOS" e "Android". Il secondo confronto denominato "Traffico web" utilizza stringFilter per corrispondere a platform con "web".

  POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
  {
    "comparisons": [
      {
        "name": "App traffic",
        "dimensionFilter": {
          "filter": {
            "fieldName": "platform",
            "inListFilter": {
              "values": [
                "iOS",
                "Android"
              ]
            }
          }
        }
      },
      {
        "name": "Web traffic",
        "dimensionFilter": {
          "filter": {
            "fieldName": "platform",
            "stringFilter": {
              "matchType": "EXACT",
              "value": "web"
            }
          }
        }
      }
    ],
    "dateRanges": [
      {
        "startDate": "2024-05-01",
        "endDate": "2024-05-15"
      }
    ],
    "dimensions": [
      {
        "name": "country"
      }
    ],
    "metrics": [
      {
        "name": "activeUsers"
      }
    ]
  }

Per tutte le richieste che utilizzano la funzionalità di confronto, il campo comparison è aggiunti automaticamente al report generato. Questo campo contiene il nome del confronto fornito nella richiesta.

Ecco uno snippet di esempio di una risposta contenente confronti:

{
  "dimensionHeaders": [
    {
      "name": "comparison"
    },
    {
      "name": "country"
    }
  ],
  "metricHeaders": [
    {
      "name": "activeUsers",
      "type": "TYPE_INTEGER"
    }
  ],
  "rows": [
    {
      "dimensionValues": [
        {
          "value": "Web traffic"
        },
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "638572"
        }
      ]
    },
    {
      "dimensionValues": [
        {
          "value": "Web traffic"
        },
        {
          "value": "Japan"
        }
      ],
      "metricValues": [
        {
          "value": "376578"
        }
      ]
    },
  {
      "dimensionValues": [
        {
          "value": "App traffic"
        },
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "79527"
        }
      ]
    },

    ...

  ],

...

}