스택 오버플로우에 게시된 답변으로 문제를 해결했다.
GA 대시보드 관리 설정에서 기존 데이터를 연결 시키고 GA4로 전달하고 수집하는 JS 코드 등도 잘 살펴서 연동이 잘 되었는지 확인 후 코드를 실행한다.
앱스 스크립트 편집 메뉴의 Google.Analytics.Data.V1Beta 를 라이브러리에 추가하여 사용한다;
function myFunction() {
// Retrieve values from Google Analytics Data API (GA4)
const property = "properties/#########"; // Please set your property ID.
const resource = {
"metrics": [
{
"name": "sessions"
},
{
"name": "conversions"
},
{
"name": "totalRevenue"
}
],
"dimensions": [
{
"name": "week"
},
{
"name": "year"
}
],
"dateRanges": [
{
"startDate": "2021-01-01",
"endDate": "today"
}
]
};
const obj = AnalyticsData.Properties.runRe port(resource, property);
// Put values to Spreadsheet.
const header = [...obj.dimensionHeaders.map(( { name }) => name), ...obj.metricHeaders.map(({ name }) => name)];
const values = [header, ...obj.rows.map(({ dimensionValues, metricValues }) => [...dimensionValues.map(({ value }) => value), ...metricValues.map(({ value }) => value)])];
const sheetName = "Sheet1"; // Please set the sheet name.
const sheet = SpreadsheetApp.getActiveSpread sheet().getSheetByName(sheetNa me)
sheet.getRange(1, 1, values.length, values[0].length).setValues(va lues);
}
댓글 달기