API Core Reporting - Guida di riferimento

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:
  • 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.
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
Obbligatoria.
L'ID univoco utilizzato per recuperare i dati di Analytics. Questo ID è la concatenazione dello spazio dei nomi 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
Obbligatoria.
Tutte le richieste di dati di Analytics devono specificare un intervallo di date. Se non includi i parametri 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).
Il primo start-date valido è 2005-01-01. Non esiste una limitazione di limite superiore per una data di inizio.
Le date relative sono sempre relative alla data corrente al momento della query e si basano sul fuso orario della vista (profilo) specificato nella query.

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
Obbligatoria.
Tutte le richieste di dati di Analytics devono specificare un intervallo di date. Se non includi i parametri 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).
Il primo end-date valido è 2005-01-01. Non esiste una limitazione di limite superiore per un end-date.
Le date relative sono sempre relative alla data corrente al momento della query e si basano sul fuso orario della vista (profilo) specificato nella query.

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
Campo facoltativo.
Il parametro 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
Obbligatoria.
Le statistiche aggregate relative all'attività degli utenti sul tuo sito, ad esempio clic o visualizzazioni di pagina. Se una query non contiene alcun parametro 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
Campo facoltativo.

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 o metrics. 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
Campo facoltativo.

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.

Filtri metriche
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

Filtri delle dimensioni
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 \,
  • 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.

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
Campo facoltativo.

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
Campo facoltativo.
Utilizza questo parametro per impostare il livello di campionamento (ovvero il numero di sessioni utilizzate per calcolare il risultato) per una query di report. I valori consentiti sono coerenti con l'interfaccia web e includono:
  • 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.
Se non viene specificato, verrà utilizzato il livello di campionamento DEFAULT.
Consulta la sezione Campionamento per i dettagli su come calcolare la percentuale di sessioni utilizzate per una query.

includi-righe-vuote

include-empty-rows=true
Campo facoltativo.
Il valore predefinito è true; se è impostato su false, le righe in cui tutti i valori delle metriche sono zero verranno omesse dalla risposta. Ad esempio, se includi più di una metrica in una query, le righe vengono rimosse solo se tutti i valori delle metriche sono pari a zero. Questo può essere utile quando si effettua una richiesta in cui si prevede che il numero di righe valide sia molto inferiore al numero di valori di dimensione previsti.

start-index

start-index=10
Campo facoltativo.
Se non viene specificato, l'indice iniziale è 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
Campo facoltativo.
Numero massimo di righe da includere in questa risposta. Puoi utilizzarla in combinazione con 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.
L'API di reporting principale di Analytics restituisce un massimo di 10.000 righe per richiesta, indipendentemente da quante ne chiedi. Può anche restituire meno righe di quelle richieste, se il numero di segmenti di dimensione non è quello previsto. Ad esempio, sono disponibili meno di 300 valori possibili per 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
Campo facoltativo.
Utilizza questo parametro per impostare il tipo di output dei dati di Analytics restituiti nella risposta. I valori consentiti sono:
  • 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 oggetto Data Table può essere utilizzato direttamente con le visualizzazioni dei grafici Google.
Se non viene fornita, verrà utilizzata la risposta JSON predefinita.

campi

fields=rows,columnHeaders(name,dataType)
Campo facoltativo.

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; utilizza a/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 campi name e dataType nell'array columnHeaders. Puoi anche specificare un singolo sottocampo, dove fields=columnHeader(name) equivale a fields=columnHeader/name.

prettyPrint

prettyPrint=false
Campo facoltativo.

Restituisce la risposta in un formato leggibile se true. Valore predefinito: false.


quotaUser

quotaUser=4kh4r2h4
Campo facoltativo.

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.

JSON
{
  "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.
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.
JSON (tabella dei dati)
{
  "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.
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)