Mit der Google Analytics Management API können Sie programmatisch Gesamtdatenberichte erstellen.
Einführung
Gesamtdatenberichte sind Google Analytics-Berichte, die auf der Grundlage von Gesamtdatenberichten erstellt wurden. Gesamtdatenberichte stehen derzeit nur Google Analytics 360-Nutzern zur Verfügung.
Mit dieser API können Sie:
- Konfigurationsinformationen über alle vorhandenen Gesamtdatenberichte abrufen und einmalige Gesamtdatenberichte erstellen
- Verarbeitungsstatus von Gesamtdatenberichten überprüfen
- Rufen Sie nach Abschluss der Verarbeitung einen Link zur Datendatei für einen Gesamtdatenbericht ab.
- 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
eines Gesamtdatenberichts wird angegeben, ob die Verarbeitung für diesen Bericht abgeschlossen ist. Sobald der Status als COMPLETED
gekennzeichnet ist, können Sie die Datei mit den Berichtsdaten mithilfe von downloadType
und dem entsprechenden Feld mit den Downloaddetails abrufen. Beispiel:
- Wenn der Wert von
downloadType
GOOGLE_DRIVE
ist, verwenden Sie das FelddriveDownloadDetails
. - Wenn der Wert von
downloadType
GOOGLE_CLOUD_STORAGE
ist, verwenden Sie das FeldcloudStorageDownloadDetails
.
Verwenden Sie keine kontinuierliche Abfrage mit hoher Rate, um den Status dieser Berichte zu überprüfen, da Sie Ihr tägliches Kontingent wahrscheinlich schnell erschöpfen werden. Zwischen den Anfragen sollte eine gewisse Zeit zwischen den Anfragen liegen, wenn 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
verwenden.
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 Drive oder Cloud Storage APIs für Dateidownloads verwenden möchten, müssen Sie beim Anfordern eines OAuth 2.0-Tokens den entsprechenden Authentifizierungsbereich für diese API angeben (zusätzlich zum Authentifizierungsbereich der Analytics API). Dadurch können Sie für beide APIs dasselbe Authentifizierungstoken verwenden.
Gesamtdatenberichte löschen
Sie können geplante oder abgeschlossene Gesamtdatenberichte löschen. Wenn Sie delete
jedoch kurz während der Erstellung des Berichts aufrufen, wird ein Fehler ausgegeben. Wenn Sie Gesamtdatenberichte löschen, wird die Ressource nur aus Ihrer GA-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 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 haben und das Limit erreicht haben, können Sie die Gesamtdatenberichtsressourcen bedenkenlos löschen. Die generierten Berichtsdaten in Google Drive oder Google Cloud bleiben unverändert.
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.
- Die Abfrage in mehrere Abfragen mit kürzeren Zeiträumen aufteilen und die daraus resultierenden Berichte zusammenfügen
Anwendungsbereiche
Gesamtdatenberichte und die Core Reporting API
Wenn Sie die Core Reporting API zum Abrufen von Berichtsdaten verwenden und diese Beispieldaten enthält, können Sie einen Gesamtdatenbericht für die gleiche Abfrage wie folgt erstellen:
- Stellen Sie eine Core Reporting API-Anfrage.
- Prüfen Sie in der Antwort das Attribut „containsSampledData“, um festzustellen, ob für die Daten eine Stichprobe erhoben wurde.
- Wenn diese Property auf „true“ gesetzt ist, können Sie Anfrage- und ProfileInfo-Felder aus derselben Antwort verwenden, um eine Anfrage für einen Gesamtdatenbericht zu erstellen.
Beispiel für ein Abfragefeld 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 Antwort der Core Reporting API:
"profileInfo": {
"profileId": "1234",
"accountId": "12345",
"webPropertyId": "UA-12345-1",
"internalWebPropertyId": "11254",
"profileName": "Name of the profile",
"tableId": "ga:1234"
}
Das folgende Beispiel zeigt, wie Sie einen Gesamtdatenbericht aus einer Core Reporting API-Antwort erstellen:
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 zusammenfügen, um Daten ohne Stichproben für einen bestimmten Zeitraum zu erhalten. Dies ist nützlich, wenn eine Gesamtdatenanfrage zu groß ist. In solchen Fällen können Sie die Anfrage in mehrere Anfragen mit einem kürzeren Zeitraum aufteilen und dann die Ergebnisse kombinieren.
Kontingentrichtlinie
Unter Limits und Kontingente für die Configuration and Reporting API finden Sie eine vollständige Liste der Limits und Kontingente, die beim Erstellen von Gesamtdatenberichten gelten.