Analytics Data Service

Apps Script mit der Analytics Data API v1.

Mit dem Analytics Data-Dienst können Sie die Google Analytics Data API v1 in Google Apps Script verwenden. Diese API bietet Google Analytics-Nutzern programmatischen Zugriff auf Google Analytics 4-Berichtsdaten.

Dies ist ein erweiterter Dienst, der vor der Verwendung aktiviert werden muss.

Referenz

Ausführliche Informationen zu diesem Dienst finden Sie in der Referenzdokumentation zur Google Analytics Data API v1.

Wie alle erweiterten Dienste in Apps Script verwendet der AnalyticsData-Dienst dieselben Objekte, Methoden und Parameter wie die öffentliche API. Weitere Informationen finden Sie unter So werden Methodensignaturen bestimmt.

Informationen zum Melden von Problemen und zu Supportoptionen finden Sie auf der Supportseite zur Google Analytics Data API v1.

Beispielcode

Bericht erstellen

Im Beispiel wird ein Bericht ausgeführt, um die Anzahl der aktiven Nutzer nach Stadt abzurufen, und die Ergebnisse werden in einer neuen Tabelle gespeichert.

advanced/analyticsData.gs
/**
 * Runs a report of a Google Analytics 4 property ID. Creates a sheet with the
 * report.
 */
function runReport() {
  /**
   * TODO(developer): Uncomment this variable and replace with your
   *   Google Analytics 4 property ID before running the sample.
   */
  const propertyId = "YOUR-GA4-PROPERTY-ID";

  try {
    const metric = AnalyticsData.newMetric();
    metric.name = "activeUsers";

    const dimension = AnalyticsData.newDimension();
    dimension.name = "city";

    const dateRange = AnalyticsData.newDateRange();
    dateRange.startDate = "2020-03-31";
    dateRange.endDate = "today";

    const request = AnalyticsData.newRunReportRequest();
    request.dimensions = [dimension];
    request.metrics = [metric];
    request.dateRanges = dateRange;

    const report = AnalyticsData.Properties.runReport(
      request,
      `properties/${propertyId}`,
    );
    if (!report.rows) {
      console.log("No rows returned.");
      return;
    }

    const spreadsheet = SpreadsheetApp.create("Google Analytics Report");
    const sheet = spreadsheet.getActiveSheet();

    // Append the headers.
    const dimensionHeaders = report.dimensionHeaders.map((dimensionHeader) => {
      return dimensionHeader.name;
    });
    const metricHeaders = report.metricHeaders.map((metricHeader) => {
      return metricHeader.name;
    });
    const headers = [...dimensionHeaders, ...metricHeaders];

    sheet.appendRow(headers);

    // Append the results.
    const rows = report.rows.map((row) => {
      const dimensionValues = row.dimensionValues.map((dimensionValue) => {
        return dimensionValue.value;
      });
      const metricValues = row.metricValues.map((metricValues) => {
        return metricValues.value;
      });
      return [...dimensionValues, ...metricValues];
    });

    sheet.getRange(2, 1, report.rows.length, headers.length).setValues(rows);

    console.log("Report spreadsheet created: %s", spreadsheet.getUrl());
  } catch (e) {
    // TODO (Developer) - Handle exception
    console.log("Failed with error: %s", e.error);
  }
}