Dieses Dokument enthält die vollständige Referenz für die Abfrage und die Antwort auf die Core Reporting API Version 3.0.
Einführung
Sie fragen die Core Reporting API for Google Analytics-Berichtsdaten ab. Für jede Abfrage sind eine Datenansicht (ID), ein Start- und ein Enddatum sowie mindestens ein Messwert erforderlich. Sie können auch zusätzliche Suchparameter wie Dimensionen, Filter und Segmente angeben, um die Abfrage zu verfeinern. Weitere Informationen finden Sie im Übersichtsleitfaden.
Anfragen
Die API bietet eine einzelne Methode, Daten anzufordern:
analytics.data.ga.get()
Diese Methode ist in verschiedenen Clientbibliotheken verfügbar und hat sprachspezifische Schnittstellen zum Festlegen der Abfrageparameter.
Die API kann auch als REST-fähiger Endpunkt abgefragt werden:
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
Jeder URL-Suchparameter gibt einen API-Abfrageparameter an, der URL-codiert sein muss.
Zusammenfassung der Suchparameter
In der folgenden Tabelle sind alle Abfrageparameter zusammengefasst, die von der Core Reporting API akzeptiert werden. Klicken Sie auf die einzelnen Parameternamen, um eine ausführliche Beschreibung aufzurufen.
Name | Wert | Required | Zusammenfassung |
---|---|---|---|
ids |
string |
ja | Die eindeutige Tabellen-ID der Form „ga:XXXX“, wobei XXXX die ID der Analytics-Datenansicht (Profil) ist, für die durch die Abfrage die Daten abgerufen werden. |
start-date |
string |
ja |
Startdatum für den Abruf von Analytics-Daten In Anfragen kann ein Startdatum im Format YYYY-MM-DD oder als relatives Datum angegeben werden (z.B. today , yesterday oder NdaysAgo , wobei N eine positive Ganzzahl ist).
|
end-date |
string |
ja |
Enddatum für den Abruf von Analytics-Daten In der Anfrage kann ein Enddatum im Format YYYY-MM-DD oder als relatives Datum angegeben werden (z.B.
today , yesterday oder NdaysAgo , wobei N eine positive Ganzzahl ist.
|
metrics |
string |
ja |
Eine Liste mit durch Kommas getrennten Messwerten, z. B. ga:sessions,ga:bounces .
|
dimensions |
string |
Nein |
Eine Liste von durch Kommas getrennten Dimensionen für Ihre Analytics-Daten, z. B. ga:browser,ga:city .
|
sort |
string |
Nein | Eine Liste von durch Kommas getrennten Dimensionen und Messwerten, die die Sortierreihenfolge und Sortierrichtung für die zurückgegebenen Daten angibt. |
filters |
string |
Nein | Dimensions- oder Messwertfilter, die die für Ihre Anfrage zurückgegebenen Daten einschränken |
segment |
string |
Nein | Die für Ihre Anfrage zurückgegebenen Daten werden segmentiert. |
samplingLevel |
string |
Nein | Die gewünschte Stichprobenmenge. Zulässige Werte:
|
include-empty-rows |
boolean |
Nein | Die Standardeinstellung ist „true“. Wird die Richtlinie auf „false“ gesetzt, werden Zeilen, in denen alle Messwerte null sind, in der Antwort weggelassen. |
start-index |
integer |
Nein |
Die erste abzurufende Datenzeile, beginnend mit 1. Verwende diesen Parameter zusammen mit dem Parameter max-results als Paginierungsmechanismus.
|
max-results |
integer |
Nein | Die maximale Anzahl von Zeilen, die in der Antwort enthalten sein sollen. |
output |
string |
Nein |
Der gewünschte Ausgabetyp für die in der Antwort zurückgegebenen Analytics-Daten.
Zulässige Werte sind json und dataTable . Standardeinstellung: json .
|
fields |
string |
Nein | Auswahl, mit der eine Teilmenge von Feldern angegeben wird, die in der Antwort enthalten sein soll. |
prettyPrint |
string |
Nein |
Gibt die Antwort mit Einzügen und Zeilenumbrüchen zurück. Standard false .
|
userIp |
string |
Nein | Gibt die IP-Adresse des Endnutzers an, für den der API-Aufruf durchgeführt wird. Wird verwendet, um die Nutzung pro IP-Adresse einzuschränken. |
quotaUser |
string |
Nein | Alternative zu „userIp“, wenn die IP-Adresse des Nutzers unbekannt ist. |
access_token |
string |
Nein | Eine Möglichkeit, ein OAuth 2.0-Token bereitzustellen. |
callback |
string |
Nein | Name der JavaScript Callback-Funktion für die Antwortbehandlung. Wird in JavaScript-JSON-P-Anfragen verwendet. |
key |
string |
Nein | Wird für die OAuth 1.0a-Autorisierung zum Angeben Ihrer Anwendung zum Abrufen des Kontingents verwendet. Beispiel:
key=AldefliuhSFADSfasdfasdfASdf . |
Details zum Abfrageparameter
ids
ids=ga:12345
ga:
mit der ID der Analytics-Datenansicht (Profil). Die ID der Datenansicht (Profil) können Sie mit der Methode analytics.management.profiles.list
abrufen. Sie bieten die id
in der Ressource "Datenansicht" in der Google Analytics Management API.
Startdatum
start-date=2009-04-20
start-date
und end-date
nicht in die Anfrage aufnehmen, gibt der Server einen Fehler zurück. Datumswerte können für ein bestimmtes Datum mit dem Muster YYYY-MM-DD
oder relativ mit dem Muster today
, yesterday
oder NdaysAgo
angegeben werden.
Die Werte müssen mit [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
übereinstimmen.
start-date
ist 2005-01-01
.
Es gibt keine Obergrenze für ein Startdatum.Beispielzeitraum für die letzten 7 Tage (ab gestern) mit relativen Datumsangaben:
&start-date=7daysAgo &end-date=yesterday
Enddatum
end-date=2009-05-20
start-date
und end-date
nicht in die Anfrage aufnehmen, gibt der Server einen Fehler zurück. Datumswerte können für ein bestimmtes Datum mit dem Muster YYYY-MM-DD
oder relativ mit dem Muster today
, yesterday
oder NdaysAgo
angegeben werden.
Die Werte müssen mit [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
übereinstimmen.
end-date
ist 2005-01-01
. Es gibt keine Obergrenze für end-date
. Beispielzeitraum für die letzten 10 Tage (ab heute) mit relativen Datumsangaben:
&start-date=9daysAgo &end-date=today
Dimensionen
dimensions=ga:browser,ga:city
dimensions
schlüsselt Messwerte nach allgemeinen Kriterien auf, z. B. nach ga:browser
oder ga:city
.
Du kannst die Gesamtzahl der Seitenaufrufe für deine Website anfordern, es könnte aber interessanter für dich sein, die Anzahl der Seitenaufrufe nach Browser aufzuschlüsseln. In diesem Fall wird die Anzahl der Seitenaufrufe aus Firefox, Internet Explorer, Chrome usw. angegeben.
Beachten Sie bei der Verwendung von dimensions
in einer Datenanfrage die folgenden Einschränkungen:
- Sie können in einer Abfrage maximal 7 Dimensionen angeben.
- Sie können keine Abfrage senden, die nur aus Dimensionen besteht. Sie müssen alle angeforderten Dimensionen mit mindestens einem Messwert kombinieren.
- Nur bestimmte Dimensionen können in derselben Abfrage abgefragt werden. Mit dem gültigen Kombinationstool in der Referenz zu Dimensionen und Messwerten können Sie sehen, welche Dimensionen zusammen verwendet werden können.
Messwerte
metrics=ga:sessions,ga:bounces
dimensions
-Parameter hat, enthalten die zurückgegebenen Messwerte zusammengefasste Werte für den angeforderten Zeitraum, z. B. die Gesamtzahl der Seitenaufrufe oder die Gesamtzahl der Absprünge. Wenn Dimensionen jedoch angefordert werden, werden die Werte nach Dimensionswert segmentiert. Beispielsweise gibt ga:pageviews
mit ga:country
angefordert die Gesamtzahl der Seitenaufrufe pro Land zurück.
Beachten Sie bei der Anforderung von Messwerten Folgendes:
- Jede Anfrage muss mindestens einen Messwert enthalten. Eine Anfrage darf nicht nur aus Dimensionen bestehen.
- Sie können für jede Abfrage maximal zehn Messwerte angeben.
- Die meisten Kombinationen von Messwerten aus mehreren Kategorien können gemeinsam verwendet werden, sofern keine Dimensionen angegeben sind.
- Ein Messwert kann in Kombination mit anderen Dimensionen oder Messwerten verwendet werden, aber nur, wenn für diesen Messwert gültige Kombinationen gelten. Weitere Informationen finden Sie in der Referenz zu Dimensionen und Messwerten.
sort
sort=ga:country,ga:browser
Eine Liste von Messwerten und Dimensionen, die die Sortierreihenfolge und Sortierrichtung für die zurückgegebenen Daten angibt.
- Die Reihenfolge wird in der Reihenfolge der aufgeführten Messwerte und Dimensionen von links nach rechts festgelegt.
- Die Richtung wird standardmäßig aufsteigend sortiert und kann durch Verwendung eines Minuszeichens (
-
) im angeforderten Feld in absteigend geändert werden.
Wenn Sie die Ergebnisse einer Abfrage sortieren, können Sie verschiedene Fragen zu Ihren Daten stellen. Beispielsweise zur Beantwortung der Frage „Was sind meine wichtigsten Länder und welche Browser werden am häufigsten verwendet?“
können Sie eine Abfrage mit dem folgenden Parameter erstellen. Es wird zuerst in aufsteigender Reihenfolge nach ga:country
und dann nach ga:browser
sortiert:
sort=ga:country,ga:browser
Um die zugehörige Frage zu beantworten, „Welche Browser sind am häufigsten und in welchen Ländern diese am häufigsten verwendet werden?“, können Sie eine Abfrage mit dem folgenden Parameter stellen. Es wird zuerst nach
ga:browser
und dann nach ga:country
sortiert, jeweils in aufsteigender Reihenfolge:
sort=ga:browser,ga:country
Beachte bei der Verwendung des Parameters sort
Folgendes:
- Sortieren Sie nur nach Dimensionen oder Messwerten, die Sie in den Parametern
dimensions
odermetrics
verwendet haben. Wenn die Anfrage nach einem Feld sortiert wird, das weder im Parameter „dimensions“ noch im Messwert angegeben ist, erhalten Sie eine Fehlermeldung. - Standardmäßig sind Strings in der Sprache en-US in aufsteigender alphabetischer Reihenfolge sortiert.
- Zahlen werden standardmäßig in aufsteigender numerischer Reihenfolge sortiert.
- Standardmäßig sind die Datumsangaben in aufsteigender Reihenfolge nach Datum sortiert.
Filter
filters=ga:medium%3D%3Dreferral
Der Abfragestringparameter filters
schränkt die von Ihrer Anfrage zurückgegebenen Daten ein. Wenn Sie den Parameter filters
verwenden möchten, geben Sie eine Dimension oder einen Messwert für den Filter an, gefolgt vom Filterausdruck. Beispiel: Die folgende Abfrage fordert ga:pageviews
und ga:browser
für die Datenansicht (Profil) 12134
an, wobei die Dimension ga:browser
mit dem String Firefox
beginnt:
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
Gefilterte Abfragen schränken die Zeilen ein, die in das Ergebnis aufgenommen werden (oder nicht). Jede Zeile im Ergebnis wird mit dem Filter verglichen: Wenn der Filter übereinstimmt, wird die Zeile beibehalten und wenn sie nicht übereinstimmt, wird die Zeile gelöscht.
- URL-Codierung: Die Google API-Clientbibliotheken codieren die Filteroperatoren automatisch.
- Dimensionsfilter: Die Filterung wird vor der Aggregation von Dimensionen durchgeführt. Die zurückgegebenen Messwerte stellen also nur die Gesamtsumme für die relevanten Dimensionen dar. Im Beispiel oben ist nur die Anzahl der Seitenaufrufe gemeint, bei denen Firefox der Browser ist.
- Messwertfilterung: Das Filtern von Messwerten wird nach dem Zusammenfassen der Messwerte durchgeführt.
- Gültige Kombinationen: Sie können nach einer Dimension oder einem Messwert filtern, die nicht Teil Ihrer Abfrage ist, sofern alle Dimensionen/Messwerte in der Anfrage und der Filter gültige Kombinationen enthalten. Beispielsweise können Sie nach einer Liste von Seitenaufrufen abfragen und nach einem bestimmten Browser filtern. Weitere Informationen finden Sie in der Referenz zu Dimensionen und Messwerten.
Filtersyntax
Für einen einzelnen Filter wird folgendes Format verwendet:
ga:name operator expression
In dieser Syntax gilt:
- name: Der Name der Dimension oder des Messwerts, nach dem gefiltert wird. Beispiel:
ga:pageviews
filtert nach dem Messwert „Seitenaufrufe“. - operator – Definiert die Art der zu verwendenden Filterübereinstimmung. Operatoren beziehen sich speziell auf Dimensionen oder Messwerte.
- Ausdruck: Gibt die Werte an, die in den Ergebnissen enthalten oder davon ausgeschlossen sein sollen. Für Ausdrücke wird die Syntax von regulären Ausdrücken verwendet.
Operatoren filtern
Es gibt sechs Filteroperatoren für Dimensionen und sechs Filteroperatoren für Messwerte. Die Operatoren müssen URL-codiert sein, um in URL-Abfragestrings eingefügt zu werden.
Tipp: Verwende den Datenfeed-Abfrage-Explorer zum Entwerfen von Filtern, die eine URL-Codierung erfordern, da der Abfrage-Explorer URLS mit Strings und Leerzeichen automatisch codiert.
Operator | Beschreibung | URL-codiertes Formular | Beispiele |
---|---|---|---|
== |
„ist gleich“ | %3D%3D |
Gibt Ergebnisse zurück, bei denen die Zeit auf der Seite genau zehn Sekunden beträgt:filters=ga:timeOnPage%3D%3D10 |
!= |
ist nicht gleich | !%3D |
Gibt Ergebnisse zurück, bei denen die Zeit auf der Seite nicht zehn Sekunden beträgt:filters=ga:timeOnPage!%3D10 |
> |
Größer als | %3E |
Gibt Ergebnisse zurück, bei denen die Zeit auf der Seite länger als zehn Sekunden ist:filters=ga:timeOnPage%3E10 |
< |
Kleiner als | %3C |
Gibt Ergebnisse zurück, bei denen die Zeit auf der Seite grundsätzlich weniger als zehn Sekunden beträgt:filters=ga:timeOnPage%3C10 |
>= |
Größer als oder gleich | %3E%3D |
Gibt Ergebnisse zurück, bei denen die Zeit auf der Seite mindestens zehn Sekunden beträgt:filters=ga:timeOnPage%3E%3D10 |
<= |
Kleiner als oder gleich | %3C%3D |
Gibt Ergebnisse zurück, bei denen die Zeit auf der Seite zehn Sekunden oder weniger beträgt:filters=ga:timeOnPage%3C%3D10 |
Operator | Beschreibung | URL-codiertes Formular | Beispiel |
---|---|---|---|
== |
Genau passend | %3D%3D |
Zusammengefasste Messwerte, wenn die Stadt Irvine ist:filters=ga:city%3D%3DIrvine |
!= |
Stimmt nicht überein mit | !%3D |
Zusammengefasste Messwerte, wenn die Stadt nicht Irvine ist:filters=ga:city!%3DIrvine |
=@ |
Enthält Teilstring | %3D@ |
Zusammengefasste Messwerte, wenn die Stadt York enthält:filters=ga:city%3D@York |
!@ |
Enthält keinen Teilstring | !@ |
Zusammengefasste Messwerte, wenn die Stadt nicht York enthält:filters=ga:city!@York |
=~ |
Enthält eine Übereinstimmung für den regulären Ausdruck | %3D~ |
Zusammengefasste Messwerte, bei denen die Stadt mit Neu beginnt:filters=ga:city%3D~%5ENew.* (%5E ist die URL, die vom Zeichen ^ codiert wird, das ein Muster am Anfang des Strings verankert.) |
!~ |
Keine Übereinstimmung mit regulärem Ausdruck | !~ |
Zusammengefasste Messwerte, bei denen die Stadt nicht mit Neu beginnt: filters=ga:city!~%5ENew.* |
Filterausdrücke
Für Filterausdrücke gibt es einige wichtige Regeln:
- Zeichen mit URL-Reservierung: Zeichen wie
&
müssen wie gewohnt URL-codiert werden. - Reservierte Zeichen: Semikolon und Komma müssen mit einem umgekehrten Schrägstrich maskiert werden, wenn sie in einem Ausdruck vorkommen:
- Semikolon
\;
- Komma
\,
- Semikolon
- Reguläre Ausdrücke: Sie können auch reguläre Ausdrücke in Filterausdrücken mit den Operatoren
=~
und!~
verwenden. Ihre Syntax ähnelt der regulären Perl-Ausdrücken und es gelten folgende zusätzliche Regeln:- Maximale Länge: 128 Zeichen: Reguläre Ausdrücke, die länger als 128 Zeichen sind, führen zum Statuscode
400 Bad Request
, der vom Server zurückgegeben wird. - Groß-/Kleinschreibung beachten: Beim Abgleich regulärer Ausdrücke wird die Groß- und Kleinschreibung nicht berücksichtigt.
- Maximale Länge: 128 Zeichen: Reguläre Ausdrücke, die länger als 128 Zeichen sind, führen zum Statuscode
Filter kombinieren
Filter können mit den booleschen Operatoren OR
und AND
kombiniert werden. So können Sie die Beschränkung von 128 Zeichen für einen Filterausdruck effektiv erhöhen.
ODER
Der Operator OR
wird durch ein Komma (,
) definiert. Er hat Vorrang vor dem Operator AND
und darf NICHT verwendet werden, um Dimensionen und Messwerte im selben Ausdruck zu kombinieren.
Beispiele: (jeweils URL-Codierung erforderlich)
Land ist entweder (USA ODER Kanada):
ga:country==United%20States,ga:country==Canada
Firefox-Nutzer mit Windows- oder Macintosh-Betriebssystemen:
ga:browser==Firefox;ga:operatingSystem==Windows,ga:operatingSystem==Macintosh
UND
Der Operator AND
wird durch ein Semikolon (;
) definiert. Vor ihm steht der Operator OR
und CAN kann verwendet werden, um Dimensionen und Messwerte im selben Ausdruck zu kombinieren.
Beispiele: (jeweils URL-Codierung erforderlich)
Land: USA UND Browser: Firefox:
ga:country==United%20States;ga:browser==Firefox
Land ist USA UND Sprache beginnt nicht mit 'en':
ga:country==United%20States;ga:language!~^en.*
Betriebssystem (Windows ODER Macintosh) UND Browser ist (Firefox ODER Chrome):
ga:operatingSystem==Windows,ga:operatingSystem==Macintosh;ga:browser==Firefox,ga:browser==Chrome
Land ist USA UND Sitzungen sind größer als 5:
ga:country==United%20States;ga:sessions>5
Segmentieren
segment=gaid::-10
segment=sessions::condition::ga:medium%3D%3Dreferral
segment=users::condition::ga:browser%3D%3DChrome
Ausführliche Informationen dazu, wie Sie ein Segment in der Core Reporting API anfordern, finden Sie im Entwicklerleitfaden für Segmente.
Eine konzeptionelle Übersicht über Segmente finden Sie in der Hilfe unter Segmentfunktion für Segmente und Segmente.
Dimensionen und Messwerte in Segmenten zulässig.
Nicht alle Dimensionen und Messwerte können in Segmenten verwendet werden. Im Explorer für Dimensionen und Messwerte sehen Sie, welche Dimensionen und Messwerte in Segmenten zulässig sind.
samplingLevel (Stichprobenlevel)
samplingLevel=DEFAULT
DEFAULT
: gibt die Antwort mit einer Beispielgröße zurück, die Geschwindigkeit und Genauigkeit ausgleicht.FASTER
: Gibt eine schnelle Antwort mit einer kleineren Stichprobengröße zurück.HIGHER_PRECISION
: Gibt mit einer großen Stichprobe eine genauere Antwort zurück, was jedoch dazu führen kann, dass die Antwort langsamer ist.
DEFAULT
verwendet.Zeilen einschließen
include-empty-rows=true
Startindex
start-index=10
1
. (Ergebnisindexe basieren auf 1. Das heißt, die erste Zeile ist Zeile 1
und nicht Zeile 0
. Verwenden Sie diesen Parameter zusammen mit dem Parameter max-results
für Situationen, in denen totalResults
10.000 überschreitet und Sie Zeilen abrufen möchten, die ab 10.001 indexiert sind.Max. Ergebnisse
max-results=100
start-index
verwenden, um eine Teilmenge von Elementen abzurufen. Sie können auch allein die Anzahl der zurückgegebenen Elemente einschränken. Beginnen Sie dabei mit dem ersten Element.
Wenn max-results
nicht angegeben ist, gibt die Abfrage die maximale Standardanzahl von 1.000 Zeilen zurück.ga:country
. Wenn Sie also nur nach Land segmentieren, können Sie nicht mehr als 300 Zeilen erhalten, auch wenn Sie max-results
auf einen höheren Wert festgelegt haben.Ergebnis
output=dataTable
json
: Gibt das Standardattributrows
in der Antwort aus, das ein JSON-Objekt enthält.dataTable
: Gibt das AttributdataTable
in der Antwort aus, das ein Datentabellenobjekt enthält. DiesesData Table
-Objekt kann direkt mit Google Charts-Visualisierungen verwendet werden.
fields
fields=rows,columnHeaders(name,dataType)
Gibt an, welche Felder in einer Teilantwort zurückgegeben werden sollen. Wenn Sie in der API-Antwort nur einen Teil der Felder verwenden, können Sie mit dem Parameter fields
angeben, welche Felder berücksichtigt werden sollen.
Das Format des Parameterwerts für die Feldanfrage basiert lose auf der XPath-Syntax. Die unterstützte Syntax ist unten zusammengefasst.
- Zur Auswahl mehrerer Felder verwenden Sie eine durch Kommas getrennte Liste.
- Verwenden Sie
a/b
, um ein Feld b auszuwählen, das in Feld a verschachtelt ist. Verwenden Siea/b/c
, um ein Feld c auszuwählen, das in b verschachtelt ist. - Verwenden Sie eine Unterauswahl, um einen Satz bestimmter Unterfelder von Arrays oder Objekten anzufordern. Setzen Sie Ausdrücke in Klammern
"( )"
, um sie auszuwählen.
Beispiel:fields=columnHeaders(name,dataType)
gibt nur die Feldername
unddataType
im ArraycolumnHeaders
zurück. Sie können auch ein einzelnes Unterfeld angeben, wobeifields=columnHeader(name)
gleichfields=columnHeader/name
ist.
hübschPrint
prettyPrint=false
Gibt die Antwort in einem für Menschen lesbaren Format zurück, wenn true
.
Standardwert: false
.
Kontingentnutzer
quotaUser=4kh4r2h4
Damit können Sie pro Nutzer die Kontingente einer serverseitigen Anwendung erzwingen, auch wenn die IP-Adresse des Nutzers unbekannt ist. Dies ist beispielsweise bei Anwendungen der Fall, die Cronjobs in App Engine im Namen eines Nutzers ausführen. Sie können einen beliebigen String auswählen, der einen Nutzer eindeutig identifiziert. Dieser ist jedoch auf 40 Zeichen beschränkt.
Dadurch wird userIp
überschrieben, wenn beide angegeben werden.
Antwort
Bei Erfolg gibt die Anfrage einen Antworttext mit der unten definierten JSON-Struktur zurück. Wenn der Parameter output auf dataTable
gesetzt ist, gibt die Anfrage einen Antworttext mit der unten definierten JSON-Datentabellenstruktur zurück.
Hinweis: Der Begriff „"results"“ bezieht sich auf die gesamte Gruppe von Zeilen, die mit der Abfrage übereinstimmen, und „"response"“ auf die Gruppe von Zeilen, die auf der aktuellen Ergebnisseite zurückgegeben werden. Sie können abweichen, wenn die Gesamtzahl der Ergebnisse die Seitengröße für die aktuelle Antwort überschreitet, wie unter itemsPerPage beschrieben.
{
"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,
...
}
]
}
Antwortfelder
Die Eigenschaften der Antworttextstruktur sind so definiert:
Eigenschaftsname | Wert | Beschreibung |
---|---|---|
kind |
string |
Ressourcentyp. Der Wert ist "analytics#gaData". |
id |
string |
Eine ID für diese Datenantwort. |
query |
object |
Dieses Objekt enthält alle Werte, die als Parameter an die Abfrage übergeben werden. Die Bedeutung der einzelnen Felder wird in der Beschreibung des entsprechenden Abfrageparameters erläutert. |
query.start-date |
string |
Anfangsdatum. |
query.end-date |
string |
Enddatum. |
query.ids |
string |
Eindeutige Tabellen-ID. |
query.dimensions[] |
list |
Liste der Analysedimensionen. |
query.metrics[] |
list |
Liste der Analysemesswerte. |
query.samplingLevel |
string |
Requested sampling level. |
query.include-empty-rows |
boolean |
Die Standardeinstellung ist „true“. Wird die Richtlinie auf „false“ gesetzt, werden Zeilen, in denen alle Messwerte null sind, in der Antwort weggelassen. |
query.sort[] |
list |
Liste der Messwerte oder Dimensionen, nach denen die Daten sortiert werden. |
query.filters |
string |
Durch Kommas getrennte Liste von Messwert- oder Dimensionsfiltern. |
query.segment |
string |
Analytics-Segment. |
query.start-index |
integer |
Start index. |
query.max-results |
integer |
Maximale Anzahl von Ergebnissen pro Seite. |
startIndex |
integer |
Der Startindex von Zeilen, die durch den Abfrageparameter start-index angegeben werden. Der Standardwert ist 1. |
itemsPerPage |
integer |
Die maximale Anzahl der Zeilen, die die Antwort enthalten kann, unabhängig von der tatsächlichen Anzahl der zurückgegebenen Zeilen. Wenn der Abfrageparameter max-results angegeben ist, ist der Wert von itemsPerPage entweder max-results oder 10.000. Der Standardwert für itemsPerPage ist 1.000.
|
totalResults |
integer |
Die Gesamtzahl der Zeilen im Abfrageergebnis, unabhängig von der Anzahl der in der Antwort zurückgegebenen Zeilen. Bei Abfragen, die zu einer großen Anzahl von Zeilen führen, kann totalResults größer als itemsPerPage sein.
Weitere Informationen zu totalResults und itemsPerPage für große Abfragen finden Sie unter Paging.
|
startDate |
string |
Startdatum für die Datenabfrage, wie durch den Parameter start-date angegeben. |
endDate |
string |
Enddatum für die Datenabfrage, wie im Parameter end-date angegeben. |
selfLink |
string |
Link zu dieser Ergebnisseite für diese Datenabfrage. |
previousLink |
string |
Link zur vorherigen Ergebnisseite für diese Datenabfrage. |
nextLink |
string |
Link zur nächsten Ergebnisseite für diese Datenabfrage. |
profileInfo |
object |
Informationen zur Ansicht (Profil), für die die Daten angefordert wurden. Datenansichtsdaten sind über die Google Analytics Management API verfügbar. |
profileInfo.profileId |
string |
ID des Profils (z. B. 1174 ). |
profileInfo.accountId |
string |
Die Konto-ID, zu der diese Ansicht (Profil) gehört, z. B. 30481 . |
profileInfo.webPropertyId |
string |
Die Web-Property-ID, zu der die Datenansicht (Profil) gehört, z. B. UA-30481-1 |
profileInfo.internalWebPropertyId |
string |
Interne ID der Web-Property, zu der diese Datenansicht (Profil) gehört, z. B. UA-30481-1 |
profileInfo.profileName |
string |
Name der Datenansicht (Profil). |
profileInfo.tableId |
string |
Tabellen-ID für Ansicht (Profil), bestehend aus "ga:", gefolgt von der Ansichts- (Profil-)ID. |
containsSampledData |
boolean |
Dieser Wert ist „True“, wenn die Antwort Stichprobendaten enthält. |
sampleSize |
string |
Die Anzahl der Stichproben, die zur Berechnung der Stichprobendaten verwendet werden. |
sampleSpace |
string |
Die Gesamtgröße des Stichproberaums. Gibt die Gesamtgröße des verfügbaren Beispielbereichs an, aus dem die Stichproben ausgewählt wurden. |
columnHeaders[] |
list |
Spaltenüberschriften, in denen Dimensionsnamen gefolgt von den Namen der Messwerte aufgeführt sind. Die Reihenfolge der Dimensionen und Messwerte ist die gleiche wie in der Anfrage über die Parameter metrics und dimensions . Die Anzahl der Header ist die Anzahl der Dimensionen + die Anzahl der Messwerte. |
columnHeaders[].name |
string |
Name der Dimension oder des Messwerts. |
columnHeaders[].columnType |
string |
Spaltentyp. Entweder „DIMENSION“ oder „&METRIC“. |
columnHeaders[].dataType |
string |
Datentyp. Spaltenüberschriften in Dimensionen haben nur den Datentyp STRING . Die Spaltenüberschriften der Messwerte enthalten Datentypen für Messwerte wie INTEGER , PERCENT , TIME , CURRENCY , FLOAT usw. Alle möglichen Datentypen finden Sie in der Antwort der Metadata API.
|
totalsForAllResults |
object |
Gesamtwerte der angeforderten Messwerte als Schlüssel/Wert-Paare von Messwertnamen und -werten. Die Reihenfolge der Gesamtsummen des Messwerts entspricht der in der Anfrage angegebenen Messwertreihenfolge. |
rows[] |
list |
Analytics-Datenzeilen, wobei jede Zeile eine Liste von Dimensionswerten gefolgt von den Messwerten enthält. Die Reihenfolge der Dimensionen und Messwerte entspricht der in der Anfrage angegebenen Reihenfolge. Jede Zeile enthält eine Liste von N Feldern, wobei N = die Anzahl der Dimensionen + die Anzahl der Messwerte ist. |
{
"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,
...
}
]
}
Antwortfelder
Die Eigenschaften der Antworttextstruktur sind so definiert:
Eigenschaftsname | Wert | Beschreibung |
---|---|---|
kind |
string |
Ressourcentyp. Der Wert ist "analytics#gaData". |
id |
string |
Eine ID für diese Datenantwort. |
query |
object |
Dieses Objekt enthält alle Werte, die als Parameter an die Abfrage übergeben werden. Die Bedeutung der einzelnen Felder wird in der Beschreibung des entsprechenden Abfrageparameters erläutert. |
query.start-date |
string |
Anfangsdatum. |
query.end-date |
string |
Enddatum. |
query.ids |
string |
Eindeutige Tabellen-ID. |
query.dimensions[] |
list |
Liste der Analysedimensionen. |
query.metrics[] |
list |
Liste der Analysemesswerte. |
query.samplingLevel |
string |
Requested sampling level. |
query.include-empty-rows |
boolean |
Die Standardeinstellung ist „true“. Wird die Richtlinie auf „false“ gesetzt, werden Zeilen, in denen alle Messwerte null sind, in der Antwort weggelassen. |
query.sort[] |
list |
Liste der Messwerte oder Dimensionen, nach denen die Daten sortiert werden. |
query.filters |
string |
Durch Kommas getrennte Liste von Messwert- oder Dimensionsfiltern. |
query.segment |
string |
Analytics-Segment. |
query.start-index |
integer |
Start index. |
query.max-results |
integer |
Maximale Anzahl von Ergebnissen pro Seite. |
startIndex |
integer |
Der Startindex von Zeilen, die durch den Abfrageparameter start-index angegeben werden. Der Standardwert ist 1. |
itemsPerPage |
integer |
Die maximale Anzahl der Zeilen, die die Antwort enthalten kann, unabhängig von der tatsächlichen Anzahl der zurückgegebenen Zeilen. Wenn der Abfrageparameter max-results angegeben ist, ist der Wert von itemsPerPage entweder max-results oder 10.000. Der Standardwert für itemsPerPage ist 1.000.
|
totalResults |
integer |
Die Gesamtzahl der Zeilen im Abfrageergebnis, unabhängig von der Anzahl der in der Antwort zurückgegebenen Zeilen. Bei Abfragen, die zu einer großen Anzahl von Zeilen führen, kann totalResults größer als itemsPerPage sein.
Weitere Informationen zu totalResults und itemsPerPage für große Abfragen finden Sie unter Paging.
|
startDate |
string |
Startdatum für die Datenabfrage, wie durch den Parameter start-date angegeben. |
endDate |
string |
Enddatum für die Datenabfrage, wie im Parameter end-date angegeben. |
selfLink |
string |
Link zu dieser Ergebnisseite für diese Datenabfrage. |
previousLink |
string |
Link zur vorherigen Ergebnisseite für diese Datenabfrage. |
nextLink |
string |
Link zur nächsten Ergebnisseite für diese Datenabfrage. |
profileInfo |
object |
Informationen zur Ansicht (Profil), für die die Daten angefordert wurden. Datenansichtsdaten sind über die Google Analytics Management API verfügbar. |
profileInfo.profileId |
string |
ID des Profils (z. B. 1174 ). |
profileInfo.accountId |
string |
Die Konto-ID, zu der diese Ansicht (Profil) gehört, z. B. 30481 . |
profileInfo.webPropertyId |
string |
Die Web-Property-ID, zu der die Datenansicht (Profil) gehört, z. B. UA-30481-1 |
profileInfo.internalWebPropertyId |
string |
Interne ID der Web-Property, zu der diese Datenansicht (Profil) gehört, z. B. UA-30481-1 |
profileInfo.profileName |
string |
Name der Datenansicht (Profil). |
profileInfo.tableId |
string |
Tabellen-ID für Ansicht (Profil), bestehend aus "ga:", gefolgt von der Ansichts- (Profil-)ID. |
containsSampledData |
boolean |
Dieser Wert ist „True“, wenn die Antwort Stichprobendaten enthält. |
sampleSize |
string |
Die Anzahl der Stichproben, die zur Berechnung der Stichprobendaten verwendet werden. |
sampleSpace |
string |
Die Gesamtgröße des Stichproberaums. Gibt die Gesamtgröße des verfügbaren Beispielbereichs an, aus dem die Stichproben ausgewählt wurden. |
columnHeaders[] |
list |
Spaltenüberschriften, in denen Dimensionsnamen gefolgt von den Namen der Messwerte aufgeführt sind. Die Reihenfolge der Dimensionen und Messwerte ist die gleiche wie in der Anfrage über die Parameter metrics und dimensions . Die Anzahl der Header ist die Anzahl der Dimensionen + die Anzahl der Messwerte. |
columnHeaders[].name |
string |
Name der Dimension oder des Messwerts. |
columnHeaders[].columnType |
string |
Spaltentyp. Entweder „DIMENSION“ oder „&METRIC“. |
columnHeaders[].dataType |
string |
Datentyp. Spaltenüberschriften in Dimensionen haben nur den Datentyp STRING . Die Spaltenüberschriften der Messwerte enthalten Datentypen für Messwerte wie INTEGER , PERCENT , TIME , CURRENCY , FLOAT usw. Alle möglichen Datentypen finden Sie in der Antwort der Metadata API.
|
totalsForAllResults |
object |
Gesamtwerte der angeforderten Messwerte als Schlüssel/Wert-Paare von Messwertnamen und -werten. Die Reihenfolge der Gesamtsummen des Messwerts entspricht der in der Anfrage angegebenen Messwertreihenfolge. |
dataTable |
object |
Ein Datentabellenobjekt, das mit Google Charts verwendet werden kann |
dataTable.cols[] |
list |
Eine Liste von Spaltendeskriptoren für Dimensionen, gefolgt von Messwerten. Die Reihenfolge der Dimensionen und Messwerte ist die gleiche wie in der Anfrage über die Parameter metrics und dimensions . Die Anzahl der Spalten ist die Anzahl der Dimensionen + die Anzahl der Messwerte. |
dataTable.cols[].id |
string |
Eine ID, mit der auf eine bestimmte Spalte verwiesen werden kann (alternativ zur Verwendung von Spaltenindexen). Der Wert wird über die Dimensions- oder Messwert-ID festgelegt. |
dataTable.cols[].label |
string |
Ein Label für die Spalte (kann durch eine Visualisierung angezeigt werden). Der Wert wird über die Dimensions- oder Messwert-ID festgelegt. |
dataTable.cols[].type |
string |
Der Datentyp für diese Spalte. |
dataTable.rows[] |
list |
Analytics-Datenzeilen im Datentabellenformat, wobei jede Zeile ein Objekt ist, das eine Liste von Zellenwerten für Dimensionen gefolgt von Messwerten enthält. Die Reihenfolge der Dimensionen und Messwerte entspricht der in der Anfrage angegebenen Reihenfolge. Jede Zelle hat eine Liste von N Feldern, wobei N = die Anzahl der Dimensionen + die Anzahl der Messwerte ist. |
Fehlercodes
Die Core Reporting API gibt den HTTP-Statuscode 200
zurück, wenn die Anfrage erfolgreich war. Wenn während der Verarbeitung einer Abfrage ein Fehler auftritt, gibt die API einen Fehlercode und eine Beschreibung zurück.
Jede Anwendung, die die Analytics API verwendet, muss eine ordnungsgemäße Logik zur Fehlerbehandlung implementieren. Weitere Informationen zu den Fehlercodes und ihrer Handhabung finden Sie im Leitfaden zu Fehlerantworten.
Jetzt testen
Sie können Abfragen an die Core Reporting API testen.
-
Geben Sie Beispielwerte für die Parameter im Abfrage-Explorer ein, um die gültigen Kombinationen von Messwerten und Dimensionen in einer Abfrage anzusehen. Die Ergebnisse der Beispielabfrage werden als Tabelle mit Werten für alle angegebenen Messwerte und Dimensionen angezeigt.
-
Wenn Sie eine Anfrage zu Livedaten senden und die Antwort im JSON-Format sehen möchten, verwenden Sie die Methode
analytics.data.ga.get
im Google Data APIs Explorer.
Probenahme
Bestimmte Kombinationen aus Dimensionen und Messwerten werden in Google Analytics im laufenden Betrieb berechnet. Damit die Daten innerhalb eines angemessenen Zeitraums zurückgegeben werden können, darf Google Analytics nur eine Stichprobe der Daten verarbeiten.
Mit dem Parameter samplingLevel können Sie die Abtastebene angeben, die für eine Anfrage verwendet werden soll.
Wenn eine Core Reporting API-Antwort Stichprobendaten enthält, hat das Antwortfeld containsSampledData
den Wert true
.
Außerdem geben zwei Properties Informationen zur Stichprobenerhebung für die Abfrage an: sampleSize
und sampleSpace
.
Mit diesen beiden Werten können Sie den Prozentsatz der Sitzungen berechnen, die für die Abfrage verwendet wurden. Wenn sampleSize
beispielsweise 201,000
und sampleSpace
220,000
ist, basiert der Bericht auf (201.000 / 220.000) × 100 = 91,36% der Sitzungen.
Unter Stichproben finden Sie eine allgemeine Beschreibung der Stichprobenerhebung und deren Verwendung in Google Analytics.
Umgang mit großen Datenergebnissen
Wenn Sie davon ausgehen, dass Ihre Abfrage eine große Ergebnismenge zurückgibt, verwenden Sie die folgenden Richtlinien, um die API-Abfrage zu optimieren, Fehler zu vermeiden und Kontingentüberschreitungen zu minimieren. Wir haben bei jeder API-Anfrage maximal 7 Dimensionen und 10 Messwerte festgelegt. Obwohl einige Abfragen, die eine große Anzahl von Messwerten und Dimensionen angeben, länger dauern können als andere, reicht die Begrenzung der Anzahl der angeforderten Messwerte möglicherweise nicht aus, um die Abfrageleistung zu verbessern. Stattdessen können Sie die folgenden Techniken verwenden, um die besten Ergebnisse zu erzielen.
Dimensionen pro Abfrage reduzieren
In einer Anfrage können über die API bis zu sieben Dimensionen angegeben werden. Oft muss das Ergebnis dieser komplexen Abfragen in Google Analytics spontan berechnet werden. Das kann besonders zeitaufwendig sein, wenn die Anzahl der resultierenden Zeilen hoch ist. Die Abfrage von Keywords nach Stadt oder Stunde kann beispielsweise zu Millionen von Datenzeilen passen. Sie können die Leistung verbessern, indem Sie die Anzahl der zu verarbeitenden Zeilen in Google Analytics reduzieren, indem Sie die Anzahl der Dimensionen in der Abfrage begrenzen.
Abfrage nach Zeitraum aufteilen
Anstatt die nach Datum geordneten Ergebnisse eines langen Zeitraums zu durchsuchen, können Sie separate Abfragen für jeweils eine Woche oder sogar einen Tag erstellen. Bei einem großen Dataset kann selbst eine Anfrage für die Daten eines einzelnen Tages mehr als max-results
zurückgeben. In diesem Fall kann das Paging nicht vermieden werden. Wenn die Anzahl der übereinstimmenden Zeilen für Ihre Abfrage jedoch höher ist als max-results
, kann das Aufteilen des Zeitraums die Gesamtdauer zum Abrufen der Ergebnisse verringern. Dieser Ansatz kann die Leistung sowohl bei Single-Thread- als auch bei parallelen Abfragen verbessern.
Paging
Das Durchblättern von Ergebnissen kann nützlich sein, um große Ergebnismengen in verwaltbare Blöcke zu unterteilen. Das Feld totalResults
gibt an, wie viele übereinstimmende Zeilen vorhanden sind, und itemsPerPage
gibt die maximale Anzahl von Zeilen an, die im Ergebnis zurückgegeben werden können.
Bei einem hohen Verhältnis von totalResults
zu itemsPerPage
dauern die einzelnen Abfragen möglicherweise länger als nötig. Wenn Sie nur eine begrenzte Anzahl von Zeilen benötigen, z. B. zu Anzeigezwecken, können Sie mit dem Parameter max-results
ein explizites Limit für die Antwortgröße festlegen. Wenn Ihre Anwendung jedoch eine große Anzahl von Ergebnissen in ihrer Gesamtheit verarbeiten muss, ist es eventuell effizienter, die maximal zulässigen Zeilen anzufordern.
gzip verwenden
Eine einfache und bequeme Möglichkeit, die für jede Anfrage erforderliche Bandbreite zu reduzieren, ist die Aktivierung der gzip-Komprimierung. Obwohl dies zum Dekomprimieren der Ergebnisse zusätzliche CPU-Zeit erfordert, macht sich der Kompromiss mit den Netzwerkkosten in der Regel sehr lohnenswert. Es sind zwei Schritte erforderlich, um eine mit gzip codierte Antwort zu erhalten: Legen Sie einen Accept-Encoding
-Header fest und ändern Sie den User-Agent so, dass er den String gzip
enthält.
Hier ein Beispiel für korrekt formatierte HTTP-Header für die Aktivierung der gzip-Komprimierung:
Accept-Encoding: gzip User-Agent: my program (gzip)