Questo documento fornisce il riferimento completo per query e risposte per la versione 3.0 dell'API Core Reporting.
Introduzione
Esegui una query sull'API Core Reporting per i dati dei report di Google Analytics. Ogni query richiede un ID vista (profilo), una data di inizio e di fine e almeno una metrica. Puoi anche fornire parametri di query aggiuntivi come dimensioni, filtri e segmenti per perfezionare la query. Consulta la Guida panoramica per comprendere come tutti questi concetti funzionano insieme.
Richiesta
L'API fornisce un singolo metodo per richiedere i dati:
analytics.data.ga.get()
Questo metodo è esposto in varie librerie client e ha interfacce specifiche per i linguaggi per impostare i parametri di query.
L'API può anche essere sottoposta a query come endpoint REST:
Authorization: Bearer {oauth2-token} GET https://www.googleapis.com/analytics/v3/data/ga ?ids=ga:12345 &start-date=2008-10-01 &end-date=2008-10-31 &metrics=ga:sessions,ga:bounces
Ogni parametro di query dell'URL specifica un parametro di query dell'API che deve essere codificato nell'URL.
Riepilogo dei parametri di query
La seguente tabella riassume tutti i parametri di query accettati dall'API di reporting principale. Fai clic sul nome di ciascun parametro per una descrizione dettagliata.
Nome | Valore | Obbligatorio | Riepilogo |
---|---|---|---|
ids |
string |
yes | L'ID tabella univoco nel formato ga:XXXX, dove XXXX è l'ID vista (profilo) di Analytics per cui la query recupererà i dati. |
start-date |
string |
yes |
Data di inizio per il recupero dei dati di Analytics. Le richieste possono specificare una data di inizio nel formato YYYY-MM-DD o come data relativa (ad es. today , yesterday o
NdaysAgo , dove N è un numero intero positivo).
|
end-date |
string |
yes |
Data di fine per il recupero dei dati di Analytics. La richiesta può specificare una data di fine nel formato YYYY-MM-DD o come data relativa (ad es.
today , yesterday o NdaysAgo
dove N è un numero intero positivo).
|
metrics |
string |
yes |
Un elenco di metriche separate da virgole, come ga:sessions,ga:bounces .
|
dimensions |
string |
no |
Un elenco di dimensioni separate da virgole per i dati di Analytics, come
ga:browser,ga:city .
|
sort |
string |
no | Un elenco di dimensioni e metriche separate da virgole che indicano l'ordinamento e la direzione di ordinamento dei dati restituiti. |
filters |
string |
no | Filtri di dimensioni o metriche che limitano i dati restituiti per la tua richiesta. |
segment |
string |
no | Segmenta i dati restituiti per la richiesta. |
samplingLevel |
string |
no | Il livello di campionamento desiderato. Valori consentiti:
|
include-empty-rows |
boolean |
no | Il valore predefinito è true. Se impostato su false, le righe in cui tutti i valori delle metriche sono zero verranno omesse dalla risposta. |
start-index |
integer |
no |
La prima riga di dati da recuperare, a partire da 1. Utilizza questo parametro come meccanismo di impaginazione insieme al parametro max-results .
|
max-results |
integer |
no | Il numero massimo di righe da includere nella risposta. |
output |
string |
no |
Il tipo di output desiderato per i dati di Analytics restituiti nella risposta.
I valori accettati sono json e
dataTable . Valore predefinito: json .
|
fields |
string |
no | Selettore che specifica un sottoinsieme di campi da includere nella risposta. |
prettyPrint |
string |
no |
Restituisce la risposta con rientri e interruzioni di riga. Valore predefinito: false .
|
userIp |
string |
no | Specifica l'indirizzo IP dell'utente finale per il quale viene effettuata la chiamata API. Utilizzato per limitare l'utilizzo per IP. |
quotaUser |
string |
no | In alternativa a userIp nei casi in cui l'indirizzo IP dell'utente è sconosciuto. |
access_token |
string |
no | Un modo possibile per fornire un token OAuth 2.0. |
callback |
string |
no | Nome della funzione di callback JavaScript che gestisce la risposta. Utilizzato nelle richieste JSON-P JavaScript. |
key |
string |
no | Utilizzato per l'autorizzazione OAuth 1.0a per specificare la tua applicazione per ottenere la quota. Ad esempio:
key=AldefliuhSFADSfasdfasdfASdf . |
Dettagli parametro di query
ids
ids=ga:12345
ga:
con l'ID della vista (profilo) di Analytics. Puoi recuperare l'ID vista (profilo) utilizzando il metodo analytics.management.profiles.list
, che fornisce il valore id
nella risorsa Vista (profilo) nell'API di gestione di Google Analytics.
data di inizio
start-date=2009-04-20
start-date
e end-date
nella richiesta, il server restituisce
un errore. I valori di data possono riferirsi a una data specifica utilizzando il pattern
YYYY-MM-DD
o relativo utilizzando today
,
yesterday
o il pattern NdaysAgo
.
I valori devono corrispondere a
[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
.
start-date
valido è 2005-01-01
.
Non esiste una limitazione di limite superiore per una data di inizio.Esempio di intervallo di date per gli ultimi 7 giorni (a partire da ieri) utilizzando date relative:
&start-date=7daysAgo &end-date=yesterday
data di fine
end-date=2009-05-20
start-date
e end-date
nella richiesta, il server restituisce
un errore. I valori di data possono riferirsi a una data specifica utilizzando il pattern
YYYY-MM-DD
o relativo utilizzando today
,
yesterday
o il pattern NdaysAgo
.
I valori devono corrispondere a
[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
.
end-date
valido è
2005-01-01
. Non esiste una limitazione di limite superiore per un end-date
. Esempio di intervallo di date per gli ultimi 10 giorni (a partire da oggi) utilizzando date relative:
&start-date=9daysAgo &end-date=today
dimensioni
dimensions=ga:browser,ga:city
dimensions
suddivide le metriche in base a criteri comuni, ad esempio, in base a ga:browser
o ga:city
.
Sebbene si possa chiedere il numero totale di visualizzazioni di pagina del sito, potrebbe essere più interessante chiedere il numero di visualizzazioni di pagina suddiviso per browser. In questo caso, viene visualizzato il numero di visualizzazioni di pagina da
Firefox, Internet Explorer, Chrome e così via.
Quando utilizzi dimensions
in una richiesta di dati, tieni presente i seguenti vincoli:
- Puoi fornire un massimo di 7 dimensioni per qualsiasi query.
- Non puoi inviare una query composta solo da dimensioni: devi combinare eventuali dimensioni richieste con almeno una metrica.
- È possibile eseguire query solo su determinate dimensioni nella stessa query. Utilizza lo strumento di combinazione valido nella pagina Riferimento dimensioni e metriche per scoprire quali dimensioni possono essere utilizzate insieme.
metrics
metrics=ga:sessions,ga:bounces
dimensions
, le metriche restituite forniscono valori aggregati per l'intervallo di date richiesto, come le visualizzazioni di pagina complessive o i rimbalzi totali. Tuttavia, quando vengono richieste le dimensioni, i valori vengono segmentati per valore di dimensione. Ad esempio, la richiesta ga:pageviews
con
ga:country
restituisce le visualizzazioni di pagina totali per paese.
Quando richiedi le metriche, tieni presente quanto segue:
- Qualsiasi richiesta deve fornire almeno una metrica; una richiesta non può essere composta solo da dimensioni.
- Puoi fornire un massimo di 10 metriche per qualsiasi query.
- È possibile utilizzare insieme la maggior parte delle combinazioni di metriche di più categorie, a condizione che non vengano specificate dimensioni.
- Una metrica può essere utilizzata in combinazione con altre dimensioni o metriche, ma solo nei casi in cui per la metrica si applicano combinazioni valide. Per maggiori dettagli, consulta la pagina Riferimento per dimensioni e metriche.
ordinare
sort=ga:country,ga:browser
Un elenco di metriche e dimensioni che indicano l'ordinamento e la direzione di ordinamento dei dati restituiti.
- L'ordine di ordinamento è specificato in base all'ordine da sinistra a destra delle metriche e delle dimensioni elencate.
- Per impostazione predefinita, la direction di ordinamento è crescente e può essere
modificata in decrescente utilizzando un segno meno (
-
) come prefisso nel campo richiesto.
L'ordinamento dei risultati di una query ti consente di porre diverse domande sui dati. Ad esempio, per rispondere alla domanda "Quali sono i miei paesi principali e quali browser utilizzano maggiormente?"
puoi creare una query con il seguente parametro. Ordina prima per ga:country
e poi per ga:browser
, entrambi in ordine crescente:
sort=ga:country,ga:browser
Per rispondere alla domanda correlata "Quali sono i miei browser principali e quali paesi li usano maggiormente?", puoi creare una query con il seguente parametro. Ordina prima per
ga:browser
e poi per ga:country
, entrambi in ordine crescente:
sort=ga:browser,ga:country
Quando utilizzi il parametro sort
, tieni presente quanto segue:
- Ordina solo per dimensioni o valori delle metriche utilizzati nei parametri
dimensions
ometrics
. Se la richiesta viene ordinata in base a un campo non indicato nel parametro delle dimensioni o delle metriche, verrà visualizzato un errore. - Per impostazione predefinita, le stringhe sono ordinate in ordine alfabetico crescente nelle impostazioni internazionali en-US.
- Per impostazione predefinita, i numeri sono ordinati in ordine numerico crescente.
- Per impostazione predefinita, le date sono ordinate in ordine crescente in base alla data.
filtri
filters=ga:medium%3D%3Dreferral
Il parametro della stringa di query filters
limita i dati restituiti dalla richiesta. Per utilizzare il parametro filters
, specifica una dimensione o una metrica in base alla quale filtrare, seguita dall'espressione di filtro. Ad esempio, la seguente query richiede ga:pageviews
e ga:browser
per la vista (profilo) 12134
, dove la dimensione ga:browser
inizia con la stringa Firefox
:
https://www.googleapis.com/analytics/v3/data/ga ?ids=ga:12134 &dimensions=ga:browser &metrics=ga:pageviews &filters=ga:browser%3D~%5EFirefox &start-date=2007-01-01 &end-date=2007-12-31
Le query filtrate limitano le righe che vengono o non vengono incluse nel risultato. Ogni riga nel risultato viene verificata in base al filtro: se il filtro corrisponde, la riga viene mantenuta e, in caso contrario, viene eliminata.
- Codifica URL: le librerie client dell'API di Google codificano automaticamente gli operatori di filtro.
- Filtro dimensioni: l'applicazione dei filtri avviene prima dell'aggregazione delle dimensioni, in modo che le metriche restituite rappresentino il totale solo per le dimensioni pertinenti. Nell'esempio riportato sopra, il numero di visualizzazioni di pagina corrisponde solo alle visualizzazioni di pagina in cui Firefox è il browser.
- Filtro delle metriche: l'applicazione di filtri in base alle metriche viene eseguita dopo l'aggregazione delle metriche.
- Combinazioni valide: puoi filtrare in base a una dimensione o una metrica che non fa parte della query, a condizione che tutte le dimensioni/metriche nella richiesta e il filtro siano combinazioni valide. Ad esempio, potresti voler eseguire una query per un elenco con date di visualizzazioni di pagina, filtrando in base a un browser specifico. Per ulteriori informazioni, consulta la documentazione di riferimento su dimensioni e metriche.
Sintassi dei filtri
Un singolo filtro utilizza il modulo:
ga:name operator expression
Con questa sintassi:
- name: il nome della dimensione o metrica in base a cui applicare il filtro. Ad esempio,
ga:pageviews
filtri per la metrica delle visualizzazioni di pagina. - operator: definisce il tipo di corrispondenza del filtro da utilizzare. Gli operatori sono specifici per dimensioni o metriche.
- expression: indica i valori da includere o escludere dai risultati. Le espressioni utilizzano la sintassi delle espressioni regolari.
Filtra operatori
Esistono sei operatori di filtro per le dimensioni e sei per le metriche. Gli operatori devono essere codificati nell'URL per essere inclusi nelle stringhe di query dell'URL.
Suggerimento: utilizza Query Explorer nei feed di dati per progettare filtri che necessitano della codifica degli URL, poiché Query Explorer codifica automaticamente gli URL contenenti stringhe e spazi.
Operatore | Descrizione | Modulo con codifica URL | Esempi |
---|---|---|---|
== |
È uguale a | %3D%3D |
Restituisci risultati in cui il tempo sulla pagina è esattamente di dieci secondi:filters=ga:timeOnPage%3D%3D10 |
!= |
Diverso da | !%3D |
Restituisci risultati in cui il tempo sulla pagina non è di dieci secondi:filters=ga:timeOnPage!%3D10 |
> |
Maggiore di | %3E |
Restituisci risultati in cui il tempo sulla pagina è strettamente superiore a dieci secondi:filters=ga:timeOnPage%3E10 |
< |
Minore di | %3C |
Restituisci risultati in cui il tempo sulla pagina è strettamente inferiore a dieci secondi:filters=ga:timeOnPage%3C10 |
>= |
Maggiore o uguale a | %3E%3D |
Restituisci risultati in cui il tempo sulla pagina è pari o superiore a dieci secondi:filters=ga:timeOnPage%3E%3D10 |
<= |
Minore o uguale a | %3C%3D |
Restituisci risultati in cui il tempo sulla pagina è pari o inferiore a dieci secondi:filters=ga:timeOnPage%3C%3D10 |
Operatore | Descrizione | Modulo con codifica URL | Esempio |
---|---|---|---|
== |
Corrispondenza esatta | %3D%3D |
Metriche aggregate in cui la città è Irvine:filters=ga:city%3D%3DIrvine |
!= |
Non corrisponde a | !%3D |
Metriche aggregate dove la città non è Irvine:filters=ga:city!%3DIrvine |
=@ |
Contiene una sottostringa | %3D@ |
Metriche aggregate in cui la città contiene York:filters=ga:city%3D@York |
!@ |
Non contiene sottostringhe | !@ |
Metriche aggregate in cui la città non contiene York:filters=ga:city!@York |
=~ |
Contiene una corrispondenza per l'espressione regolare | %3D~ |
Metriche aggregate in cui la città inizia con Nuova:filters=ga:city%3D~%5ENew.* (%5E è l'URL codificato a partire dal carattere ^ che ancorata un pattern all'inizio della stringa). |
!~ |
Non corrisponde all'espressione regolare | !~ |
Metriche aggregate in cui la città non inizia con Nuova: filters=ga:city!~%5ENew.* |
Filtra espressioni
Esistono un paio di regole importanti per le espressioni di filtro:
- Caratteri riservati agli URL: i caratteri come
&
devono essere codificati nell'URL normalmente. - Caratteri riservati: il punto e virgola e la virgola devono essere preceduti da una barra rovesciata quando vengono visualizzati in un'espressione:
- punto e virgola
\;
- virgola
\,
- punto e virgola
- Espressioni regolari: puoi utilizzare anche espressioni regolari nelle espressioni di filtro
utilizzando gli operatori
=~
e!~
. La loro sintassi è simile alle espressioni regolari Perl e prevedono queste regole aggiuntive:- Lunghezza massima di 128 caratteri: le espressioni regolari che superano i 128 caratteri generano un codice di stato
400 Bad Request
restituito dal server. - Sensibilità alle maiuscole: la corrispondenza delle espressioni regolari non fa distinzione tra maiuscole e minuscole.
- Lunghezza massima di 128 caratteri: le espressioni regolari che superano i 128 caratteri generano un codice di stato
Combinazione di filtri
I filtri possono essere combinati utilizzando la logica booleana OR
e AND
. Ciò
consente di estendere in modo efficace il limite di 128 caratteri di un'espressione di filtro.
OR
L'operatore OR
viene definito utilizzando una virgola (,
).
Ha la precedenza sull'operatore AND
e NON può essere utilizzato
per combinare dimensioni e metriche nella stessa espressione.
Esempi: (ciascuno deve essere codificato come URL)
Il paese è (Stati Uniti O Canada):
ga:country==United%20States,ga:country==Canada
Utenti di Firefox con sistemi operativi (Windows O Macintosh):
ga:browser==Firefox;ga:operatingSystem==Windows,ga:operatingSystem==Macintosh
E
L'operatore AND
viene definito utilizzando un punto e virgola (;
).
È preceduto dall'operatore OR
e può essere utilizzato per combinare dimensioni e metriche nella stessa espressione.
Esempi: (ciascuno deve essere codificato come URL)
Il paese è Stati Uniti E il browser è Firefox:
ga:country==United%20States;ga:browser==Firefox
Il paese è "Stati Uniti" E la lingua non inizia con "en":
ga:country==United%20States;ga:language!~^en.*
Il sistema operativo è (Windows O Macintosh) E il browser è (Firefox O Chrome):
ga:operatingSystem==Windows,ga:operatingSystem==Macintosh;ga:browser==Firefox,ga:browser==Chrome
Il paese è costituito dagli Stati Uniti E le sessioni sono maggiori di 5:
ga:country==United%20States;ga:sessions>5
segmento
segment=gaid::-10
segment=sessions::condition::ga:medium%3D%3Dreferral
segment=users::condition::ga:browser%3D%3DChrome
Per dettagli completi su come richiedere un segmento nell'API di reporting principale, consulta la Guida per lo sviluppo di segmenti.
Per una panoramica concettuale dei segmenti, consulta la documentazione relativa al riferimento sulle funzionalità dei segmenti e ai segmenti nel Centro assistenza.
Dimensioni e metriche consentite nei segmenti.
Non tutte le dimensioni e metriche possono essere utilizzate nei segmenti. Per esaminare
le dimensioni e le metriche consentite nei segmenti, visita
lo
strumento di esplorazione di dimensioni e metriche.
samplingLevel
samplingLevel=DEFAULT
DEFAULT
: restituisce la risposta con una dimensione del campione che bilancia velocità e precisione.FASTER
: restituisce una risposta rapida con un campione di dimensioni inferiori.HIGHER_PRECISION
: restituisce una risposta più accurata utilizzando un campione di grandi dimensioni, ma ciò potrebbe rallentare la risposta.
DEFAULT
.includi-righe-vuote
include-empty-rows=true
start-index
start-index=10
1
. Gli indici di risultati sono basati su 1. In altre parole, la prima riga è la riga 1
, non la riga 0
.) Utilizza questo parametro come meccanismo di impaginazione insieme al parametro max-results
per le situazioni in cui totalResults
supera 10.000 e vuoi recuperare le righe indicizzate a partire da 10.001.max-results
max-results=100
start-index
per recuperare un sottoinsieme di elementi o utilizzarla da sola per limitare il numero di elementi restituiti, a partire dal primo.
Se max-results
non viene fornito, la query restituisce
il massimo predefinito di 1000 righe.ga:country
, pertanto quando segmenti solo
in base al paese, non puoi ottenere più di 300 righe, anche se
imposti un valore più alto di max-results
.output
output=dataTable
json
: restituisce la proprietàrows
predefinita nella risposta, contenente un oggetto JSON.dataTable
: restituisce una proprietàdataTable
nella risposta, contenente un oggetto Tabella dati. Questo oggettoData Table
può essere utilizzato direttamente con le visualizzazioni dei grafici Google.
campi
fields=rows,columnHeaders(name,dataType)
Specifica quali campi restituire in una risposta parziale. Se utilizzi solo un sottoinsieme dei campi nella risposta dell'API, puoi utilizzare il parametro fields
per specificare quali campi includere.
Il formato del valore del parametro di richiesta dei campi si basa sulla sintassi XPath. La sintassi supportata è riassunta di seguito.
- Utilizza un elenco separato da virgole per selezionare più campi.
- Utilizza
a/b
per selezionare un campo b nidificato all'interno del campo a; utilizzaa/b/c
per selezionare un campo c nidificato all'interno di b. - Utilizza un sottoselettore per richiedere un insieme di sottocampi specifici di array o oggetti inserendo espressioni tra parentesi
"( )"
.
Ad esempio:fields=columnHeaders(name,dataType)
restituisce solo i campiname
edataType
nell'arraycolumnHeaders
. Puoi anche specificare un singolo sottocampo, dovefields=columnHeader(name)
equivale afields=columnHeader/name
.
prettyPrint
prettyPrint=false
Restituisce la risposta in un formato leggibile se true
.
Valore predefinito: false
.
quotaUser
quotaUser=4kh4r2h4
Consente di applicare le quote per utente da un'applicazione lato server anche quando l'indirizzo IP dell'utente è sconosciuto. Questo può accadere, ad esempio, con le applicazioni che eseguono cron job su App Engine per conto di un utente. Puoi scegliere qualsiasi stringa arbitraria che identifichi in modo univoco un utente, ma è limitata a 40 caratteri.
Questo sostituisce userIp
se vengono forniti entrambi.
Risposta
Se l'esito è positivo, questa richiesta restituisce un corpo della risposta con la struttura JSON definita di seguito. Se il parametro output è impostato su dataTable
, la richiesta restituisce un corpo della risposta con la struttura JSON (tabella dei dati) definita di seguito.
Nota: il termine "risultati" si riferisce all'intero insieme di righe che corrispondono alla query, mentre "risposta" si riferisce all'insieme di righe restituite nella pagina dei risultati corrente. Possono essere diversi se il numero totale di risultati è superiore alle dimensioni di pagina della risposta corrente, come spiegato in itemsPerPage.
{
"kind": "analytics#gaData",
"id": string,
"selfLink": string,
"containsSampledData": boolean,
"query": {
"start-date": string,
"end-date": string,
"ids": string,
"dimensions": [
string
],
"metrics": [
string
],
"include-empty-rows": boolean
"samplingLevel": string,
"sort": [
string
],
"filters": string,
"segment": string,
"start-index": integer,
"max-results": integer
},
"itemsPerPage": integer,
"totalResults": integer,
"previousLink": string,
"nextLink": string,
"profileInfo": {
"profileId": string,
"accountId": string,
"webPropertyId": string,
"internalWebPropertyId": string,
"profileName": string,
"tableId": string
},
"columnHeaders": [
{
"name": string,
"columnType": string,
"dataType": string
}
],
"rows": [
[
string
]
],
"sampleSize": string,
"sampleSpace": string,
"totalsForAllResults": [
{
metricName: string,
...
}
]
}
Campi risposta
Le proprietà della struttura del corpo della risposta sono definite come segue:
Nome proprietà | Valore | Descrizione |
---|---|---|
kind |
string |
Tipo di risorsa. Il valore è "analytics#gaData". |
id |
string |
Un ID per questa risposta dati. |
query |
object |
Questo oggetto contiene tutti i valori passati come parametri alla query. Il significato di ogni campo è spiegato nella descrizione del parametro di query corrispondente. |
query.start-date |
string |
Data di inizio. |
query.end-date |
string |
Data di fine. |
query.ids |
string |
ID tabella univoco. |
query.dimensions[] |
list |
Elenco delle dimensioni di analisi. |
query.metrics[] |
list |
Elenco delle metriche di analisi. |
query.samplingLevel |
string |
Requested sampling level. |
query.include-empty-rows |
boolean |
Il valore predefinito è true. Se impostato su false, le righe in cui tutti i valori delle metriche sono pari a zero verranno omesse dalla risposta. |
query.sort[] |
list |
Elenco di metriche o dimensioni in base alle quali sono ordinati i dati. |
query.filters |
string |
Elenco separato da virgole di filtri di metriche o dimensioni. |
query.segment |
string |
Segmento di Analytics. |
query.start-index |
integer |
Indice iniziale. |
query.max-results |
integer |
Numero massimo di risultati per pagina. |
startIndex |
integer |
L'indice iniziale delle righe specificate dal
parametro di query start-index . Il valore predefinito è 1. |
itemsPerPage |
integer |
Il numero massimo di righe che la risposta può contenere, indipendentemente dal numero effettivo di righe restituite. Se
viene specificato il parametro di query max-results ,
il valore di itemsPerPage è il minore tra max-results
o 10.000. Il valore predefinito di itemsPerPage è 1000.
|
totalResults |
integer |
Il numero totale di righe nel risultato della query, indipendentemente dal numero di righe restituite nella risposta. Per le query che
generano un numero elevato di righe,
il valore totalResults può essere maggiore di
itemsPerPage .
Per ulteriori spiegazioni su totalResults e itemsPerPage per le query di grandi dimensioni, consulta la sezione Paging.
|
startDate |
string |
Data di inizio della query sui dati, come specificata dal
parametro start-date . |
endDate |
string |
Data di fine della query sui dati, come specificata dal
parametro end-date . |
selfLink |
string |
Link a questa pagina di risultati per questa query sui dati. |
previousLink |
string |
Link alla pagina precedente dei risultati per questa query sui dati. |
nextLink |
string |
Link alla pagina successiva dei risultati per questa query sui dati. |
profileInfo |
object |
Informazioni sulla vista (profilo) per cui sono stati richiesti i dati. I dati delle visualizzazioni (profilo) sono disponibili tramite l'API di gestione di Google Analytics. |
profileInfo.profileId |
string |
Visualizza l'ID (profilo), ad esempio 1174 . |
profileInfo.accountId |
string |
ID account a cui appartiene questa vista (profilo), ad esempio
30481 . |
profileInfo.webPropertyId |
string |
ID proprietà web a cui appartiene questa vista (profilo), ad esempio UA-30481-1 . |
profileInfo.internalWebPropertyId |
string |
ID interno della proprietà web a cui appartiene questa vista (profilo), ad esempio UA-30481-1 . |
profileInfo.profileName |
string |
Nome della vista (profilo). |
profileInfo.tableId |
string |
ID tabella della vista (profilo), composto da "ga:" seguito dall'ID vista (profilo). |
containsSampledData |
boolean |
True se la risposta contiene dati campionati. |
sampleSize |
string |
Il numero di campioni utilizzati per calcolare i dati campionati. |
sampleSpace |
string |
La dimensione totale dello spazio di campionamento. Indica la dimensione totale dello spazio di esempio disponibile da cui sono stati selezionati gli esempi. |
columnHeaders[] |
list |
Intestazioni di colonna che elencano i nomi delle dimensioni seguiti dai nomi delle metriche. L'ordine di dimensioni e metriche è lo stesso specificato nella richiesta tramite i parametri metrics e dimensions . Il numero di intestazioni corrisponde al numero di dimensioni e al numero di metriche. |
columnHeaders[].name |
string |
Nome della dimensione o metrica. |
columnHeaders[].columnType |
string |
Tipo di colonna. Può essere "DIMENSION" o "METRIC". |
columnHeaders[].dataType |
string |
Tipo di dati. Le intestazioni delle colonne delle dimensioni hanno solo
STRING come tipo di dati. Le intestazioni di colonna delle metriche contengono tipi di dati per i valori delle metriche come INTEGER , PERCENT , TIME , CURRENCY , FLOAT e così via. Consulta la risposta dell'API metadata per tutti i possibili tipi di dati.
|
totalsForAllResults |
object |
Valori totali delle metriche richieste come coppie chiave-valore di nomi e valori delle metriche. L'ordine dei totali delle metriche corrisponde a quello delle metriche specificato nella richiesta. |
rows[] |
list |
Righe di dati di Analytics, in cui ogni riga contiene un elenco di valori di dimensione seguiti dai valori delle metriche. L'ordine di dimensioni e metriche è lo stesso specificato nella richiesta. Ogni riga ha un elenco di N campi, dove N = il numero di dimensioni + il numero di metriche. |
{
"kind": "analytics#gaData",
"id": string,
"selfLink": string,
"containsSampledData": boolean,
"query": {
"start-date": string,
"end-date": string,
"ids": string,
"dimensions": [
string
],
"metrics": [
string
],
"samplingLevel": string,
"include-empty-rows": boolean,
"sort": [
string
],
"filters": string,
"segment": string,
"start-index": integer,
"max-results": integer
},
"itemsPerPage": integer,
"totalResults": integer,
"previousLink": string,
"nextLink": string,
"profileInfo": {
"profileId": string,
"accountId": string,
"webPropertyId": string,
"internalWebPropertyId": string,
"profileName": string,
"tableId": string
},
"columnHeaders": [
{
"name": string,
"columnType": string,
"dataType": string
}
],
"dataTable": {
"cols": [
{
"id": string,
"label": string,
"type": string
}
],
"rows": [
{
"c": [
{
"v": string
}
]
}
]
},
"sampleSize": string,
"sampleSpace": string,
"totalsForAllResults": [
{
metricName: string,
...
}
]
}
Campi risposta
Le proprietà della struttura del corpo della risposta sono definite come segue:
Nome proprietà | Valore | Descrizione |
---|---|---|
kind |
string |
Tipo di risorsa. Il valore è "analytics#gaData". |
id |
string |
Un ID per questa risposta dati. |
query |
object |
Questo oggetto contiene tutti i valori passati come parametri alla query. Il significato di ogni campo è spiegato nella descrizione del parametro di query corrispondente. |
query.start-date |
string |
Data di inizio. |
query.end-date |
string |
Data di fine. |
query.ids |
string |
ID tabella univoco. |
query.dimensions[] |
list |
Elenco delle dimensioni di analisi. |
query.metrics[] |
list |
Elenco delle metriche di analisi. |
query.samplingLevel |
string |
Requested sampling level. |
query.include-empty-rows |
boolean |
Il valore predefinito è true. Se impostato su false, le righe in cui tutti i valori delle metriche sono pari a zero verranno omesse dalla risposta. |
query.sort[] |
list |
Elenco di metriche o dimensioni in base alle quali sono ordinati i dati. |
query.filters |
string |
Elenco separato da virgole di filtri di metriche o dimensioni. |
query.segment |
string |
Segmento di Analytics. |
query.start-index |
integer |
Indice iniziale. |
query.max-results |
integer |
Numero massimo di risultati per pagina. |
startIndex |
integer |
L'indice iniziale delle righe specificate dal
parametro di query start-index . Il valore predefinito è 1. |
itemsPerPage |
integer |
Il numero massimo di righe che la risposta può contenere, indipendentemente dal numero effettivo di righe restituite. Se
viene specificato il parametro di query max-results ,
il valore di itemsPerPage è il minore tra max-results
o 10.000. Il valore predefinito di itemsPerPage è 1000.
|
totalResults |
integer |
Il numero totale di righe nel risultato della query, indipendentemente dal numero di righe restituite nella risposta. Per le query che
generano un numero elevato di righe,
il valore totalResults può essere maggiore di
itemsPerPage .
Per ulteriori spiegazioni su totalResults e itemsPerPage per le query di grandi dimensioni, consulta la sezione Paging.
|
startDate |
string |
Data di inizio della query sui dati, come specificata dal
parametro start-date . |
endDate |
string |
Data di fine della query sui dati, come specificata dal
parametro end-date . |
selfLink |
string |
Link a questa pagina di risultati per questa query sui dati. |
previousLink |
string |
Link alla pagina precedente dei risultati per questa query sui dati. |
nextLink |
string |
Link alla pagina successiva dei risultati per questa query sui dati. |
profileInfo |
object |
Informazioni sulla vista (profilo) per cui sono stati richiesti i dati. I dati delle visualizzazioni (profilo) sono disponibili tramite l'API di gestione di Google Analytics. |
profileInfo.profileId |
string |
Visualizza l'ID (profilo), ad esempio 1174 . |
profileInfo.accountId |
string |
ID account a cui appartiene questa vista (profilo), ad esempio
30481 . |
profileInfo.webPropertyId |
string |
ID proprietà web a cui appartiene questa vista (profilo), ad esempio UA-30481-1 . |
profileInfo.internalWebPropertyId |
string |
ID interno della proprietà web a cui appartiene questa vista (profilo), ad esempio UA-30481-1 . |
profileInfo.profileName |
string |
Nome della vista (profilo). |
profileInfo.tableId |
string |
ID tabella della vista (profilo), composto da "ga:" seguito dall'ID vista (profilo). |
containsSampledData |
boolean |
True se la risposta contiene dati campionati. |
sampleSize |
string |
Il numero di campioni utilizzati per calcolare i dati campionati. |
sampleSpace |
string |
La dimensione totale dello spazio di campionamento. Indica la dimensione totale dello spazio di esempio disponibile da cui sono stati selezionati gli esempi. |
columnHeaders[] |
list |
Intestazioni di colonna che elencano i nomi delle dimensioni seguiti dai nomi delle metriche. L'ordine di dimensioni e metriche è lo stesso specificato nella richiesta tramite i parametri metrics e dimensions . Il numero di intestazioni corrisponde al numero di dimensioni e al numero di metriche. |
columnHeaders[].name |
string |
Nome della dimensione o metrica. |
columnHeaders[].columnType |
string |
Tipo di colonna. Può essere "DIMENSION" o "METRIC". |
columnHeaders[].dataType |
string |
Tipo di dati. Le intestazioni delle colonne delle dimensioni hanno solo
STRING come tipo di dati. Le intestazioni di colonna delle metriche contengono tipi di dati per i valori delle metriche come INTEGER , PERCENT , TIME , CURRENCY , FLOAT e così via. Consulta la risposta dell'API metadata per tutti i possibili tipi di dati.
|
totalsForAllResults |
object |
Valori totali delle metriche richieste come coppie chiave-valore di nomi e valori delle metriche. L'ordine dei totali delle metriche corrisponde a quello delle metriche specificato nella richiesta. |
dataTable |
object |
Un oggetto Tabella di dati che può essere utilizzato con Grafici Google. |
dataTable.cols[] |
list |
Un elenco di descrittori di colonna per le dimensioni, seguiti dalle metriche. L'ordine di dimensioni e metriche è lo stesso specificato nella richiesta tramite i parametri metrics e dimensions . Il numero di colonne corrisponde al numero di dimensioni +
al numero di metriche. |
dataTable.cols[].id |
string |
Un ID, che può essere utilizzato per fare riferimento a una colonna specifica (in alternativa all'utilizzo degli indici di colonna). Per impostare questo valore viene utilizzato l'ID della dimensione o della metrica. |
dataTable.cols[].label |
string |
Un'etichetta per la colonna (che potrebbe essere mostrata da una visualizzazione). Per impostare questo valore viene utilizzato l'ID della dimensione o della metrica. |
dataTable.cols[].type |
string |
Il tipo di dati per questa colonna. |
dataTable.rows[] |
list |
Righe di dati di Analytics nel formato Tabella di dati, in cui ogni riga rappresenta un oggetto contenente un elenco di valori delle celle per le dimensioni seguite dalle metriche. L'ordine di dimensioni e metriche è lo stesso specificato nella richiesta. Ogni cella ha un elenco di N campi, dove N = il numero di dimensioni + il numero di metriche. |
Codici di errore
L'API di reporting principale restituisce un codice di stato HTTP 200
se una richiesta ha esito positivo. Se si verifica un errore durante l'elaborazione di una query, l'API restituisce un codice di errore e una descrizione.
Ogni applicazione che utilizza l'API Analytics deve implementare una logica di gestione degli errori adeguata. Per maggiori dettagli sui codici di errore e su come gestirli, leggi la
guida di riferimento alle risposte di errore.
Provalo!
Puoi provare le query all'API di reporting principale.
-
Per visualizzare le combinazioni valide di metriche e dimensioni in una query, inserisci valori di esempio per i parametri in Query Explorer. I risultati della query di esempio vengono mostrati come tabella con i valori per tutte le metriche e le dimensioni specificate.
-
Per effettuare una richiesta di dati in tempo reale e visualizzare la risposta in formato JSON, prova il metodo
analytics.data.ga.get
nell'Explorer API di dati di Google.
Campionamento
Google Analytics calcola in tempo reale determinate combinazioni di dimensioni e metriche. Per restituire i dati in un tempo ragionevole, Google Analytics può elaborare solo un campione dei dati.
Puoi specificare il livello di campionamento da utilizzare per una richiesta impostando il parametro samplingLevel.
Se una risposta dell'API Core Reporting contiene dati campionati, il campo della risposta containsSampledData
sarà true
.
Inoltre, due proprietà forniranno informazioni sul livello di campionamento per la query: sampleSize
e sampleSpace
.
Con questi due valori puoi calcolare la percentuale di sessioni utilizzate
per la query. Ad esempio, se sampleSize
è 201,000
e sampleSpace
è 220,000
,il report si basa su (201.000 / 220.000) * 100 = 91,36% delle sessioni.
Per una descrizione generale del campionamento e del suo utilizzo in Google Analytics, consulta Campionamento.
Gestione dei risultati di dati di grandi dimensioni
Se prevedi che la query restituisca un set di risultati di grandi dimensioni, utilizza le linee guida riportate di seguito per ottimizzare la query API, evitare errori e ridurre al minimo il superamento della quota. Tieni presente che impostiamo una base di prestazioni per consentire un massimo di 7 dimensioni e 10 metriche in qualsiasi richiesta API. Sebbene l'elaborazione di alcune query che specificano un numero elevato di metriche e dimensioni possa richiedere più tempo di altre, limitare il numero di metriche richieste potrebbe non essere sufficiente per migliorare le prestazioni delle query. Puoi, invece, utilizzare le seguenti tecniche per ottenere i migliori risultati in termini di prestazioni.
Riduzione delle dimensioni per query
L'API consente di specificare fino a sette dimensioni in ogni richiesta. Molte volte Google Analytics deve calcolare all'istante i risultati di queste query complesse. Ciò può richiedere molto tempo, soprattutto se il numero di righe risultanti è elevato. Ad esempio, l'esecuzione di query per parole chiave per città e ora può corrispondere a milioni di righe di dati. Puoi migliorare le prestazioni riducendo il numero di righe che Google Analytics deve elaborare limitando il numero di dimensioni nella query.
Suddivisione della query per intervallo di date
Invece di sfogliare i risultati in base alla data di un lungo intervallo di date, valuta la possibilità di creare query separate per una settimana o anche un giorno alla volta. Ovviamente, per un set di dati di grandi dimensioni, anche una
richiesta di dati relativi a un solo giorno potrebbe restituire più di
max-results
, nel qual caso non è possibile evitare il paging. In ogni caso, tuttavia, se il numero di righe corrispondenti per la query è maggiore di max-results
, la suddivisione dell'intervallo di date potrebbe ridurre il tempo totale per recuperare i risultati. Questo approccio può migliorare le prestazioni sia per le query a thread singolo che per le query parallele.
Paging
La visualizzazione delle pagine dei risultati può essere un modo utile per suddividere grandi insiemi di risultati in blocchi gestibili. Il campo totalResults
indica il numero di righe corrispondenti esistenti, mentre itemsPerPage
fornisce il numero massimo di righe che possono essere restituite nel risultato.
Se è presente un rapporto elevato tra totalResults
e itemsPerPage
, le singole query potrebbero
richiedere più tempo del necessario. Se hai bisogno solo di un numero limitato di righe, ad esempio a scopo di visualizzazione, potrebbe essere utile impostare un limite esplicito per le dimensioni delle risposte tramite il parametro max-results
. Tuttavia, se l'applicazione deve elaborare un grande insieme di risultati nella sua interezza, richiedere il numero massimo di righe consentite può essere più efficiente.
Utilizzo di gzip
Un modo semplice e pratico per ridurre la larghezza di banda necessaria per ogni richiesta è abilitare la compressione gzip. Sebbene ciò richieda tempo di CPU aggiuntivo per decomprimere i risultati, il compromesso con i costi di rete di solito ne vale la pena. Per ricevere una risposta con codifica gzip devi fare due cose: impostare un'intestazione Accept-Encoding
e modificare il tuo user agent in modo che contenga la stringa gzip
.
Ecco un esempio di intestazioni HTTP formattate correttamente per abilitare la compressione gzip:
Accept-Encoding: gzip User-Agent: my program (gzip)