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 a2020-12-01
; questo è configurato dall'oggettocohorts
. 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 giorno2020-12-01
. - La metrica
cohortActiveUsers
indica il numero di utenti ancora attivi.
- La dimensione
- L'oggetto
cohortsRange
specifica che il report deve contenere dati sugli eventi a partire da2020-12-01
fino a2020-12-06
per questa coorte.- Quando viene utilizzata una granularità pari a
DAILY
, la dimensionecohortNthDay
è consigliato per coerenza.
- Quando viene utilizzata una granularità pari a
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.
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
.
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.
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"
}
]
},
...
],
...
}