You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GA4每周数据导入Google Sheets格式异常问题求助

GA4数据导入Google Sheets问题求助

我是编程新手,需要把GA4的每周数据拉取到Google Sheets中,但数据无法正确追加,反而以对象形式插入表格。我大概知道问题所在,但就是解决不了。另外,我需要返回列表内的字符串,而不是嵌套列表。

以下是我的代码、控制台日志及表格显示截图:

function pullDataFromGA4() {
  // 设置Google Analytics 4媒体资源ID
  const propertyId = 'GA4_PROPERTY_ID';
  
  // 设置数据拉取的起始日期(7天前)
  const startDate = new Date();
  startDate.setDate(startDate.getDate() - 7);

  // 设置数据拉取的结束日期(昨天)
  const endDate = new Date();
  endDate.setDate(endDate.getDate() - 1);

  // 设置日期格式为YYYY-MM-DD
  const dateFormatter = Utilities.formatDate;

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.clear(); // 清除现有数据
  
  const headers = ['周', '会话默认渠道组', '总用户数', '新用户数', '会话数'];
  sheet.appendRow(headers); // 添加表头

  try {
    for (let i = 0; i < 1; i++) {
      const weekStart = new Date(startDate);
      weekStart.setDate(startDate.getDate() + (7 * i));

      const weekEnd = new Date(startDate);
      weekEnd.setDate(startDate.getDate() + (7 * (i + 1)) - 1);

      const formattedStartDate = dateFormatter(weekStart, Session.getScriptTimeZone(), 'yyyy-MM-dd');
      const formattedEndDate = dateFormatter(weekEnd, Session.getScriptTimeZone(), 'yyyy-MM-dd');

      const dateRange = AnalyticsData.newDateRange();
      dateRange.startDate = formattedStartDate;
      dateRange.endDate = formattedEndDate;

      const dimensions = [];
      const metricsArray = [];

      const sessionDefaultChannelGroup = AnalyticsData.newDimension();
      sessionDefaultChannelGroup.name = 'sessionDefaultChannelGroup';
      dimensions.push(sessionDefaultChannelGroup);
      
      const totalUsers = AnalyticsData.newMetric();
      totalUsers.name = 'totalUsers';
      metricsArray.push(totalUsers);

      const newUsers = AnalyticsData.newMetric();
      newUsers.name = 'newUsers';
      metricsArray.push(newUsers);

      const sessions = AnalyticsData.newMetric();
      sessions.name = 'sessions';
      metricsArray.push(sessions);

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

      const response = AnalyticsData.Properties.runReport(request, 'properties/' + propertyId);
      
      const weekData = response.rows.map((row) => {
        const metricValues = row.metricValues.map(
            (metricValue) => metricValue.value);

        const dimensionValues = row.dimensionValues.map(
            (dimensionValue) => dimensionValue.value);

        return [formattedStartDate + ' - ' + formattedEndDate, ...dimensionValues, ...metricValues];
      });
      console.log(headers)
      console.log(weekData);
      sheet.appendRow(weekData);
    }
  } catch (e) {
    console.log('执行失败,错误信息: %s', e.toString());
  }
}

控制台日志截图

控制台日志截图

表格显示截图

表格显示截图


内容的提问来源于stack exchange,提问作者chiwarira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 08:12:03