GA4 + GTM 마스터 노트 시리즈 1편. Universal Analytics와 결정적으로 다른 이벤트 기반 데이터 모델 — Measurement ID 한 줄로 사이트와 GA4가 연결되는 원리, Client ID와 _ga 쿠키, 세션 30분 룰과 참여 세션, 자동/향상/추천/맞춤 4가지 이벤트 유형, 데이터 스트림과 어트리뷰션까지 손에 잡히게 풀어 갑니다.
이 글은 GA4 + GTM 마스터 노트 시리즈의 첫 번째 편입니다. Universal Analytics(UA)에서 GA4로 강제 전환된 게 2023년 7월. 그런데 많은 마케터·개발자가 여전히 "이름만 바뀐 새 UA"로 오해해요. 사실은 데이터 모델 자체가 완전히 바뀐 다른 도구입니다.
이 시리즈는 7편으로 GA4 + GTM의 거의 모든 영역을 다룹니다. 1편의 목표는 단순해요. 이벤트·세션·사용자·데이터 스트림 네 단어를 손에 잡히게 만드는 것. 이 네 개념이 잡혀야 2편 GTM 설치, 3편 이벤트 구현이 자연스럽게 따라옵니다.
이 시리즈는 Google 공식 GA4·GTM 가이드, GA4 Help Center, 여러 공개 디지털 마케팅·웹 분석 학습 자료를 참고해 한국어 학습 노트로 풀어쓴 자료입니다.
읽으면서 GA4 데모 계정(Google Merchandise Store)에 직접 들어가 실시간 보고서·DebugView를 클릭해 보면 본문이 머리에 훨씬 잘 박혀요. 30분이면 자기 사이트에 측정 ID 한 줄 박고 첫 page_view가 도착하는 걸 볼 수 있습니다.
처음 GA4가 어렵게 느껴지는 이유
이유는 두 가지예요.
첫째, UA와 사용 용어가 비슷한데 의미가 미묘하게 다릅니다. UA의 "히트(Hit)" → GA4의 "이벤트(Event)", UA의 "목표(Goal)" → GA4의 "전환 이벤트". 이름만 바뀌면 다행인데, 모델 자체가 달라요. UA는 페이지뷰·이벤트·이커머스가 따로 따로의 히트 타입이었지만, GA4는 모든 게 단일한 이벤트입니다. 이 차이를 무시하고 UA 마인드로 GA4를 보면 자꾸 어긋납니다.
둘째, 인터페이스가 5개 섹션(홈·보고서·탐색·광고·관리)으로 늘어나면서 어디서 뭘 해야 하는지가 첫 단계에서 막혀요. 표준 보고서·맞춤 정의·잠재고객·DebugView — 비슷한 단어들이 다른 메뉴에 흩어져 있습니다.
해결법은 한 가지예요. GA4의 기본 단위는 이벤트 하나라는 사실을 못 박으세요. 페이지뷰? 이벤트. 클릭? 이벤트. 스크롤? 이벤트. 구매? 이벤트. 이 한 줄만 잡으면 거의 모든 후속 개념이 정리됩니다.
GA4 인터페이스 — 계층 구조부터
GA4의 데이터는 3단계 계층으로 흐릅니다.
GA4 계정 (Account)
└── 속성 (Property)
└── 데이터 스트림 (Data Stream)
| 계층 | 역할 | 예시 |
|---|---|---|
| 계정 | 최상위, 비즈니스/조직 단위 | "ABC회사" |
| 속성 | 웹사이트 또는 앱 하나 | "ABC회사 메인 사이트" |
| 데이터 스트림 | 데이터가 들어오는 통로 | 웹·iOS 앱·Android 앱 각각 별도 |
여기서 시험 함정이 하나 있어요. 하나의 속성에 여러 데이터 스트림을 가질 수 있어요. 모바일 앱 + 웹사이트가 같은 속성에 묶이면 크로스 플랫폼 분석이 가능합니다. UA에서는 이게 별도 속성이었던 부분이 GA4에서 통합됐어요.
인터페이스 5개 섹션의 역할:
| 섹션 | 무엇을 하는 곳 |
|---|---|
| 홈 | 개요 대시보드, 주요 KPI 카드 |
| 보고서 | 사전 구성된 표준 보고서 모음 |
| 탐색 | 자유형·퍼널·경로 등 커스텀 분석 |
| 광고 | Google Ads, 어트리뷰션 비교 |
| 관리 | 계정·속성·이벤트·전환·잠재고객 설정 |
Measurement ID — 사이트와 GA4를 잇는 한 줄
GA4 추적의 출발점은 측정 ID(Measurement ID) 입니다. G-XXXXXXXXXX 형식의 고유 ID 하나가 데이터 스트림마다 발급돼요.
// GA4 기본 추적 코드의 핵심 한 줄
gtag('config', 'G-XXXXXXXXXX');
이 한 줄이 사이트에 들어가면 페이지뷰가 GA4 서버로 흘러갑니다. 실시간 보고서를 열어 두면 보통 수 초 안에 자기 방문이 도착하는 걸 확인할 수 있어요.
사용자가 페이지 접속
↓
페이지에 박힌 GA4 JavaScript 실행
↓
Measurement ID로 GA4 서버 호출
↓
실시간 보고서 반영 (수 초)
여기서 시험 함정이 하나 있어요. Measurement ID는 데이터 스트림마다 다릅니다. 한 속성에 웹·iOS·Android 세 스트림이 있으면 ID가 세 개. 잘못된 ID를 박으면 데이터가 다른 스트림으로 흘러가니, Admin → Data Streams에서 정확한 ID를 복사해야 합니다.
사용자 — Client ID와 _ga 쿠키
GA4가 같은 사용자를 인식하는 메커니즘은 Client ID 예요. 첫 방문 때 브라우저에 _ga 쿠키가 생성되고, 이게 사용자 식별자가 됩니다.
신규 방문 → _ga 쿠키 생성 → Client ID 할당
(예: GA1.1.1234567890.1234567890)
재방문 → 같은 _ga 쿠키 → 같은 Client ID → 재방문자 인식
쿠키 삭제 → 다음 방문 = 신규 사용자로 인식
쿠키는 Chrome DevTools에서 직접 볼 수 있어요. Application 탭 → Cookies → 사이트 URL → _ga 쿠키 클릭.
Cross-Browser 한계
여기서 정말 중요한 시험 함정 — 같은 사람이 Chrome과 Edge로 접속하면 GA4는 다른 사용자로 봅니다.
Chrome 방문 → _ga: GA1.1.111111.111111
Edge 방문 → _ga: GA1.1.222222.222222
→ 동일 인물이지만 GA4 통계상 2명의 사용자
이걸 해결하는 도구가 User ID 예요. 로그인한 사용자에게 서버에서 발급한 ID를 GA4에 넘겨주면 브라우저·기기를 넘나들어도 한 사용자로 추적됩니다. 자세한 구현은 3편(이벤트)에서.
// User ID 설정 — 한 줄
gtag('config', 'G-XXXXXXXXXX', {
'user_id': 'USER_12345' // 서버에서 받은 해시된 ID
});
세션 — 30분 비활동 룰
세션은 한 번의 방문 단위예요. UA와 GA4 모두 동일한 30분 비활동 룰을 씁니다.
사용자가 사이트 방문
↓
session_start 이벤트 발생
↓
30분 동안 활동 없음 → 세션 종료
↓
재방문 → 새 세션 시작
참여 세션 (Engaged Sessions)
GA4가 새로 도입한 개념. 다음 세 조건 중 하나라도 만족하면 참여 세션:
- 사이트에서 10초 이상 체류
- 2회 이상 페이지뷰
- 전환 이벤트 발생
UA의 "이탈률(Bounce Rate)"이 GA4에서는 사실상 사라지고 참여율(Engagement Rate) 로 뒤집혔어요.
| GA4 지표 | 의미 |
|---|---|
| Sessions | 총 세션 수 |
| Engaged Sessions | 참여 세션 수 |
| Engagement Rate | 참여 세션 / 총 세션 |
| Sessions per User | 사용자당 평균 세션 수 |
여기서 시험 함정이 하나 있어요. GA4의 (1 - 참여율) 이 거의 UA의 이탈률에 해당합니다. 다만 정의가 미묘하게 달라(10초 룰 추가) 수치 자체는 비교 불가. UA에서 이탈률 50%였던 사이트가 GA4에서 참여율 65%로 나와도 둘이 모순되지 않아요.
이벤트 모델 — 모든 것이 이벤트
GA4의 핵심. 모든 사용자 상호작용이 이벤트로 처리됩니다.
이벤트 구조
{
"event_name": "page_view",
"event_parameters": {
"page_location": "https://example.com/home",
"page_title": "홈페이지",
"page_referrer": ""
},
"user_properties": {
"customer_type": "premium"
}
}
세 부분으로 나뉩니다 — 이벤트 이름, 매개변수(이벤트마다 최대 25개), 사용자 속성.
4가지 이벤트 유형
| 유형 | 설명 | 예시 |
|---|---|---|
| 자동 수집 | 코드 없이 자동 | first_visit, session_start, page_view, user_engagement |
| 향상된 측정 | Admin 토글로 활성 | scroll, click(외부), view_search_results, video_*, file_download |
| 추천 이벤트 | GA4 표준 명명 권장 | purchase, add_to_cart, view_item, sign_up |
| 맞춤 이벤트 | 직접 정의 | product_click, menu_click 등 |
여기서 정말 중요한 시험 함정 — 추천 이벤트(권장 이름) 와 맞춤 이벤트(자유 이름) 의 차이를 무시하면 GA4 보고서가 비어 보입니다. purchase, add_to_cart 같은 추천 이름을 쓰면 자동으로 보고서·잠재고객·머신러닝 분석에 활용돼요. 맞춤 이름(buy_now)으로 박으면 같은 의미라도 GA4가 인식 못 해서 추가 설정이 필요합니다.
이벤트 매개변수 vs 사용자 속성
자주 헷갈리는 두 개념의 차이.
| 특성 | 이벤트 매개변수 | 사용자 속성 |
|---|---|---|
| 연결 대상 | 특정 이벤트에만 | 사용자에게 지속 |
| 지속성 | 이벤트마다 다름 | sticky (다음 이벤트에도 유지) |
| 한도 | 이벤트당 25개 | 사용자당 25개 |
| 예시 | page_title, item_id, price | customer_type, affinity, vip_tier |
// 사용자 속성 설정 — 다음 이벤트부터 자동 첨부됨
gtag('set', 'user_properties', {
'customer_status': 'premium',
'add_to_cart_user': 'yes'
});
데이터 스트림과 향상된 측정
데이터 스트림은 GA4 속성으로 데이터가 들어오는 통로예요. 웹·iOS·Android 세 종류.
웹 스트림 설정 시 향상된 측정(Enhanced Measurement) 토글이 핵심.
Admin → Data Streams → 스트림 선택 → Enhanced measurement 토글
활성화 가능 항목:
- Page views — 항상 활성 (비활성 불가)
- Scrolls — 페이지 하단 90% 도달 시
- Outbound clicks — 외부 도메인 링크 클릭
- Site search — 검색 쿼리 파라미터 자동 추적
- Video engagement — YouTube 임베드 영상 (start/progress/complete)
- File downloads — pdf·xlsx·docx 등 확장자 자동 추적
여기서 시험 함정이 하나 있어요. 향상된 측정은 코드 한 줄 안 쓰고 6가지 행동을 자동 추적합니다. 외부 링크 클릭, 사이트 내 검색, YouTube 영상 시청 등을 GTM 설정 없이 즉시 받을 수 있어요. 이걸 안 켜고 일일이 GTM으로 추적하려는 게 가장 흔한 시간 낭비.
보고서 개요 — 어디서 무엇을 보나
표준 보고서 5종을 한 줄씩.
| 보고서 | 핵심 질문 |
|---|---|
| 획득 (Acquisition) | 사용자가 어디서 왔는가 (유입 채널) |
| 참여 (Engagement) | 사이트에서 무엇을 했는가 (이벤트·페이지) |
| 수익화 (Monetization) | 얼마나 벌었는가 (이커머스) |
| 유지 (Retention) | 얼마나 다시 오는가 (코호트·LTV) |
| 사용자 (User) | 누가 왔는가 (인구통계·기기) |
획득 보고서의 채널 분류를 외워두면 좋아요.
| 채널 | 설명 |
|---|---|
| Organic Search | 구글 자연 검색 |
| Direct | 직접 URL 입력·북마크 |
| Paid Search | 유료 검색 광고 |
| Organic Social | 소셜 미디어 |
| 이메일 마케팅 | |
| Referral | 다른 사이트 링크 |
어트리뷰션 — 전환의 공로 분배
여러 채널을 거쳐 전환된 사용자가 있을 때, 어떤 채널에 공로를 줄지의 룰이에요.
| 모델 | 설명 |
|---|---|
| Last click | 마지막 클릭 채널에 100% |
| First click | 첫 번째 클릭 채널에 100% |
| Linear | 모든 채널에 균등 |
| Data-driven | 머신러닝 기반 가변 분배 (GA4 기본값) |
GA4의 기본 어트리뷰션은 Data-driven 모델 이에요. UA의 Last-click과 결정적으로 다른 부분. 자세한 활용은 4편(전환)에서.
전환 — 비즈니스 핵심 이벤트만
GA4에서 전환(Conversion) 은 비즈니스에 의미 있는 이벤트예요. 일반 이벤트 중 일부를 토글로 "전환 이벤트"로 표시.
Admin → Events → 이벤트 선택 → "Mark as conversion" 토글
전환 이벤트는 최대 30개 까지 설정 가능. 여기서 시험 함정이 하나 있어요. 모든 이벤트를 전환으로 표시하면 의미가 사라집니다. purchase, sign_up, generate_lead 같은 핵심 행동만 골라서 표시해야 광고 ROI 분석이 의미 있어져요.
GA4 vs Universal Analytics — 결정적 차이
UA를 쓰던 분이라면 다음 표를 한 번 외워두면 좋아요.
| 항목 | Universal Analytics | GA4 |
|---|---|---|
| 기본 단위 | 히트(Hit) | 이벤트(Event) |
| 페이지뷰 | 별도 히트 타입 | 그냥 이벤트 하나 |
| 목표 | Goals | 전환 이벤트 |
| 세션 만료 | 30분 비활동 | 30분 비활동 (동일) |
| 이커머스 | Enhanced Ecommerce | Ecommerce (간소화) |
| BigQuery 연동 | 유료(GA360) | 무료 |
| 머신러닝 | 제한적 | 내장 (예측·어트리뷰션) |
| 크로스 플랫폼 | 별도 설정 필요 | 기본 지원 |
여기서 정말 중요한 시험 함정 — BigQuery 연동이 무료가 GA4의 가장 큰 무기 중 하나예요. UA 시절에는 GA360($150K/년)을 결제해야 가능했던 원시 데이터 접근이 GA4 무료 계정에서도 가능합니다. 6편(보고서 분석)에서 자세히.
시험 직전 한 번 더 — 자주 헷갈리는 함정 모음
여기까지가 1편의 핵심입니다. 시험 직전 또는 실무에서 헷갈릴 때 다시 펼쳐 볼 수 있게 압축 노트로 마무리할게요.
- GA4 = 이벤트 기반 (모든 상호작용이 이벤트)
- 계정 → 속성 → 데이터 스트림 (3단계 계층)
- Measurement ID = G-XXXXXXXXXX, 데이터 스트림마다 고유
- gtag('config', 'G-...') 한 줄로 사이트와 GA4 연결
- Client ID =
_ga쿠키에 저장된 사용자 식별자 - 쿠키 삭제·다른 브라우저 = 신규 사용자 (Cross-browser 한계)
- User ID = 로그인 사용자의 크로스-디바이스 추적 도구
- 세션 = 30분 비활동 시 종료 (UA와 동일)
- 참여 세션 = 10초+ OR 2+ 페이지뷰 OR 전환 (셋 중 하나)
- 참여율 = 참여 세션 / 총 세션 (UA 이탈률 X)
- 이벤트 = 이름 + 매개변수(이벤트당 25개) + 사용자 속성
- 이벤트 매개변수 = 특정 이벤트에만 / 사용자 속성 = sticky
- 이벤트 4가지 — 자동 수집 / 향상된 측정 / 추천 / 맞춤
- 추천 이벤트(purchase, add_to_cart) = GA4 자동 인식
- 맞춤 이벤트 = 직접 정의, 보고서에 등록 필요
- 향상된 측정 토글 = scroll·outbound·search·video·download 자동
- 이벤트 이름 룰 — 소문자, 언더스코어, 영문 시작, 최대 40자
- 표준 보고서 5종 — 획득·참여·수익화·유지·사용자
- 유입 채널 — Organic Search·Direct·Paid Search·Social·Email·Referral
- 어트리뷰션 기본값 = Data-driven (ML 기반)
- 전환 이벤트 = 비즈니스 핵심만, 최대 30개
- 모든 이벤트 전환으로 표시 = 의미 사라짐
- BigQuery 연동 무료 = GA4의 결정적 강점
- UA 히트 → GA4 이벤트 / UA Goals → GA4 전환
시리즈 다른 편
같은 시리즈의 다른 글들도 같은 톤으로 묶어 정리되어 있어요. 1편의 모델이 잡히면 다음 편 GTM 설치는 단순한 도구 사용법이 됩니다.
- 1편 — GA4 입문 (현재 글)
- 2편 — GTM 설정 (태그·트리거·변수)
- 3편 — GA4 이벤트 구현
- 4편 — 전환 이벤트와 잠재고객
- 5편 — 이커머스 추적 (Enhanced Ecommerce)
- 6편 — 탐색 보고서·Looker Studio·BigQuery
- 7편 — 디버깅과 모범 사례
공식 문서: Google Analytics 4 Help Center와 GA4 데모 계정 (Google Merchandise Store)에서 본문 내용을 직접 클릭하며 확인할 수 있어요.
다음 글(2편)에서는 GTM 컨테이너 설치부터 What-When-Info 모델, 태그·트리거·변수의 실제 설정까지 풀어 갑니다. 1편에서 잡은 이벤트 모델이 GTM 도구 위에서 어떻게 구체화되는지가 보여요.