블로그 만들고 제일 먼저 궁금했던 것
블로그를 시작하고 글을 올리기 시작했는데, 솔직히 제일 궁금한 건 “오늘 몇 명이나 왔을까?”였다. 그래서 찾아본 게 GA4(Google Analytics 4). 구글이 제공하는 무료 방문자 분석 도구다.
매장 CCTV + 고객 카운터 같은 거라고 보면 된다. 오늘 몇 명 왔는지, 어떤 글에서 오래 머물렀는지, 어디서 들어왔는지를 자동으로 기록한다. 다만 개인을 특정하지는 않고 전체 패턴만 보여준다.
왜 필요한가
데이터 없이 블로그를 개선하는 건 눈 감고 다트 던지는 거다.
- “어느 글이 인기 있는지” → 인기 주제로 더 쓰면 트래픽 증가
- “방문자가 어디서 오는지” → 효과적인 채널에 집중
- “몇 분 머무는지” → 콘텐츠 품질 판단
GA4는 이걸 무료로 자동 수집해서 대시보드로 보여준다.
UA에서 GA4로 — 뭐가 달라졌나
2023년 7월에 구글이 기존 UA(Universal Analytics)를 종료하고 GA4로 전환했다. 지금 새로 만들 수 있는 건 GA4뿐이다.
| 구분 | UA (종료됨) | GA4 |
|---|---|---|
| 추적 | 페이지뷰 중심 | 이벤트 중심 (클릭, 스크롤, 영상 재생 등) |
| 앱 | 웹 전용 | 웹 + 앱 통합 |
| AI | 없음 | 이상 감지, 예측 분석 |
| 데이터 보존 | 무제한 | 기본 2개월, 최대 14개월 |
이벤트 중심이 좋은 이유: UA는 “어떤 페이지를 봤는지”만 기록했는데, GA4는 “페이지에서 뭘 클릭했는지”, “영상을 몇 초 봤는지”, “얼마나 스크롤했는지”까지 자동 추적한다.
계정 구조
GA4는 계정 → 속성 → 데이터 스트림 3단계다.
- 계정(Account) = 회사 본사. 구글 계정에 속함
- 속성(Property) = 각 사이트. G-XXXXXXXXXX 형태 측정 ID 발급
- 데이터 스트림 = 웹 또는 앱
계정: 내 계정
├─ 속성 1: main-site.com (G-AAAA)
├─ 속성 2: blog.main-site.com (G-BBBB)
└─ 속성 3: app.main-site.com (G-CCCC)
각 속성은 완전히 독립적이다. G-BBBB 코드가 블로그에만 심어져 있으면 블로그 방문자만 집계된다.
설치 방법
STEP 1: 측정 ID 발급
- analytics.google.com → 관리(톱니바퀴)
- 속성 만들기 → 이름 입력 (예: “내 블로그”)
- 국가(한국), 통화(원)
- 데이터 스트림 → 웹 → URL 입력 → 스트림 만들기
- G-XXXXXXXXXX 측정 ID 복사
STEP 2: 사이트에 코드 넣기
순수 HTML:
<head> 안에 아래 코드를 넣는다:
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
WordPress:
가장 쉬운 방법은 Site Kit 플러그인(구글 공식). 관리자 → 플러그인 → Site Kit 검색 → 설치 → 구글 로그인 → Analytics 연동. 코드 편집 필요 없다.
header.php를 직접 수정해도 되지만, 테마 업데이트하면 코드가 날아갈 수 있다. Site Kit이나 자식 테마를 쓰는 게 안전하다.
Next.js App Router:
공식 권장은 @next/third-parties:
npm install @next/third-parties
// app/layout.tsx
import { GoogleAnalytics } from '@next/third-parties/google'
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<GoogleAnalytics gaId="G-XXXXXXXXXX" />
</body>
</html>
)
}
next/script로 직접 넣을 수도 있다. 이 경우 strategy="beforeInteractive"로 해야 첫 페이지뷰부터 빠짐없이 추적된다. afterInteractive(기본값)면 React 하이드레이션 후에 실행돼서 데이터가 누락될 수 있다.
CSP(Content Security Policy) 쓰고 있으면 GA 도메인을 허용 목록에 추가해야 한다. 안 하면 브라우저가 GA 스크립트를 차단한다.
동작 확인
방법 1 — 실시간 보고서 (쉬움):
GA4 → 보고서 → 실시간 → 다른 브라우저(시크릿 모드)에서 내 사이트 접속 → 1~2분 내에 “활성 사용자 1″이 뜨면 성공
방법 2 — 개발자 도구:
크롬 F12 → Network → gtag 또는 collect 필터 → 200 OK나 204가 뜨면 정상
광고 차단 프로그램(uBlock 등)이 GA를 막을 수 있다. 확인할 때는 비활성화하거나 시크릿 모드를 쓰자.
보고서 읽는 법
| 보고서 | 이런 때 확인 |
|---|---|
| 실시간 | 글 발행 직후 “지금 몇 명?” |
| 획득(트래픽 소스) | 구글 검색/SNS/직접입력 중 어디서 왔는지 |
| 참여도(페이지별 조회) | 어느 글이 제일 인기인지 |
| 인구통계 | 방문자 연령/국가 |
| 탐색(자유형식) | 커스텀 보고서 (중급 이상) |
솔직히 처음에는 실시간이랑 페이지별 조회수 두 개만 봐도 충분하다. 데이터가 최소 1~2주는 쌓여야 나머지가 의미 있다.
자주 하는 실수
| 실수 | 문제 | 해결 |
|---|---|---|
| G-ID를 여러 사이트에 같은 거 사용 | 데이터 섞임 | 사이트마다 별도 속성 |
| 내 방문도 집계 | 수치 부풀려짐 | ‘GA Opt-out’ 확장 설치 또는 내부 트래픽 필터 |
| 코드 넣었는데 안 됨 | 광고 차단 또는 ID 오타 | 시크릿 모드에서 실시간 확인 |
| WP 테마 업뎃 후 GA 사라짐 | header.php 직접 수정 시 초기화 | Site Kit 또는 자식 테마 |
꼭 바꿔야 할 설정: 데이터 보존 기간
GA4 기본 데이터 보존은 2개월이다. 바꾸지 않으면 2개월 전 데이터 세부 분석이 안 된다.
GA4 → 관리 → 데이터 설정 → 데이터 보존 → 14개월로 변경 → 저장
14개월이 무료 최대. 그 이상은 GA4 360(유료)에서만 가능하다. 나도 이 설정을 나중에야 바꿔서 초기 데이터를 좀 날렸다.
같이 쓰면 좋은 도구
- Google Search Console: 구글 검색 노출 관리. GA4랑 연동하면 “검색에서 어떻게 발견” + “발견 후 뭘 했는지”가 연결됨
- Google AdSense: 광고 수익화. GA4 트래픽 데이터로 최적화
설정 순서: Search Console(검색) → GA4(분석) → AdSense(수익)
설치 후 느낀 점
GA4 설치 자체는 30분이면 끝나는데, 진짜 의미 있으려면 데이터가 쌓여야 한다. 최소 2~3주는 지나야 “어떤 글이 잘 되고 있고, 어디서 유입이 많은지” 패턴이 보이기 시작했다. 설치는 빨리 해둘수록 유리하다.
체크리스트:
– [ ] GA4 속성 생성 + G-ID 발급
– [ ] 사이트에 코드 삽입
– [ ] 실시간 보고서에서 확인
– [ ] 데이터 보존 14개월로 변경
– [ ] 내 방문 제외 필터 (권장)


