Layanan Data Analytics

Apps Script menggunakan Analytics Data API v1.

Layanan Data Analytics memungkinkan Anda menggunakan Google Analytics Data API v1 di Google Apps Script. API ini memberikan akses terprogram kepada pengguna Google Analytics ke data laporan Google Analytics 4 (GA4).

Ini adalah layanan tingkat lanjut yang harus diaktifkan sebelum digunakan.

Referensi

Untuk mengetahui informasi mendetail tentang layanan ini, lihat dokumentasi referensi Google Analytics Data API v1.

Seperti semua layanan lanjutan di Apps Script, layanan AnalyticsData menggunakan objek, metode, dan parameter yang sama dengan API publik. Untuk informasi selengkapnya, lihat Cara penentuan tanda tangan metode.

Untuk melaporkan masalah dan menemukan dukungan lainnya, lihat halaman dukungan Google Analytics Data API v1.

Kode contoh

Menjalankan laporan

Contoh ini menjalankan laporan untuk mengambil jumlah pengguna aktif menurut kota dan menyimpan hasilnya dalam spreadsheet baru.

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);
  }
}