GA4 구조 심화

GA4GTM심화 · 수집일 2026-07-24

📘 이 토픽으로 만든 아카데미 레슨 보러가기 →

원문 자료

GA4 구조 심화 조사 원문

조사 대상: 슬로우베리 마케팅스터디 블로그 — GA4(구글 애널리틱스 4) 심화 교육용 콘텐츠
조사 기간: 2026-07-24
조사 방식: 공식 문서(Google Help, Google Tag Manager) + 업계 전문가 가이드
대상 독자: 매체 이해도·심화 교육을 원하는 광고주·마케터·분석가


1. GA4 vs UA: 근본적 데이터 모델 전환 (결정적 차이)

1.1 UA(Universal Analytics): 세션 기반 · 히트(Hit) 중심

1.2 GA4: 이벤트 기반 · 단일 이벤트 중심

1.3 실무적 영향

측면 UA GA4
데이터 수집 기초 세션 먼저 정의, 히트 그룹화 모든 상호작용을 독립 이벤트로 수집
세션 개념 구조의 중심(필수) 후속 분석 개념(선택적)
유연성 낮음(차원 스코프 고정) 높음(이벤트별 매개변수 자유)
기본 보고 세션, 목표(goal) 이벤트, key event
마이그레이션 시 주의 "세션이 없어진다"는 오해 주의. GA4에도 세션이 있지만, 차원·메트릭 설계 방식이 다름

2. 데이터 스트림 · 측정 ID · GTM 관계 (수집 구조)

2.1 데이터 스트림(Data Stream) 정의

2.2 측정 ID(Measurement ID) 형식 & 역할

2.3 Google Tag Manager와 GA4 연동

2.3.1 기본 플로우 (2024~2026 현재)

웹사이트
  ↓
GTM 컨테이너 태그
  ↓
GA4 Configuration Tag (측정 ID 입력)
  ↓
GA4 데이터 스트림 (G-XXX)
  ↓
GA4 프로퍼티 (데이터 저장)

2.3.2 2025 업데이트: Google Tag로 자동 마이그레이션

2.3.3 GTM에서 측정 ID 사용


3. 세션 & 사용자 정의 (GA4 세션 메커니즘)

3.1 GA4 세션(Session) 정의

3.2 session_start 이벤트

3.3 세션 타임아웃 커스터마이징 시 고려사항

시간대 장점 단점 추천 산업
5~10분 짧은 세션 = 높은 세션 수, 정교한 이탈율 파악 실제 사용 패턴과 안 맞으면 노이즈 증가 소셜, 뉴스
30분 (기본값) 이용자 행동 자연스럽게 반영, 산업 평균 비교 가능 **- 대부분의 사이트
1~2시간 긴 세션 = 이탈 감소(가짜 개선), 더 오래 머물렀다고 인식 실제 재방문 구분 어려움 게임, 복잡 B2B 도구

3.4 사용자(User) 정의


4. 사용자 식별 메커니즘 (User-ID & Cross-Device)

4.1 기본 사용자 식별 (클라이언트 ID)

4.2 User-ID 기능 (로그인 사용자 식별)

4.2.1 정의

4.2.2 구현 예시

1. 사용자 로그인 (웹사이트)
   ↓
2. 데이터 레이어에 user_id 설정 (예: "cust_12345")
   ↓
3. GTM/GA4 태그가 user_id 수신
   ↓
4. GA4에서 동일 사용자의 모든 기기 행동 통합 (웹 + 모바일 + 태블릿)

4.2.3 필수 주의사항

4.3 Reporting Identity (보고 ID 설정)


5. 이벤트 · 매개변수 · 사용자 속성 구조 (GA4 데이터 아키텍처)

5.1 이벤트(Event)

5.2 이벤트 매개변수(Event Parameters)

5.3 커스텀 차원(Custom Dimensions) vs 이벤트 매개변수

측면 이벤트 매개변수 커스텀 차원
정의 이벤트와 함께 전송되는 raw 데이터 매개변수 또는 사용자 속성을 기반한 보고 정의
개수 제한 무제한 Event-scoped: 50개 / User-scoped: 25개 / Item-scoped: 10개
BigQuery 노출 자동 (별도 설정 불필요) 커스텀 차원만 표시
UI 보고서 사용 필터·그룹화 불가 (raw data로만 활용) 필터·그룹화·세그멘테이션 가능
설정 복잡성 낮음 (GTM에서 매개변수만 보내면 됨) 높음 (Admin에서 매개변수→차원 매핑 필수)

5.4 사용자 속성(User Properties)

5.5 스코프(Scope) 계층 (GA4의 가장 복잡한 개념)

GA4는 4가지 데이터 스코프를 정의하며, 스코프 간 자유로운 결합이 불가능:

5.5.1 Event Scope (이벤트 레벨)

5.5.2 Session Scope (세션 레벨)

5.5.3 User Scope (사용자 레벨)

5.5.4 Item Scope (상품 레벨, eCommerce 전용)

5.5.5 스코프 결합 제약의 실무 사례

❌ 불가능: 
보고서에 "page_path" (Event scope) + "lifetime_value" (User scope) 동시 표시
→ 각 페이지별 사용자 생명주기값이 명확하지 않음 (중복 계산?)

✓ 가능:
- "page_path" + "session_medium" (Event + Session scope) 결합
- "source" (User scope) + "conversion" (User scope) 결합

6. 데이터 보존 · 카디널리티 · Thresholding (보고 한계)

6.1 데이터 보존(Data Retention) 정책

6.1.1 '보존'이 적용되는 보고서 (Exploration)

6.1.2 '보존'이 무관한 보고서 (표준 리포트)

6.1.3 실무 의미

6.2 카디널리티(Cardinality) · "(other)" 문제

6.2.1 고카디널리티 차원의 예

page_path: /product/shoes, /product/shirt, /product/hat, ... (수천 개)
query_parameter: custom_id=1, custom_id=2, ... (무제한)
user_id: 사용자별 고유값 (수백만 개)

6.2.2 해결 방법

6.3 Data Thresholding (데이터 표시 제한)

6.3.1 Thresholding 해제 방법

6.4 기타 GA4 한도

항목 한도 설명
Event names 500개/프로퍼티 초과 시 새 이벤트 수집 중단
Event-scoped Custom Dimensions 50개 보고서에서 차원화 가능한 이벤트 매개변수
User-scoped Custom Dimensions 25개 사용자 속성 기반 커스텀 차원
Item-scoped Custom Dimensions 10개 eCommerce 상품 속성
Standard report row limit 50,000행/일 초과 시 하위 행 "(other)" 통합

7. UA 지원 종료 흐름 (컨텍스트)

7.1 타임라인

7.2 실무 영향


8. 심화 콘텐츠 핵심 포인트

8.1 광고주 관점 (운영 측면)

  1. GA4 기본 설정: Measurement ID 확인, GTM 연결 검증
  2. 세션 타임아웃: 산업별 최적화 (기본 30분이 대부분 적절)
  3. User-ID: 로그인 사용자 많으면 필수 (크로스 디바이스 추적)
  4. 데이터 보존: BigQuery 필요 여부 미리 검토

8.2 분석가 관점 (보고 활용)

  1. 스코프 이해: 보고서 설계 시 스코프 호환성 필수 확인
  2. 커스텀 차원 제한: 50개 event-scoped 한계 미리 우선순위화
  3. 카디널리티 관리: "(other)" 문제 발생 시 대안 (BigQuery, 차원 재설계)
  4. Thresholding: 인구통계 필터 시 데이터 공백 가능성 인지

8.3 기술 구현 관점 (GTM)

  1. GTM 2025 마이그레이션: 자동이므로 호환성 사전 검증만
  2. 이벤트 매개변수: 무제한 전송 가능하되, 보고 목표에 맞는 것만 커스텀 차원화
  3. User-ID 구현: PII 절대 금지, 계정 ID 사용, 일관성 필수
  4. Server-side Tagging: 프라이버시 강화 + 데이터 정제 권장

9. 흔한 오해 & 오류 사례

9.1 "GA4는 세션이 없다"

9.2 "User-ID = 로그인 의무"

9.3 "데이터 보존 2개월 = 과거 데이터 삭제"

9.4 "Measurement ID = GTM 필수"

9.5 "이벤트 매개변수 50개 제한"


10. 매체 이해도를 높이는 체크리스트

콘텐츠 발행 전 다음을 검증하세요:

10.1 기술 정확성

10.2 개념 설명

10.3 실무 가치

10.4 광고주 한계 인식


11. 출처 요약

공식 자료

업계 전문가 가이드

한글 자료


작성 완료: 2026-07-24
대상 글: 슬로우베리 마케팅스터디 블로그 심화 교육 콘텐츠
다음 단계: 콘텐츠 집필팀에서 이 조사 자료 기반 글 작성

핵심 팩트 (16건)

[확실] [공식]
GA4는 이벤트 기반(event-based) 데이터 모델을 사용하는 반면, Universal Analytics(UA)는 세션 기반(session-based) 히트(hit) 모델을 사용한다. UA에서는 사용자의 각 상호작용(히트)이 세션 내에 그룹화되어 저장되지만, GA4에서는 모든 상호작용이 독립 이벤트로 기록되고 세션은 후속적으로 생성되는 분석 개념이다.
⚠ "이벤트 기반"은 GA4의 핵심 설계이므로, 세션/목표/히트 기반 사고는 마이그레이션 과정에서 오류 유발. UA를 배운 분석가는 GA4에서 '세션'이 후속 개념임을 명시적으로 이해해야 함. (CardinalPath, Trionia)
[확실] [공식]
GA4의 측정 ID(Measurement ID)는 웹 데이터 스트림의 고유 식별자이며, 형식은 'G-XXXXXXX'(G- 접두사 + 11자리 숫자)이다. 각 GA4 프로퍼티는 여러 데이터 스트림을 가질 수 있고, 각 스트림마다 고유한 측정 ID를 할당받는다.
⚠ UA의 'Tracking ID'(UA-XXXXXXX)와 혼동 금지. GA4 측정 ID 형식이 다름. 같은 프로퍼티 내 여러 데이터 스트림(예: 웹 + 앱)은 각각 고유 측정 ID를 가짐. (Google Analytics Help)
[확실] [공식]
2025년부터 Google Tag Manager의 GA4 Configuration Tag는 자동으로 Google tag로 업그레이드되며, GA4 Event tags는 여전히 Measurement ID를 사용한다. 기존 GA4 Configuration tags 배포는 자동 마이그레이션되므로 수동 조치 불필요하다.
⚠ 자동 마이그레이션은 기존 Measurement ID 기반 설정을 유지하므로 호환성 파괴 없음. 다만 Google tag 콘솔에서 Tag ID 표기로 표시되므로, ID 형식 변경으로 오인 가능. (Google Tag Manager Help)
[확실] [공식]
GA4의 세션은 session_start 이벤트로 시작하고, 사용자가 30분간 활동이 없을 때 종료된다. 세션 타임아웃은 Admin > Data Streams > Configure tag settings에서 5분에서 7시간 55분 사이로 커스터마이징 가능하다.
⚠ 30분은 기본값이며, 타임아웃 조정 시 기간이 짧을수록 세션 수 증가→높은 bounce rate, 길수록 세션 병합→이탈 감소(가짜 개선). 산업·비즈니스 모델별 최적 설정 필요. (MeasureSchool & Affectgroup)
[확실] [공식]
session_start는 GA4에서 자동으로 수집되는 이벤트이며, 새로운 세션이 시작될 때마다 자동으로 발동된다. session_start 이벤트는 비활성화할 수 없고, 모든 GA4 속성에서 자동 기록된다.
⚠ session_start는 커스터마이징·비활성화 불가능. 만약 session_start 이벤트가 보고되지 않으면 데이터 수집 문제(GTM 미설정, 네트워크 차단, 브라우저 추적 차단) 의심. (Affectgroup)
[확실] [공식]
GA4의 User-ID 기능은 로그인한 사용자에게 고유한 비식별 ID를 할당해, 동일 개인이 여러 기기에서 수행한 행동을 하나의 사용자 여정으로 추적한다. User-ID를 활성화하려면 Admin > Data Streams에서 설정한 후, 로그인 시마다 일관된 ID를 데이터 레이어로 전달해야 한다.
⚠ User-ID는 개인식별정보(이메일, 휴대폰 번호)를 직접 사용하면 안 됨. 별도 계정 ID/고객번호 등 익명화된 식별자 필수. Privacy Policy에서 ID 사용 고지 필수. (AnalyticsMania & Bounteous)
[확실] [공식]
GA4의 reporting identity는 3가지 옵션을 제공한다: ①Blended(혼합, 기본값): User-ID 우선, 없으면 Google Signals·Device ID 사용, ②Observed: User-ID + Google Signals·Device ID 병렬 추적, ③Device-based: Device ID만 사용. 선택한 보고 ID에 따라 사용자 수·Cross-device 분석 정확도 달라진다.
⚠ Blended는 User-ID 가용성에 따라 보고 수치 변동 가능(로그인율 저하 시 수치 감소). 일관된 수치 추적을 원하면 보고 ID 선택 후 변경 금지. (Bounteous & OptimizeSmart)
[확실] [공식]
GA4의 기본 사용자 수준 데이터 보존 기간은 2개월이며, Admin > Data Settings에서 14개월으로 연장 가능하다. 하지만 보존 설정은 Exploration 보고서(퍼널, 경로 분석, 커스텀 세그먼트)에만 적용되고, 표준 보고서(Traffic Acquisition, Pages and Screens 등)는 집계 데이터를 무제한 보존한다.
⚠ 2~14개월 설정은 '수집된 데이터'의 보존이지, '수집 자체'를 제한하지 않음. 즉, Exploration에서 2개월 후 데이터가 숨겨져도 BigQuery 내보내기는 원본 수집 모든 데이터를 포함. 장기 분석은 BigQuery 필수. (Momentic & AnalyticsCanvas)
[확실] [공식]
GA4에서 '고카디널리티(high-cardinality)'는 일일 500개 이상의 고유값을 가진 차원을 의미한다. 고카디널리티 차원은 GA4 표준 보고서에서 가장 빈번한 상위 행들을 먼저 표시하고, 나머지 값들을 '(other)' 그룹으로 통합한다.
⚠ 500은 Google 공식 기준이지만, 실제 '(other)' 표시는 보고서 로우 제한(표준 보고서 최대 50,000 행)과 결합되어 발생. URL·Query Parameter·CustomDimension 같은 고카디널리티 필드는 표준 보고서에서 정보 손실 가능→BigQuery 직접 조회 권장. (GA4.com & Kissmetrics)
[확실] [공식]
GA4의 데이터 Thresholding(데이터 표시 제한)은 사용자 식별자(User-ID, 디바이스 ID)와 인구통계 데이터(성별, 나이)를 결합한 보고서에서, 개별 사용자의 신원 추론을 방지하기 위해 데이터 일부를 숨긴다. 신원 추론 위험이 감지되면 보고서 셀이 '--'로 표시되거나 데이터가 제외된다.
⚠ Thresholding은 보고서 시각화만 차단하고, 원본 데이터는 수집됨. BigQuery 내보내기는 모든 threshold 제한 없이 원본 데이터 전송→완전한 분석 정보 접근 가능. 단, BigQuery 데이터도 개인정보 보호법 준수 의무 있음. (Kissmetrics & Softcrylic)
[확실] [공식]
GA4 프로퍼티당 최대 500개의 서로 다른 이벤트명(distinct event names)을 수집할 수 있다. 초과 시 추가 이벤트는 수집되지 않으며, 이벤트명 정규화(예: 'Click'과 'click' 구분)가 중요하다.
⚠ 500개 한도는 프로퍼티당 총 누적 고유명 기준. 실제 초과 시 새 이벤트 수집 중단이지, 기존 이벤트가 삭제되는 것은 아님. 다만 이벤트 추적 기능 확장이 막힐 수 있으므로, 대규모 추적 계획은 프로퍼티 분리 고려. (Softcrylic)
[확실] [공식]
GA4 표준 프로퍼티는 커스텀 차원 제한을 다음과 같이 설정하고 있다(2025~2026): 50개 event-scoped, 25개 user-scoped, 10개 item-scoped. 이 제한은 프로퍼티당 적용되며, GA4 360(유료)은 더 높은 한도를 제공한다.
⚠ Event-scoped(50개) 초과 시 추가 이벤트 매개변수 커스텀 차원화 불가. 이벤트 파라미터 자체는 무제한이지만, 보고서에서 '차원'으로 사용하려면 50개 제한. 우선순위 계획 필수. (Krishtechnolabs & Conversios)
[확실] [공식]
GA4는 4가지 데이터 스코프를 가진다: ①Event scope(단일 상호작용의 매개변수), ②Session scope(세션 내 그룹화된 데이터, 예: channel_grouping), ③User scope(세션 간 지속하는 사용자 속성, 예: lifetime_value), ④Item scope(ecommerce 하위 레이어, 예: product_name). 스코프 간에는 자유로운 결합 제약이 있으며, 각 차원·메트릭은 특정 스코프에만 속한다.
⚠ "자유로운 결합 제약"은 GA4의 가장 복잡한 특성. 예: Event scope 차원(page_path)과 User scope 메트릭(lifetime_value)을 같은 보고서에 넣으면 스코프 불일치→보고서 로드 불가 또는 자동 집계. 보고서 설계 시 스코프 호환성 필수 확인. (OptimizeSmart)
[확실] [공식]
GA4의 이벤트 매개변수(Event Parameter)는 각 이벤트와 함께 전송되는 key-value 쌍 데이터이며, 커스텀 차원(Custom Dimension)은 이벤트 매개변수 또는 사용자 속성에서 생성되는 보고 정의(reporting-level construct)이다. 이벤트 매개변수는 무제한 개수를 전송할 수 있지만, 보고서에서 '차원'으로 사용하려면 커스텀 차원으로 정의하고 제한(event-scoped 50개)을 확인해야 한다.
⚠ 이벤트 매개변수는 BigQuery 내보내기에서 raw column으로 표시되므로 개수 제한 없음. 하지만 UI 보고서에서 필터/차원으로 쓰려면 커스텀 차원 등록 필수. 매개변수 50개 > 차원은 해당 매개변수 선택해서 차원화. (Conversios)
[확실] [공식]
GA4의 사용자 속성(User Properties)은 로그인 사용자 또는 User-ID로 식별된 사용자의 속성이며, 세션 간에 지속된다. 사용자 속성은 모든 이벤트와 함께 자동으로 전송되므로, 구매력, 회원 등급, 선호 카테고리 같은 사용자 특성을 중앙 집중식으로 관리할 수 있다.
⚠ 사용자 속성은 데이터 레이어('user_properties' 객체) 또는 GTM 사용자 정의 변수로 설정. 설정 후 24시간 이후부터 보고서에 표시되며, 사용자 속성 변경도 비동기(지연 적용) 특성 있음. (Conversios)
[확실] [공식]
GA4에서 BigQuery로 내보낸 원본 이벤트 데이터(raw event-level data)는 data thresholding, sampling, cardinality 제한이 모두 해제된다. 표준 GA4 보고서에서 '(other)'로 표시된 데이터, '--'로 차단된 데이터도 BigQuery에서는 전수 접근 가능하다.
⚠ BigQuery 데이터 접근권한이 있더라도 GDPR/CCPA 등 개인정보 보호법은 여전히 적용. 원본 데이터도 개인정보 최소화, 접근 권한 제한, 데이터 정제 의무 있음. 무제한 접근이 무제한 활용을 의미하지 않음. (Kissmetrics)