인증 방식
🔐 OAuth 2.0
요금
무료 (GA4 플랜에 포함)
Base URL
analyticsdata.googleapis.com/v1beta
태그
Analytics, GA4
서비스 소개
Google Analytics Data API (GA4)를 사용하면 Analytics 대시보드의 데이터를 프로그래밍 방식으로 가져올 수 있습니다. 방문자 수, 페이지뷰, 세션, 전환율, 이벤트 등의 데이터를 조회하여 자체 대시보드를 만들거나 리포트를 자동화할 수 있습니다.
🚀 시작하기
- 1
GA4 속성 생성
analytics.google.com → 관리 → 속성 만들기 → Property ID 복사
- 2
Google Cloud 서비스 계정 생성
console.cloud.google.com → IAM → 서비스 계정 → 키 생성(JSON)
- 3
GA4에 서비스 계정 추가
GA4 → 관리 → 속성 액세스 관리 → 서비스 계정 이메일 추가 (분석 뷰어)
- 4
SDK 설치
npm install @google-analytics/data
📋 응답 예시
{
"rows": [
{ "dimensionValues": [{"value": "/"}], "metricValues": [{"value": "12345"}] },
{ "dimensionValues": [{"value": "/brands"}], "metricValues": [{"value": "5678"}] }
],
"totals": [{ "metricValues": [{"value": "25000"}] }]
}💡 코드 예제
JavaScriptNode.js
import { BetaAnalyticsDataClient } from '@google-analytics/data'
const analyticsClient = new BetaAnalyticsDataClient({
credentials: JSON.parse(process.env.GOOGLE_SERVICE_ACCOUNT_KEY!),
})
const PROPERTY_ID = process.env.GA4_PROPERTY_ID! // 숫자만
// 최근 7일 페이지별 방문자
const [report] = await analyticsClient.runReport({
property: `properties/${PROPERTY_ID}`,
dateRanges: [{ startDate: '7daysAgo', endDate: 'today' }],
dimensions: [{ name: 'pagePath' }],
metrics: [
{ name: 'activeUsers' },
{ name: 'screenPageViews' },
{ name: 'averageSessionDuration' },
],
orderBys: [{ metric: { metricName: 'screenPageViews' }, desc: true }],
limit: 10,
})
report.rows?.forEach(row => {
const [path] = row.dimensionValues!
const [users, views, duration] = row.metricValues!
console.log(path.value, users.value, views.value)
})