Core Reporting API – Referenzhandbuch

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:
  • 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.
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
Erforderlich.
Die eindeutige ID, mit der die Analytics-Daten abgerufen werden. Diese ID ist die Verkettung des Namespace 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
Erforderlich.
In allen Analytics-Datenanfragen muss ein Zeitraum angegeben werden. Wenn Sie die Parameter 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.
Der früheste gültige start-date ist 2005-01-01. Es gibt keine Obergrenze für ein Startdatum.
Die relativen Daten beziehen sich immer auf das aktuelle Datum zum Zeitpunkt der Abfrage und basieren auf der Zeitzone der Ansicht (Profil), die in der Abfrage angegeben ist.

Beispielzeitraum für die letzten 7 Tage (ab gestern) mit relativen Datumsangaben:

  &start-date=7daysAgo
  &end-date=yesterday

Enddatum

end-date=2009-05-20
Erforderlich.
In allen Analytics-Datenanfragen muss ein Zeitraum angegeben werden. Wenn Sie die Parameter 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.
Der früheste gültige end-date ist 2005-01-01. Es gibt keine Obergrenze für end-date.
Die relativen Daten beziehen sich immer auf das aktuelle Datum zum Zeitpunkt der Abfrage und basieren auf der Zeitzone der Ansicht (Profil), die in der Abfrage angegeben ist.

Beispielzeitraum für die letzten 10 Tage (ab heute) mit relativen Datumsangaben:

  &start-date=9daysAgo
  &end-date=today

Dimensionen

dimensions=ga:browser,ga:city
Optional.
Der Parameter 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
Erforderlich.
Die Gesamtstatistik für Nutzeraktivitäten auf deiner Website, z. B. Klicks oder Seitenaufrufe. Wenn eine Abfrage keinen 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
Optional.

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 oder metrics 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
Optional.

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.

Messwertfilter
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

Dimensionsfilter
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 \,
  • 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.

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
Optional.

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
Optional.
Verwenden Sie diesen Parameter, um die Abtastebene (d.h. die Anzahl der Sitzungen, die zur Berechnung des Ergebnisses verwendet werden) für eine Berichtsabfrage festzulegen. Die zulässigen Werte entsprechen der Weboberfläche und umfassen Folgendes:
  • 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.
Wenn nichts angegeben ist, wird die Stichprobenrate DEFAULT verwendet.
Im Abschnitt Stichproben finden Sie Informationen zum Berechnen des Prozentsatzes der Sitzungen, die für eine Abfrage verwendet wurden.

Zeilen einschließen

include-empty-rows=true
Optional.
Standardmäßig ist „true“ festgelegt. Wenn dies auf „false“ gesetzt ist, werden Zeilen, in denen alle Messwerte null sind, in der Antwort weggelassen. Wenn Sie beispielsweise mehr als einen Messwert in eine Abfrage aufnehmen, werden die Zeilen nur entfernt, wenn alle Messwerte null sind. Dies kann bei einer Anfrage nützlich sein, bei der davon ausgegangen wird, dass die Anzahl der gültigen Zeilen viel kleiner als die Anzahl der erwarteten Dimensionswerte ist.

Startindex

start-index=10
Optional.
Wenn nicht angegeben, ist der Startindex 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
Optional.
Maximale Anzahl der Zeilen, die in dieser Antwort enthalten sein sollen. Sie können diese Option zusammen mit 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.
Die Analytics Core Reporting API gibt maximal 10.000 Zeilen pro Anfrage zurück,unabhängig davon, wie viele Sie anfordern. Außerdem können weniger Zeilen zurückgegeben werden als angefordert, wenn nicht so viele Dimensionssegmente wie erwartet vorhanden sind. Beispielsweise gibt es weniger als 300 mögliche Werte für 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
Optional.
Verwenden Sie diesen Parameter, um den Ausgabetyp der in der Antwort zurückgegebenen Analytics-Daten festzulegen. Zulässige Werte:
  • json: Gibt das Standardattribut rows in der Antwort aus, das ein JSON-Objekt enthält.
  • dataTable: Gibt das Attribut dataTable in der Antwort aus, das ein Datentabellenobjekt enthält. Dieses Data Table -Objekt kann direkt mit Google Charts-Visualisierungen verwendet werden.
Wenn nicht angegeben, wird die JSON-Standardantwort verwendet.

fields

fields=rows,columnHeaders(name,dataType)
Optional.

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 Sie a/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 Felder name und dataType im Array columnHeaders zurück. Sie können auch ein einzelnes Unterfeld angeben, wobei fields=columnHeader(name) gleich fields=columnHeader/name ist.

hübschPrint

prettyPrint=false
Optional.

Gibt die Antwort in einem für Menschen lesbaren Format zurück, wenn true. Standardwert: false.


Kontingentnutzer

quotaUser=4kh4r2h4
Optional.

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.

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,
      ...
    }
  ]
}

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.
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.
JSON (Datentabelle)
{
  "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.
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)