Entwicklerleitfaden für Gesamtdatenberichte

Mit der Google Analytics Management API können Sie programmatisch Gesamtdatenberichte erstellen.

Einleitung

Gesamtdatenberichte sind Google Analytics-Berichte, die mit Daten ohne Stichproben generiert wurden. Gesamtdatenberichte sind derzeit nur für Google Analytics 360-Nutzer verfügbar.

Mit dieser API können Sie:

  • Konfigurationsinformationen zu allen vorhandenen Gesamtdatenberichten abrufen und einmalige Gesamtdatenberichte erstellen
  • Verarbeitungsstatus von Gesamtdatenberichten prüfen
  • Rufen Sie einen Link zur Datendatei für einen Gesamtdatenbericht ab, sobald die Verarbeitung abgeschlossen ist.
  • Gesamtdatenberichte löschen

Daten für Gesamtdatenberichte abrufen

Wenn Sie einen Gesamtdatenbericht erstellen, kann es einige Zeit dauern, bis er heruntergeladen werden kann. Im Feld status für Gesamtdatenberichte wird angegeben, ob die Verarbeitung für diesen Bericht abgeschlossen ist. Sobald der Status als COMPLETED gekennzeichnet ist, können Sie den downloadType und das entsprechende Feld mit den Downloaddetails verwenden, um die Datei mit den Berichtsdaten abzurufen. Beispiel:

Überprüfen Sie den Status dieser Berichte nicht kontinuierlich mit hoher Rate, da Sie Ihr Tageskontingent wahrscheinlich schnell recht schnell aufgebraucht haben. Zwischen den Anfragen sollte es eine gewisse Zeit dauern, bis Sie den Status von Gesamtdatenberichten prüfen.

Google Drive / Google Cloud Storage API verwenden

Je nachdem, wohin Ihre Dateien übermittelt werden (Google Drive oder Google Cloud Storage), erhalten Sie einen entsprechenden Link für diese Datei. Sie können die Drive API oder die Cloud Storage API verwenden, um die Datei über diesen Link herunterzuladen. Weitere Informationen zum Abrufen der Datei finden Sie in der Dokumentation zur Google Drive API oder zur Google Cloud Storage API.

Ist Ihr Gesamtdatenbericht beispielsweise in Google Drive gespeichert, können Sie eine autorisierte HTTP GET-Anfrage an die Ressourcen-URL der Datei senden und den Abfrageparameter alt=media einbeziehen.

GET /drive/v2/files/XXXXXX?alt=media
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs

Dabei steht XXXXXX für den Gesamtdatenbericht driveDownloadDetails.documentId

Authentifizierung

Wenn Sie den Gesamtdatenbericht in Verbindung mit der Drive- oder Cloud Storage API für Dateidownloads verwenden möchten, müssen Sie beim Anfordern eines OAuth 2.0-Tokens den entsprechenden Authentifizierungsbereich für diese API (zusätzlich zum Authentifizierungsbereich für die Analytics API) angeben. Auf diese Weise können Sie für beide APIs dasselbe Authentifizierungstoken verwenden.

Gesamtdatenberichte löschen

Sie können geplante oder abgeschlossene Gesamtdatenberichte löschen. Wenn Sie jedoch während der kurzen Zeit während der Berichterstellung den delete aufrufen, wird ein Fehler ausgegeben. Wenn Sie Gesamtdatenberichte löschen, wird die Ressource nur aus Ihrer Google Analytics-Datenansicht (Profil) entfernt. Die exportierten Daten in Google Drive oder Google Cloud Storage bleiben erhalten.

Einschränkungen

Für Gesamtdatenberichte gelten folgende Einschränkungen:

  • Sie können maximal vier Dimensionen angeben.
  • Einige Arten von Berichtsdaten werden nicht unterstützt, z. B. Google Ads-Daten.
  • Abfragen, die als zu teuer eingestuft werden, werden nicht unterstützt.
  • Wenn Sie zu viele Gesamtdatenberichte erstellt und das Limit erreicht haben, können Sie die Gesamtdatenberichtsressourcen löschen. Die generierten Berichtsdaten in Google Drive oder Google Cloud bleiben dabei erhalten.

Wenn festgestellt wird, dass Ihre Anfrage zu teuer ist, gibt der Erstellungsvorgang einen Fehler mit einer entsprechenden Meldung zurück. In diesem Fall haben Sie folgende Möglichkeiten:

  • Fordern Sie weniger Dimensionen an.
  • Teilen Sie die Abfrage in mehrere Abfragen mit kürzeren Zeiträumen auf und fügen Sie die resultierenden Berichte zusammen.

Anwendungsbereiche

Gesamtdatenberichte und die Core Reporting API

Wenn Sie die Core Reporting API zum Abrufen von Berichtsdaten verwenden und diese Daten mit Stichproben enthalten, können Sie für dieselbe Abfrage einen Gesamtdatenbericht wie folgt erstellen:

  1. Stellen Sie eine Anfrage an die Core Reporting API.
  2. Prüfen Sie in der Antwort das Attribut „containsSampledData“, um festzustellen, ob für die Daten Stichproben verwendet werden.
  3. Wenn dieses Attribut auf „true“ gesetzt ist, können Sie die Abfrage- und „profileInfo“-Felder aus derselben Antwort verwenden, um eine Anfrage für einen Gesamtdatenbericht zu erstellen.

Beispielabfragefeld aus der Antwort der Core Reporting API:

"query": {
  "start-date": "2011-01-01",
  "end-date": "2011-01-31",
  "ids": "ga:1234",
  "dimensions": "ga:browser",
  "metrics": [
  "ga:visits"
  ],
  "filters": "ga:country==US",
  "start-index": 1,
  "max-results": 1000
}

Beispiel für ein profileInfo-Feld aus der Core Reporting API-Antwort:

"profileInfo": {
  "profileId": "1234",
  "accountId": "12345",
  "webPropertyId": "UA-12345-1",
  "internalWebPropertyId": "11254",
  "profileName": "Name of the profile",
  "tableId": "ga:1234"
}

Hier ein Beispiel für das Erstellen eines Gesamtdatenberichts aus einer Core Reporting API-Antwort:

Java

// Make a Core Reporting API call.
GaData reportingApiData = v3.data().ga().get(...).execute();

// Check if the response is sampled.
if (reportingApiData.getContainsSampledData()) {

  // Use the “query” object to construct an unsampled report object.
  Query query = reportingApiData.getQuery();
  UnsampledReport report = new UnsampledReport()
      .setDimensions(query.getDimensions())
      .setMetrics(Joiner.on(',').join(query.getMetrics()))
      .setStartDate(startDate)
      .setEndDate(endDate)
      .setSegment(query.getSegment())
      .setFilters(query.getFilters())
      .setTitle(“My unsampled report”);

  // Use “profileInfo” to create an InsertRequest for creating an
  // unsampled report.
  ProfileInfo profileInfo = reportingApiData.getProfileInfo();
  Insert insertRequest = analytics.management().unsampledReports()
  .insert(profileInfo.getAccountId(),
          profileInfo.getWebPropertyId(),
          profileInfo.getProfileId(),
          report);
  UnsampledReport createdReport = insertRequest.execute();
}

Zusammenfügen von Gesamtdaten für mehrere Tage

Sie können Berichte für mehrere Tage kombinieren oder zusammenfassen, um Gesamtdaten für einen bestimmten Zeitraum zu erhalten. Dies ist nützlich, wenn eine Anfrage für Gesamtdaten zu groß ist. In solchen Fällen können Sie die Anfrage in mehrere Anfragen mit einem kürzeren Zeitraum aufteilen und die Ergebnisse dann kombinieren.

Kontingentrichtlinie

Eine vollständige Liste der Limits und Kontingente, die für das Erstellen von Gesamtdatenberichten gelten, finden Sie unter Limits und Kontingente für die Configuration and Reporting API.