GA4 완벽 가이드 5편 - 자동 수집 이벤트와 향상된 측정, GA4가 알아서 하는 것 vs 내가 해야 하는 것

GA4 학습 블로그 시리즈 [5/20]
이벤트 4유형의 본질적 차이를 알아야 "뭘 건드려야 하고 뭘 안 건드려도 되는지"가 보임.


왜 이벤트 유형을 나눠야 하는지

1편에서 "GA4에서는 모든 것이 이벤트"라고 했음. 맞는 말임. 근데 여기서 한 단계 더 들어가야 함.

 

 

모든 게 이벤트이긴 한데, 모든 이벤트를 내가 직접 만들어야 하는 건 아님. GA4가 알아서 해주는 것도 있고, 내가 직접 설정해야 하는 것도 있음. 이 경계를 아는 게 핵심임.

이걸 모르면 두 가지 문제가 생김:

  1. GA4가 이미 해주고 있는 걸 또 만들어서 데이터가 중복됨
  2. GA4가 안 해주는 걸 안 만들어서 필요한 데이터가 빠짐

그래서 이벤트의 4가지 유형을 정확히 이해해야 함.


이벤트 4유형: 전체 그림

GA4의 이벤트는 4단계로 나뉨. 위에서 아래로 갈수록 "내가 할 일"이 많아짐.

유형 누가 만드는 건지 예시 내가 할 일
자동 수집 GA4가 알아서 함 first_visit, session_start 없음. 그냥 놔두면 됨
향상된 측정 GA4가 해주는데 토글로 켜야 함 scroll, click, file_download 토글 ON/OFF만 하면 됨
추천 이벤트 내가 만들어야 하는데 구글이 이름을 정해줌 purchase, login, sign_up GTM이나 코드로 구현
맞춤 이벤트 내가 이름부터 전부 정함 cta_click, newsletter_sub GTM이나 코드로 직접 구현

 

이번 편에서는 1단계(자동 수집)와 2단계(향상된 측정)에 집중함. 이 두 개만 제대로 이해해도 GA4에서 수집되는 데이터의 대부분을 파악할 수 있음.

 

 

핵심은 이것임: "GA4가 알아서 해주는 영역"과 "내가 직접 해야 하는 영역"의 경계를 아는 것.


1단계: 자동 수집 이벤트 - 건드릴 것도 없음

자동 수집 이벤트(Automatically Collected Events)는 GA4를 설치하기만 하면 아무 설정 없이 자동으로 수집되는 이벤트임. 끄는 것도 안 됨. GA4가 무조건 수집함.

웹에서 자동 수집되는 주요 이벤트

이벤트 이름 언제 발생하는지 이게 왜 중요한지
first_visit 사용자가 처음 방문했을 때 신규 사용자를 식별하는 기준임. 첫 방문 시 딱 1번만 발생함
session_start 새 세션이 시작될 때 세션 수를 세는 기준임. 30분 이상 비활성 후 다시 활동하면 새 세션으로 잡힘
page_view 페이지가 로드될 때 가장 기본적인 이벤트. 어떤 페이지를 봤는지 알 수 있음
user_engagement 사이트에 10초 이상 머물 때 사용자가 진짜로 페이지를 보고 있었다는 증거임. "참여 사용자" 지표의 기준이 됨

자동 수집 이벤트의 특징

바꿀 수 없음. 이름을 바꾸거나 비활성화할 수 없음. GA4가 항상 수집함. 그리고 매개변수도 자동으로 딸려옴.

이벤트: session_start
├── 매개변수: ga_session_id = "1234567890"
├── 매개변수: ga_session_number = 3 (이 사용자의 3번째 세션)
└── 매개변수: page_location = "https://example.com/blog"

이벤트: first_visit
├── 매개변수: page_location = "https://example.com"
└── 매개변수: page_referrer = "https://google.com/search?q=..."

이벤트 이름이 "뭘 했는지"를 알려주고, 매개변수가 "그때 상황이 어땠는지"를 알려주는 구조임.

GA4의 세션 정의: UA랑 다르니까 주의해야 함

UA에서 GA4로 넘어오면서 세션의 정의가 바뀌었음. 이걸 모르면 "왜 GA4의 세션 수가 UA보다 적지?" 하고 헷갈리게 됨.

항목 UA GA4
세션 만료 30분 비활성 30분 비활성 (동일)
자정에 세션 끊김 O (자정이면 새 세션) X (자정 넘어도 같은 세션)
캠페인 소스 변경 시 새 세션 시작 같은 세션 유지

GA4에서는 자정이 되어도, 광고 캠페인 소스가 바뀌어도 세션이 안 끊김. 그래서 같은 기간의 데이터라도 GA4의 세션 수가 UA보다 적게 나옴. 이건 버그가 아니라 설계 차이임.


2단계: 향상된 측정 이벤트 - 토글만 켜면 됨

향상된 측정(Enhanced Measurement)은 데이터 스트림 설정에서 토글을 켜기만 하면 자동으로 수집되는 이벤트임. 2편에서 데이터 스트림 만들 때 이미 켜두었을 것임.

자동 수집 이벤트와 뭐가 다르냐면, 끄고 켤 수 있다는 것임. 자동 수집은 무조건 수집되는데, 향상된 측정은 필요에 따라 개별 항목을 ON/OFF 할 수 있음.

7가지 향상된 측정 이벤트, 각각의 실질적 가치

1. 페이지 조회 (page_view)

항목 내용
언제 발생 페이지가 로드되거나 브라우저 히스토리가 변경될 때
주요 매개변수 page_location (URL), page_title (제목), page_referrer (이전 URL)
끌 수 있음? 안 됨. 향상된 측정이 켜져 있으면 항상 수집됨
실질적 가치 가장 기본적인 데이터임. 이거 없으면 "어떤 페이지를 봤는지"조차 모름

SPA(React, Vue.js 등)에서도 잘 작동함. GA4는 브라우저 히스토리 변경(pushState)을 감지해서 페이지 전환을 추적함. SPA라고 따로 설정할 필요 없음.

2. 스크롤 (scroll)

항목 내용
언제 발생 페이지 90% 이상 스크롤했을 때
주요 매개변수 percent_scrolled = 90
실질적 가치 콘텐츠를 끝까지 읽었는지 대략적으로 파악 가능
한계 90%만 측정됨. 25%, 50%, 75%는 안 잡힘

솔직히 이게 좀 아쉬운 부분임. 90%만 측정하니까 "사용자의 절반이 글을 중간에서 이탈하는지"는 알 수 없음. 더 세밀하게 측정하고 싶으면 이 기능을 끄고 GTM에서 스크롤 깊이 트리거를 사용해서 25%, 50%, 75%, 100%를 각각 잡는 게 나음.

3. 이탈 클릭 (click)

항목 내용
언제 발생 현재 도메인과 다른 외부 링크를 클릭했을 때
주요 매개변수 link_url (클릭한 URL), link_domain (도메인), outbound (true)
실질적 가치 사용자가 내 사이트에서 어디로 빠져나가는지 파악 가능
예시:
내 사이트: www.myblog.com
사용자가 본문 중 "네이버" 링크 클릭

→ click 이벤트 발생
  ├── link_url = "https://www.naver.com"
  ├── link_domain = "www.naver.com"
  └── outbound = true

이게 왜 중요하냐면, 외부 링크가 광고 수익이나 제휴 마케팅의 핵심일 수 있기 때문임. "어떤 외부 링크를 가장 많이 클릭하는지" 알면 콘텐츠 전략에 직접 도움이 됨.

4. 사이트 검색 (view_search_results)

항목 내용
언제 발생 URL에 검색어 파라미터(q, s, search, query, keyword)가 포함될 때
주요 매개변수 search_term (검색어)
실질적 가치 사용자가 내 사이트에서 뭘 찾고 있는지 직접적으로 알 수 있음. 콘텐츠 기획의 금맥임

사용자가 사이트 검색창에 "GA4 설치 방법"을 검색했다면, 그 사람은 GA4 설치에 대한 정보가 필요하다는 뜻임. 이런 데이터가 쌓이면 "사용자가 진짜 원하는 콘텐츠가 뭔지" 알 수 있음.

주의: 사이트의 검색 결과 URL이 ?q=검색어?s=검색어 형태가 아니면, 향상된 측정 설정에서 검색어 파라미터를 추가로 등록해야 함.

5. 동영상 참여 (video_start, video_progress, video_complete)

항목 내용
언제 발생 YouTube 임베드 동영상 재생 시
이벤트 3개 video_start (시작), video_progress (10/25/50/75%), video_complete (완료)
주요 매개변수 video_title, video_url, video_percent, video_duration
실질적 가치 동영상을 어디까지 봤는지 상세하게 알 수 있음

중요한 한계가 있음: YouTube 임베드만 지원함. Vimeo, 자체 호스팅 동영상, 기타 플랫폼 동영상은 안 잡힘. YouTube 임베드가 없는 사이트라면 이 기능은 의미 없음.

 

6. 파일 다운로드 (file_download)

항목 내용
언제 발생 특정 확장자 파일 링크를 클릭할 때
지원 확장자 pdf, xlsx, docx, csv, txt, rtf, exe, zip, rar, dmg, pptx 등
주요 매개변수 file_name (파일명), file_extension (확장자), link_url (URL)
실질적 가치 카탈로그, 가이드, 자료 등의 다운로드 횟수를 코딩 없이 추적 가능

 

7. 양식 상호작용 (form_start, form_submit)

항목 내용
언제 발생 HTML <form> 태그의 입력 시작/제출 시
이벤트 2개 form_start (폼 첫 입력), form_submit (폼 제출)
주요 매개변수 form_id, form_name, form_destination
실질적 가치 "폼을 시작한 사람 중 몇 %가 실제로 제출했는지" 알 수 있음. 폼 최적화의 핵심 데이터임

매개변수의 본질: 이벤트의 "누구, 어디서, 무엇을"

이벤트만으로는 "뭔가 일어났다"는 사실만 알 수 있음. 매개변수(Parameter)가 있어야 "구체적으로 뭐가 어떻게 일어났는지"를 알 수 있음.

비유로 설명하면

이벤트가 뉴스 헤드라인이라면, 매개변수는 기사 본문임.

헤드라인(이벤트): "파일 다운로드 발생!"
본문(매개변수):
  ├── file_name = "2024-catalog.pdf" (뭘 다운받았는지)
  ├── file_extension = "pdf" (어떤 종류인지)
  └── link_url = "https://example.com/files/2024-catalog.pdf" (어디서)

헤드라인만 보면 "아 누가 파일을 받았구나" 정도만 앎. 본문까지 봐야 "2024 카탈로그 PDF를 다운받았구나"를 알 수 있음. 그래서 이벤트와 매개변수는 항상 세트라고 생각해야 함.

매개변수 유형

유형 설명 예시
자동 매개변수 GA4가 모든 이벤트에 자동 포함 language, page_location, screen_resolution
이벤트 매개변수 특정 이벤트에 딸려오는 매개변수 search_term (사이트검색), video_title (동영상)
사용자 속성 사용자 수준의 정보 user_id, membership_level
맞춤 매개변수 직접 정의하는 매개변수 product_category, content_type

 

 

맞춤 매개변수를 보고서에서 보려면 별도 등록이 필요함. GA4 관리 > 사용자 정의 > "맞춤 측정기준/측정항목"으로 등록해야 함. 등록 안 하면 데이터는 수집되는데 보고서에서 볼 수가 없음. 이거 모르고 "왜 데이터가 안 보이지?" 하는 사람이 많음.


향상된 측정 설정 최적화

대부분의 사이트에 추천하는 설정

이벤트 추천 이유
페이지 조회 ON 끄면 안 됨. 기본 중의 기본임
스크롤 ON (또는 GTM 대체) 90%만 잡히는 게 아쉽지만 없는 것보단 나음
이탈 클릭 ON 외부 이탈 패턴 파악에 유용함
사이트 검색 ON 사용자 니즈를 직접적으로 알 수 있는 금맥임
동영상 참여 상황별 YouTube 임베드가 있을 때만 의미 있음
파일 다운로드 ON 리소스 다운로드 추적에 유용함
양식 상호작용 ON 폼 전환율 분석에 필수적임

향상된 측정을 끄는 게 나은 경우

  • 스크롤: 25%, 50%, 75%, 100% 같은 세밀한 스크롤 깊이를 추적하고 싶을 때. GTM 스크롤 깊이 트리거로 대체하는 게 나음
  • 이탈 클릭: 특정 외부 링크만 선별적으로 추적하고 싶을 때. GTM으로 대체
  • 양식 상호작용: 이미 GTM으로 폼 제출을 추적하고 있어서 데이터가 중복될 때

이벤트 이름 규칙 (나중을 위해 알아두면 좋음)

추천 이벤트나 맞춤 이벤트를 만들 때를 대비해서 규칙을 알아둬야 함:

  • 영문 소문자와 언더스코어(_) 사용
  • 최대 40자까지 가능
  • 공백 대신 언더스코어
  • 대소문자를 구분함 - Page_Viewpage_view는 다른 이벤트로 잡힘
  • google_ 또는 firebase_로 시작하는 이름은 사용 불가
  • 한 속성당 최대 500개의 고유 이벤트 이름 사용 가능
좋은 예: button_click, form_submit, video_play
나쁜 예: ButtonClick, form submit, FORM_SUBMIT

이거 지금은 "그렇구나" 정도로 넘어가도 됨. 근데 나중에 맞춤 이벤트를 만들 때 이 규칙을 안 지키면 데이터가 꼬이니까 머릿속에 넣어두는 게 좋음.


이번 편 핵심 정리

이번 편에서 가장 중요한 건 이것임:

"GA4가 알아서 해주는 것과 내가 해야 하는 것의 경계를 아는 것"

  1. 자동 수집 이벤트 - GA4가 무조건 수집함. 건드릴 것도 없고 끌 수도 없음
  2. 향상된 측정 - 토글 ON/OFF만 하면 됨. 코딩 필요 없음. 7가지 항목이 있는데 대부분 켜두는 게 이득임
  3. 추천/맞춤 이벤트 - 여기부터는 내가 직접 만들어야 함 (다음 시리즈에서 다룰 예정)
  4. 매개변수 - 이벤트의 "구체적인 내용"을 담는 추가 데이터임. 이벤트와 매개변수는 항상 세트임

자동 수집 + 향상된 측정만으로도 기본적인 분석 데이터는 충분히 확보됨. "GA4 설치했는데 뭘 더 해야 하지?" 싶으면 일단 이 데이터가 잘 쌓이고 있는지 확인하는 것부터 시작하면 됨.


이전 편: GA4 완벽 가이드 4편 - GA4 인터페이스 완전 정복
시리즈 처음부터: GA4 완벽 가이드 1편 - GA4란 무엇인가?


📊 GA4를 제대로 배우고 싶다면?
데이터 분석의 기본부터 실전까지, GA4 강의를 무료로 들을 수 있음.
👉 jit.camp 에서 지금 바로 시작해보셈!