Stay organized with collections
Save and categorize content based on your preferences.
The Analytics Data service allows you to use the Google Analytics Data API v1
in Apps Script. This API gives Google Analytics users programmatic access to
Google Analytics 4 (GA4) report data.
Like all advanced services in Apps Script, the AnalyticsData service uses the
same objects, methods, and parameters as the public API. For more information,
see How method signatures are determined.
/** * Runs a report of a Google Analytics 4 property ID. Creates a sheet with the * report. */functionrunReport(){/** * TODO(developer): Uncomment this variable and replace with your * Google Analytics 4 property ID before running the sample. */constpropertyId='YOUR-GA4-PROPERTY-ID';try{constmetric=AnalyticsData.newMetric();metric.name='activeUsers';constdimension=AnalyticsData.newDimension();dimension.name='city';constdateRange=AnalyticsData.newDateRange();dateRange.startDate='2020-03-31';dateRange.endDate='today';constrequest=AnalyticsData.newRunReportRequest();request.dimensions=[dimension];request.metrics=[metric];request.dateRanges=dateRange;constreport=AnalyticsData.Properties.runReport(request,'properties/'+propertyId);if(!report.rows){console.log('Norowsreturned.');return;}constspreadsheet=SpreadsheetApp.create('GoogleAnalyticsReport');constsheet=spreadsheet.getActiveSheet();// Append the headers.constdimensionHeaders=report.dimensionHeaders.map((dimensionHeader)=>{returndimensionHeader.name;});constmetricHeaders=report.metricHeaders.map((metricHeader)=>{returnmetricHeader.name;});constheaders=[...dimensionHeaders,...metricHeaders];sheet.appendRow(headers);// Append the results.constrows=report.rows.map((row)=>{constdimensionValues=row.dimensionValues.map((dimensionValue)=>{returndimensionValue.value;});constmetricValues=row.metricValues.map((metricValues)=>{returnmetricValues.value;});return[...dimensionValues,...metricValues];});sheet.getRange(2,1,report.rows.length,headers.length).setValues(rows);console.log('Reportspreadsheetcreated:%s',spreadsheet.getUrl());}catch(e){// TODO (Developer) - Handle exceptionconsole.log('Failedwitherror:%s',e.error);}}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-19 UTC."],[[["The Analytics Data service enables programmatic access to Google Analytics 4 (GA4) report data within Apps Script using the Google Analytics Data API v1."],["It's an advanced service requiring prior enabling before use and utilizes the same structure as the public API."],["Comprehensive documentation, support, and sample code are available for guidance on utilizing this service effectively, including a sample for running reports to retrieve data and store it in a spreadsheet."]]],[]]