Multi-Channel-Trichter Reporting API – Referenzleitfaden

Dieses Dokument enthält die vollständige Referenz für Abfragen und Antworten für die Multi-Channel Trichter Reporting API.

Einleitung

Mit der Multi-Channel-Trichter Reporting API können Sie Google Analytics-Berichtsdaten zu Multi-Channel-Trichtern anfordern. Jeder Bericht besteht aus Statistiken, die auf den Daten basieren, die vom Tracking-Code an Analytics zurückgesendet werden und in Dimensionen und Messwerten organisiert sind. Sie können Ihre eigenen Kombinationen von Dimensionen und Messwerten auswählen und mit der Reporting API benutzerdefinierte Berichte erstellen, die Ihren Anforderungen entsprechen.

Die API enthält nur eine Methode zum Anfordern von Berichtsdaten: report.get. Bei dieser Methode geben Sie die Tabellen-ID an, die der Ansicht (Profil) entspricht, für die Sie Daten abrufen möchten. Außerdem geben Sie Folgendes an:

  • Eine Kombination aus Dimensionen und Messwerten.
  • Datumsbereiche.
  • Eine Reihe von Optionsparametern, mit denen gesteuert wird, welche Daten zurückgegeben werden

Die API stellt die Methode „report.get“ auf einem REST-Endpunkt zur Verfügung: https://www.googleapis.com/analytics/v3/data/mcf. Im folgenden Abschnitt sehen Sie eine Beispielanfrage, in der die einzelnen Parameter beschrieben werden.

Anfragen

Die API bietet eine einzelne Methode zum Anfordern von Daten:

analytics.data.mcf.get()

Die API kann auch als REST-Endpunkt abgefragt werden:

Authorization: Bearer {oauth2-token}

GET https://www.googleapis.com/analytics/v3/data/mcf
  ?ids=ga:12345
  &metrics=mcf:totalConversions,mcf:totalConversionValue
  &start-date=2011-10-01
  &end-date=2011-10-31

Jeder URL-Suchparameter gibt einen API-Suchparameter an, der URL-codiert sein muss.

Alle Anfragen an die Multi-Channel Trichter Reporting API müssen autorisiert werden, vorzugsweise über OAuth 2.0.

Zusammenfassung der Abfrageparameter

In der folgenden Tabelle sind alle Suchparameter zusammengefasst, die von der Multi-Channel-Trichter Reporting API akzeptiert werden. Klicken Sie auf die einzelnen Parameternamen, um eine ausführliche Beschreibung aufzurufen.

Name Wert Erforderlich Zusammenfassung
ids string ja Die eindeutige Tabellen-ID im Format ga:XXXX, wobei XXXX die ID der Analytics-Datenansicht (Profils) ist, für die mit der Abfrage die Daten abgerufen werden.
start-date string ja Startdatum für das Abrufen von Analytics-Daten. Anfragen können ein Startdatum im Format YYYY-MM-DD oder als relatives Datum (z.B. today, yesterday oder NdaysAgo, wobei N eine positive Ganzzahl ist.
end-date string ja Enddatum für das Abrufen von Analytics-Daten. In der Anfrage kann ein Enddatum im Format YYYY-MM-DD oder ein relatives Datum (z.B. today, yesterday oder NdaysAgo, wobei N eine positive Ganzzahl ist.
metrics string ja Eine Liste mit durch Kommas getrennten Messwerten, z. B. mcf:totalConversions,mcf:totalConversionValue. Für eine gültige Abfrage muss mindestens ein Messwert angegeben werden.
dimensions string nein Eine Liste mit durch Kommas getrennten Dimensionen für den Bericht zu Multi-Channel-Trichtern, z. B. mcf:source,mcf:keyword.
sort string nein Eine Liste mit durch Kommas getrennten Dimensionen und Messwerten, die die Sortierreihenfolge und -richtung für die zurückgegebenen Daten angeben.
filters string nein Dimensions- oder Messwertfilter, die die für Ihre Anfrage zurückgegebenen Daten einschränken.
samplingLevel string nein Gewünschte Stichprobenerhebung. Zulässige Werte:
  • DEFAULT: gibt die Antwort mit einer Stichprobengröße zurück, die ein Gleichgewicht zwischen Geschwindigkeit und Genauigkeit herstellt.
  • FASTER: gibt eine schnelle Antwort mit einer kleineren Stichprobengröße zurück.
  • HIGHER_PRECISION: gibt bei einer großen Stichprobengröße eine genauere Antwort zurück. Dies kann jedoch dazu führen, dass die Antwort langsamer ist.
start-index integer nein Die erste Zeile mit abzurufenden Daten, beginnend bei 1. Verwenden Sie diesen Parameter als Paginierungsmechanismus zusammen mit dem Parameter max-results.
max-results integer nein Die maximale Anzahl von Zeilen, die in die Antwort aufgenommen werden sollen.

Details zu Abfrageparametern

ids

ids=ga:12345
Erforderlich.
Die eindeutige ID, die zum Abrufen der Multi-Channel-Trichterdaten verwendet wird. Diese ID ist die Verkettung des Namespace ga: mit der Datenansichts-ID (Profil) des Berichts. Sie können die ID der Datenansicht (das Profil) für Ihren Bericht mit der Methode analytics.management.profiles.list abrufen, die die id in der Ressource „Datenansicht (Profil)“ in der Google Analytics Management API bereitstellt.

Zurück nach oben


Startdatum

start-date=2011-10-01
Erforderlich.
Für alle Datenanfragen zu Multi-Channel-Trichtern muss ein Zeitraum angegeben werden. Wenn die Parameter start-date und end-date nicht in der Anfrage enthalten sind, gibt der Server einen Fehler zurück. Datumswerte können für ein bestimmtes Datum mit dem Muster YYYY-MM-DD oder relativ nach today, yesterday oder dem Muster NdaysAgo gelten. Die Werte müssen mit [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo) übereinstimmen.
Die früheste gültige start-date ist 2011-01-01. Es gibt keine Obergrenze für den start-date.
Relative Datumsangaben beziehen sich immer auf das aktuelle Datum zum Zeitpunkt der Abfrage und basieren auf der Zeitzone der in der Abfrage angegebenen Ansicht (Profil).

Beispiel für einen Zeitraum für die letzten 7 Tage (beginnend gestern) mit relativen Daten:

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

Zurück nach oben


Enddatum

end-date=2011-10-31
Erforderlich.
Für alle Datenanfragen zu Multi-Channel-Trichtern muss ein Zeitraum angegeben werden. Wenn die Parameter start-date und end-date nicht in der Anfrage enthalten sind, gibt der Server einen Fehler zurück. Datumswerte können für ein bestimmtes Datum mit dem Muster YYYY-MM-DD oder relativ nach today, yesterday oder dem Muster NdaysAgo gelten. 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 den end-date.
Relative Datumsangaben beziehen sich immer auf das aktuelle Datum zum Zeitpunkt der Abfrage und basieren auf der Zeitzone der in der Abfrage angegebenen Ansicht (Profil).

Beispiel für einen Zeitraum für die letzten 10 Tage (ab heute) mit relativen Daten:

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

Zurück nach oben


Dimensionen

dimensions=mcf:source,mcf:keyword
Optional.

Der Dimensionsparameter definiert die primären Datenschlüssel für den Bericht zu Multi-Channel-Trichtern, wie etwa mcf:source oder mcf:medium. Segmentieren Sie Ihre Conversion-Messwerte mithilfe von Dimensionen. Sie können beispielsweise nach der Gesamtzahl der Conversions auf Ihrer Website fragen. Möglicherweise ist es jedoch interessanter, die Anzahl der Conversions aufgeschlüsselt nach Medium zu fragen. In diesem Fall sehen Sie die Anzahl der Conversions aus organischen Suchergebnissen, aus Verweisen, aus E-Mails usw.

Beachten Sie die folgenden Einschränkungen, wenn Sie dimensions in einer Datenanfrage verwenden:

  • In einer Abfrage können maximal sieben Dimensionen angegeben werden.
  • Sie können keine Abfrage senden, die nur aus Dimensionen besteht: Sie müssen alle angeforderten Dimensionen mit mindestens einem Messwert kombinieren.

Nicht verfügbare Werte

Wenn der Wert der Dimension nicht ermittelt werden kann, wird in Analytics der spezielle String „(nicht festgelegt)“ verwendet.

Zurück nach oben


metrics

metrics=mcf:totalConversions,mcf:totalConversionValue
Erforderlich.

Die zusammengefassten Statistiken für Nutzeraktivitäten auf Ihrer Website, z. B. die Gesamtanzahl der Conversions oder der Conversion-Wert insgesamt. Wenn eine Abfrage keinen dimensions-Parameter enthält, liefern die zurückgegebenen Messwerte zusammengefasste Werte für den angeforderten Zeitraum, z. B. den Gesamt-Conversion-Wert. Werden Dimensionen jedoch angefordert, werden die Werte nach Dimensionswerten segmentiert. Beispiel: Für die mit mcf:source angeforderte mcf:totalConversions werden die gesamten Conversions pro Quelle zurückgegeben.

Beachten Sie beim Anfordern von Messwerten Folgendes:

  • Jede Anfrage muss mindestens einen Messwert enthalten. Eine Anfrage kann nicht nur aus Dimensionen bestehen.
  • Sie können für jede Abfrage maximal zehn Messwerte angeben.

Zurück nach oben


sort

sort=mcf:source,mcf:medium
Optional.

Eine Liste mit Messwerten und Dimensionen, die die Sortierreihenfolge und Sortierrichtung für die zurückgegebenen Daten angeben.

  • Die Sortierreihenfolge wird durch die von links nach rechts angegebene Reihenfolge der aufgeführten Messwerte und Dimensionen festgelegt.
  • Die Sortierung nach direction erfolgt standardmäßig in aufsteigender Reihenfolge und kann mithilfe eines Minuszeichens (-) im angeforderten Feld in absteigend geändert werden.

Durch das Sortieren der Ergebnisse einer Abfrage können Sie verschiedene Fragen zu Ihren Daten stellen. um beispielsweise auf die Frage „Was sind meine wichtigsten Conversion-Quellen und über welche Medien?“ zu beantworten. können Sie eine Abfrage mit dem folgenden Parameter erstellen. Sie sortiert zuerst nach mcf:source und dann nach mcf:medium, beide in aufsteigender Reihenfolge:

sort=mcf:source,mcf:medium

Sie können eine Abfrage mit dem folgenden Parameter erstellen, um die verwandte Frage „Was sind meine wichtigsten Conversion-Medien und aus welchen Quellen?“ zu beantworten. Es wird zuerst nach mcf:medium und dann nach mcf:source sortiert, beide in aufsteigender Reihenfolge:

sort=mcf:medium,mcf:source

Beachten Sie bei der Verwendung des sort-Parameters Folgendes:

  • Sortieren Sie nur nach Dimensionen oder Messwerten, die Sie in den Parametern dimensions oder metrics verwendet haben. Wenn in Ihrer Anfrage nach einem Feld sortiert wird, das weder im Dimensions- noch im Messwertparameter angegeben ist, erhalten Sie eine Fehlermeldung.
  • Standardmäßig werden Strings in aufsteigender alphabetischer Reihenfolge für die Sprache en-US sortiert.
  • Zahlen werden standardmäßig in aufsteigender numerischer Reihenfolge sortiert.
  • Daten werden standardmäßig in aufsteigender Reihenfolge nach Datum sortiert.

Zurück nach oben


Filter

filters=mcf: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 an, nach der bzw. dem gefiltert werden soll, gefolgt vom Filterausdruck. Mit der folgenden Abfrage werden beispielsweise mcf:totalConversions und mcf:source für die Ansicht (Profil) 12134 angefordert, wobei die Dimension mcf:medium der String referral ist:

https://www.googleapis.com/analytics/v3/data/mcf
?ids=mcf:12134
&dimensions=mcf:source
&metrics=mcf:totalConversions
&filters=mcf:medium%3D%3Dreferral
&start-date=2011-10-01
&end-date=2011-10-31

Weitere Informationen finden Sie in der Referenz zur Core Reporting API.

Zurück nach oben


samplingLevel

samplingLevel=DEFAULT
Optional.
Mit diesem Parameter legen Sie die Stichprobenerhebung für eine Berichtsabfrage fest, also die Anzahl der Sitzungen, auf deren Grundlage das Ergebnis berechnet wird. Die zulässigen Werte sind mit der Weboberfläche konsistent und umfassen Folgendes:
  • DEFAULT: gibt die Antwort mit einer Stichprobengröße zurück, die ein Gleichgewicht zwischen Geschwindigkeit und Genauigkeit herstellt.
  • FASTER: gibt eine schnelle Antwort mit einer kleineren Stichprobengröße zurück.
  • HIGHER_PRECISION: gibt bei einer großen Stichprobengröße eine genauere Antwort zurück. Dies kann jedoch dazu führen, dass die Antwort langsamer ist.
Wenn nicht angegeben, wird die Stichprobenebene von DEFAULT verwendet.
Weitere Informationen zum Berechnen des Prozentsatzes der Sitzungen, die für eine Abfrage verwendet wurden, finden Sie im Abschnitt Stichproben.

Zurück nach oben


max-results

max-results=100
Optional.

Maximale Anzahl von Zeilen, die in dieser Antwort enthalten sein können. Sie können dieses Element zusammen mit start-index verwenden, um eine Teilmenge von Elementen abzurufen, oder es allein verwenden, um die Anzahl der zurückgegebenen Elemente zu beschränken, beginnend mit dem ersten. Wenn max-results nicht angegeben wird, gibt die Abfrage standardmäßig das Maximum von 1.000 Zeilen zurück.

Die Multi-Channel Trichter Reporting API gibt maximal 10.000 Zeilen pro Anfrage zurück,unabhängig davon, wie viele Zeilen angefordert werden. Es können auch weniger Zeilen als angefordert zurückgegeben werden, wenn nicht so viele Dimensionssegmente wie erwartet vorhanden sind. Wenn für mcf:medium beispielsweise weniger als 300 Werte möglich sind, können Sie bei einer reinen Segmentierung nach Medium maximal 300 Zeilen erhalten, selbst wenn Sie für max-results einen höheren Wert festlegen.

Zurück nach oben


Antwort

Bei Erfolg gibt diese Anfrage einen Antworttext mit der unten definierten JSON-Struktur zurück.

Hinweis: Der Begriff "Ergebnisse" bezieht sich auf die gesamte Gruppe von Zeilen, die der Abfrage entsprechen, während "Antwort" sich auf die Gruppe von Zeilen bezieht, die auf der aktuellen Ergebnisseite zurückgegeben werden. Sie können sich unterscheiden, wenn die Gesamtzahl der Ergebnisse größer als die Seitengröße für die aktuelle Antwort ist, wie unter itemsPerPage erläutert.

Antwortformat

JSON
{
  "kind": "analytics#mcfData",
  "id": string,
  "query": {
    "start-date": string,
    "end-date": string,
    "ids": string,
    "dimensions": [
      string
    ],
    "metrics": [
      string
    ],
    "sort": [
      string
    ],
    "filters": string,
    "samplingLevel": string,
    "start-index": integer,
    "max-results": integer
  },
  "itemsPerPage": integer,
  "totalResults": integer,
  "selfLink": string,
  "previousLink": string,
  "nextLink": string,
  "profileInfo": {
    "profileId": string,
    "accountId": string,
    "webPropertyId": string,
    "internalWebPropertyId": string,
    "profileName": string,
    "tableId": string
  },
  "containsSampledData": boolean,
  "sampleSize": string,
  "sampleSpace": string,
  "columnHeaders": [
    {
      "name": string,
      "columnType": string,
      "dataType": string
    }
  ],
  "totalsForAllResults": [
    {
      metricName: string,
      ...
    }
  ]
  "rows": [
    [
      McfData.Rows
    ]
  ],
}

Zurück nach oben

Antwortfelder

Die Eigenschaften der Antworttextstruktur sind wie folgt definiert:

Eigenschaftsname Wert Beschreibung
kind string Ressourcentyp. Der Wert ist „analytics#mcfData“.
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 Analytics-Dimensionen.
query.metrics[] list Liste der Analysemesswerte.
query.sort[] list Liste der Messwerte oder Dimensionen, nach denen die Daten sortiert sind.
query.filters string Durch Kommas getrennte Liste von Messwert- oder Dimensionsfiltern.
query.samplingLevel string Requested sampling level.
query.start-index integer Der Startindex der Zeilen. Der Standardwert ist 1.
query.max-results integer Maximale Anzahl von Ergebnissen pro Seite.
startIndex integer Der Startindex der durch den Abfrageparameter start-index angegebenen Zeilen. Der Standardwert ist 1.
itemsPerPage integer Die maximale Anzahl von Zeilen, die die Antwort enthalten kann, unabhängig von der tatsächlichen Anzahl der zurückgegebenen Zeilen. Wenn der Abfrageparameter max-results angegeben wird, ist der Wert von itemsPerPage der kleinere Wert max-results oder 10.000. Der Standardwert von 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.
profileInfo object Informationen zur Datenansicht (Profil), für die die Daten angefordert wurden. Datenansichtsdaten (Profil) sind über die Google Analytics Management API verfügbar.
profileInfo.profileId string ID der Datenansicht (Profil), z. B. 1174.
profileInfo.accountId string ID des Kontos, zu dem diese Datenansicht (Profil) gehört, z. B. 30481.
profileInfo.webPropertyId string Die ID der Web-Property, zu der diese Datenansicht (das Profil) gehört, z. B. UA-30481-1.
profileInfo.internalWebPropertyId string Interne ID für die 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 die Ansicht (Profil), bestehend aus „ga:“ gefolgt von der ID der Ansicht (Profil).
containsSampledData boolean „True“, wenn die Antwort Stichprobendaten enthält.
sampleSize string Die Anzahl der Stichproben, die zur Berechnung der Stichprobendaten verwendet werden.
sampleSpace string Der gesamte Stichprobenbereich. Gibt die Gesamtgröße der verfügbaren Stichprobenflächen an, aus denen die Stichproben ausgewählt wurden.
columnHeaders[] list Spaltenüberschriften, in denen die Namen der Dimensionen gefolgt von den Messwertnamen aufgeführt sind. Die Reihenfolge der Dimensionen und Messwerte entspricht der Reihenfolge, die in der Anfrage über die Parameter metrics und dimensions angegeben wurde. Die Anzahl der Überschriften entspricht der Anzahl der Dimensionen + der Anzahl der Messwerte.
columnHeaders[].name string Name der Dimension oder des Messwerts.
columnHeaders[].columnType string Spaltentyp. Entweder „DIMENSION“ oder „MESSWERT“.
columnHeaders[].dataType string Der Datentyp. Die Spaltenüberschriften der Dimensionen haben nur den Datentyp "STRING" oder "MCF_SEQUENCE". Die Spaltenüberschriften von Messwerten enthalten Datentypen für Messwerte wie "INTEGER", "DOUBLE", "CURRENCY" usw.
totalsForAllResults object Gesamtwerte für die angeforderten Messwerte als Schlüssel/Wert-Paare aus Messwertnamen und -werten. Die Reihenfolge der Gesamtsummen der Messwerte entspricht der in der Anfrage angegebenen Reihenfolge der Messwerte.
rows[] list

Berichtsdatenzeilen, bei denen jede Zeile eine Liste von Mcf.Rows-Objekten enthält. Diese innere Liste stellt Dimensionswerte gefolgt von Messwerten in derselben Reihenfolge dar, wie in der Anfrage angegeben. Jede Zeile enthält eine Liste mit N-Feldern, wobei N = die Anzahl der Dimensionen + die Anzahl der Messwerte ist.

Ein Mcf.Rows-Objekt umschließt ein anderes Objekt, das entweder vom Typ primitiveValue oder conversionPathValue sein kann. Dimensionswerte können beide Typen haben, alle Messwerte sind jedoch vom Typ primitiveValue.

Ein primitiveValue ist einfach ein String, der in ein Objekt eingeschlossen ist. Beispiel:

{
  "primitiveValue": "2183"
}

Ein conversionPathValue ist ein Objekt, das um ein Array von Objekten umschlossen ist, wobei jedes Objekt einen nodeValue-String und einen optionalen interactionType-String enthält. Beispiel:

{
  "conversionPathValue": [
    {
      "interactionType" : "CLICK",
      "nodeValue" : "google"
    },
    {
      "interactionType" : "CLICK",
      "nodeValue" : "google"
    }
  ]
}

Zurück nach oben

Fehlercodes

Die Multi-Channel Trichter Reporting API gibt den HTTP-Statuscode 200 zurück, wenn eine Anfrage erfolgreich ist. Wenn während der Verarbeitung einer Abfrage ein Fehler auftritt, gibt die API einen Fehlercode und eine Beschreibung zurück. Jede Anwendung, die die Analyse-API verwendet, muss eine ordnungsgemäße Fehlerbehandlungslogik implementieren. Ausführliche Informationen zu den Fehlercodes und deren Behebung finden Sie im Referenzhandbuch zu Fehlerantworten.

Zurück nach oben

Jetzt testen

Verwenden Sie den unten angegebenen APIs Explorer, um diese Methode für Livedaten aufzurufen und die Antwort einzusehen.

Zurück nach oben

Probenahme

In Google Analytics werden bestimmte Kombinationen von Dimensionen und Messwerten direkt berechnet. Damit die Daten innerhalb eines angemessenen Zeitraums zurückgegeben werden können, wird in Google Analytics möglicherweise nur eine Stichprobe der Daten verarbeitet.

Sie können die Stichprobenebene für eine Anfrage angeben, indem Sie den Parameter samplingLevel festlegen.

Wenn eine MCF Reporting API-Antwort Stichproben enthält, enthält das Antwortfeld containsSampledData den Wert true. Darüber hinaus liefern zwei Attribute Informationen zur Stichprobenebene für die Abfrage: sampleSize und sampleSpace. Mit diesen beiden Werten können Sie den Prozentsatz der Sitzungen berechnen, die für die Abfrage verwendet wurden. Beispiel: Wenn sampleSize den Wert 201,000 hat und sampleSpace den Wert 220,000 hat, basiert der Bericht auf (201.000 ÷ 220.000) × 100 = 91,36% der Sitzungen.

Eine allgemeine Beschreibung der Stichprobenerhebung und ihrer Verwendung in Google Analytics finden Sie unter Stichproben.

Zurück nach oben

Verarbeitung umfangreicher Datenergebnisse

Wenn Sie davon ausgehen, dass Ihre Abfrage eine große Ergebnismenge zurückgibt, verwenden Sie die folgenden Richtlinien, um Ihre API-Abfrage zu optimieren, Fehler zu vermeiden und Kontingentüberschreitungen zu minimieren. Für eine Baseline für die Leistung sind maximal 7 Dimensionen und 10 Messwerte pro API-Anfrage zulässig. Obwohl einige Abfragen, die eine große Anzahl von Messwerten und Dimensionen angeben, länger dauern als andere, reicht die Begrenzung der Anzahl der angeforderten Messwerte unter Umständen nicht aus, um die Abfrageleistung zu verbessern. Mit den folgenden Verfahren erzielen Sie die besten Ergebnisse.

Dimensionen pro Abfrage reduzieren

Mit der API können in einer Anfrage bis zu sieben Dimensionen angegeben werden. In vielen Fällen muss Google Analytics die Ergebnisse dieser komplexen Suchanfragen direkt berechnen. Dies kann besonders zeitaufwändig sein, wenn die Anzahl der resultierenden Zeilen hoch ist. Beispielsweise können bei der Abfrage von Keywords nach Stadt zu Stunde Millionen von Datenzeilen zurückgegeben werden. Sie können die Leistung verbessern, indem Sie die Anzahl der Zeilen reduzieren, die Google Analytics verarbeiten muss. Dazu begrenzen Sie einfach die Anzahl der Dimensionen in der Abfrage.

Abfrage nach Datumsbereich aufteilen

Anstatt durch die Ergebnisse eines langen Zeitraums datumsgebunden zu blättern, können Sie separate Abfragen für jeweils eine Woche oder sogar einen Tag erstellen. Bei einem großen Datensatz kann selbst eine Anfrage nach den Daten eines einzelnen Tages mehr als max-results zurückgeben. In diesem Fall können Seitenumbrüche nicht vermieden werden. Wenn jedoch die Anzahl der übereinstimmenden Zeilen für Ihre Abfrage höher als max-results ist, kann die Aufteilung des Zeitraums die Gesamtzeit zum Abrufen der Ergebnisse verkürzen. Dieser Ansatz kann die Leistung sowohl bei Single-Threaded- als auch bei parallelen Abfragen verbessern.

Paging

Das Durchblättern von Ergebnissen kann hilfreich sein, um große Ergebnismengen in überschaubare Blöcke aufzuteilen. 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. Wenn ein hohes Verhältnis von totalResults zu itemsPerPage vorliegt, können die einzelnen Abfragen länger als nötig dauern. Wenn Sie nur eine begrenzte Anzahl von Zeilen benötigen, z. B. zu Anzeigezwecken, bietet es sich an, über den Parameter max-results eine explizite Beschränkung für die Größe der Antwort festzulegen. Wenn Ihre Anwendung jedoch eine große Menge von Ergebnissen vollständig verarbeiten muss, ist das Anfordern der maximal zulässigen Zeilen möglicherweise effizienter.

gzip verwenden

Eine einfache und bequeme Möglichkeit, die für jede Anfrage benötigte Bandbreite zu reduzieren, ist die Aktivierung der gzip-Komprimierung. Auch wenn die Dekomprimierung der Ergebnisse zusätzliche CPU-Zeit in Anspruch nimmt, lohnt sich dies aufgrund der geringeren Netzwerkkosten in der Regel sehr. Du musst zwei Schritte ausführen, um eine mit gzip codierte Antwort zu erhalten: Lege einen Accept-Encoding-Header fest und ändere den User-Agent so, dass er den String gzip enthält. Hier ein Beispiel für korrekt formatierte HTTP-Header zum Aktivieren der gzip-Komprimierung:

Accept-Encoding: gzip
User-Agent: my program (gzip)