DECHIVE
DECHIVE
← Archive
Data/

GA4란 무엇인가 — 개념과 구조

구글 애널리틱스 4(GA4)의 등장 배경부터 이벤트 기반 데이터 구조, UA와의 차이, 핵심 용어까지 한 편으로 완전히 이해하는 가이드

GA4 보고서를 처음 열면 숫자가 낯설게 느껴진다. UA를 쓰다가 넘어온 경우라면 더 그렇다. 분명 같은 사이트인데 방문자 수가 다르고, 이탈률은 어딘가 다르게 정의되어 있다.

이 낯선 느낌의 근원은 메뉴 구조가 아니다. GA4는 웹사이트를 바라보는 관점 자체가 UA와 다르다.

UA는 방문을 중심으로 데이터를 쌓았다. 사용자가 들어오면 세션이 열리고, 그 안의 모든 행동이 그 세션에 귀속됐다. GA4는 행동 하나하나를 이벤트로 기록한다. 페이지를 열고, 스크롤하고, 버튼을 누르고, 구매한 것. 각각이 독립적인 이벤트다.

그 관점의 차이가 숫자를 다르게 만들고, 보고서를 다르게 만든다.


UA가 풀지 못한 것들

UA는 오랫동안 웹 분석의 표준이었다. 2005년 구글이 Urchin Software를 인수하면서 탄생했고, 2012년 UA(Universal Analytics)로 크게 바뀐 뒤 10년 가까이 수천만 개 사이트의 기본 분석 도구 자리를 지켰다.

그런데 구글은 UA를 계속 고쳐 쓰지 않았다. 2020년 완전히 다른 구조의 GA4를 내놓았다. 잘 쓰던 도구를 왜 버렸을까. 이유는 세 가지였다.

웹에서 앱으로 이동하는 사람들

UA는 PC 브라우저 중심으로 설계된 도구였다. 그 시절엔 그게 맞았다. 그런데 사람들이 스마트폰과 앱으로 인터넷을 쓰기 시작하면서 문제가 생겼다.

앱에서 상품을 보고 PC로 구매하는 사람을 생각해보면 이해하기 쉽다. UA는 이 두 행동이 같은 사람의 것인지 연결하기 어려웠다. 기기가 다르면 쿠키가 다르고, 쿠키가 다르면 다른 사람이었다. 같은 사람의 흐름을 하나로 이어 보기가 쉽지 않았다.

쿠키가 흔들리기 시작했다

UA는 사용자를 식별할 때 브라우저 쿠키에 크게 의존했다. 사이트를 처음 방문한 사람에게 고유한 쿠키를 심고, 다음에 왔을 때 그걸 읽어서 같은 사람인지 확인하는 방식이었다.

2010년대 후반부터 이 방식이 흔들리기 시작했다. 유럽의 GDPR이 개인정보 수집에 동의를 요구했고, 애플은 ITP(지능형 추적 방지)로 사파리의 쿠키 수명을 대폭 줄였다. 구글 크롬도 서드파티 쿠키를 폐기하겠다고 예고했다.

쿠키에만 의존하는 도구로는 이 변화를 버텨낼 수 없었다.

집계에서 예측으로

분석의 방향도 바뀌고 있었다. "어제 무슨 일이 있었는가"를 확인하는 일에서, "내일 무슨 일이 일어날 것인가"를 예측하는 쪽으로. UA는 집계에는 강했지만, 머신러닝과 함께 쓰기에는 설계 자체가 맞지 않았다.

결국 구글은 UA를 고쳐 쓰는 대신 새로 짜는 쪽을 택했다. 2020년 10월 GA4가 공식 출시됐고, 2023년 7월 1일 UA의 데이터 수집이 완전히 멈췄다.


GA4가 세상을 보는 방식

세션이 아니라 이벤트

UA와 GA4의 가장 근본적인 차이는 데이터의 단위다.

UA의 기본 단위는 세션(Session) 이었다. 사용자가 접속하면 세션이 열리고, 그 안에서 발생하는 모든 것이 그 세션에 귀속됐다. 페이지뷰도, 클릭도, 구매도.

GA4의 기본 단위는 이벤트(Event) 다. 사이트에서 일어나는 행동 하나하나가 각각 독립적인 이벤트로 기록된다.

UA 세션 기반 vs GA4 이벤트 기반 모델 비교

행동GA4 이벤트 이름
페이지를 열었다page_view
페이지를 90% 스크롤했다scroll
외부 링크를 클릭했다click
동영상 재생을 시작했다video_start
구매를 완료했다purchase

세션이 사라진 건 아니다. session_start라는 이벤트로 시작되고, 이후 발생하는 모든 이벤트에 세션 ID가 매개변수로 붙는다. 세션이 주인공이 아니라, 이벤트들 사이를 연결해주는 속성이 된 셈이다. 이 구조 덕분에 GA4는 웹과 앱을 동일한 방식으로 처리할 수 있다. 앱의 screen_view와 웹의 page_view는 구조가 같기 때문이다.

이벤트는 어떻게 생겼는가

이벤트에 이름만 있다면 어떤 행동이 일어났다는 것만 알 수 있다. 그 행동이 어디서, 어떤 맥락에서 일어났는지를 알려주는 것이 매개변수(Parameter) 다. GA4의 모든 이벤트는 이름과 매개변수로 이루어진다.

이 사이트의 포스트를 열었을 때 발생하는 page_view 이벤트는 실제로 이런 구조를 가진다.

이벤트 이름: page_view
매개변수:
  page_location: "https://dechive.dev/archive/ga4-introduction"
  page_referrer: "https://www.google.com"
  page_title: "GA4란 무엇인가"
  engagement_time_msec: 0

이벤트가 발생하는 순간 이 데이터가 구글 서버로 전송되고, GA4가 저장하고 집계해서 보고서에 보여준다.

매개변수는 두 종류로 나뉜다.

종류설명예시
이벤트 매개변수해당 이벤트가 발생했을 때의 상황 정보페이지 URL, 상품 가격, 카테고리
사용자 속성이벤트와 무관하게 사용자 자체에 대한 정보로그인 여부, 멤버십 등급, 언어 설정

사용자 속성은 한 번 설정하면 이후 발생하는 모든 이벤트에 자동으로 따라붙는다.

사용자를 식별하는 방법

UA에서 사용자 식별은 브라우저 쿠키에 달려 있었다. 쿠키가 지워지거나 다른 기기를 쓰면 다른 사람으로 인식했다. 스마트폰과 PC를 번갈아 쓰는 한 사람이 두 명으로 잡히는 건 흔한 일이었다.

GA4는 이 문제를 다층적으로 접근한다. 더 확실한 식별 방법이 있으면 그걸 먼저 쓰고, 없으면 다음 방법으로 내려간다.

GA4 사용자 식별 우선순위 3단계

우선순위방법설명
1순위사용자 ID (User ID)로그인한 사용자에게 고유 ID 부여. 기기를 넘나들어도 동일 사용자로 인식
2순위구글 신호 데이터 (Google Signals)구글 계정 로그인 + 광고 개인화 허용 시, 구글이 계정 기반으로 식별
3순위기기 기반 식별브라우저 쿠키(클라이언트 ID) 또는 앱 인스턴스 ID

이 우선순위는 GA4 속성 → 데이터 표시 → 보고 ID에서 설정할 수 있다.

BigQuery로 열리는 원시 데이터

UA에서 BigQuery 연동은 유료 버전인 Google Analytics 360에서만 가능했다. GA4는 이걸 무료로 제공한다.

GA4 인터페이스의 보고서는 구글이 미리 집계한 데이터를 보여준다. 데이터가 많으면 샘플링이 발생하기도 한다. BigQuery에 내보낸 원시 데이터는 샘플링 없이 이벤트 하나하나가 events_YYYYMMDD 형태의 테이블에 개별 레코드로 쌓인다. 보고서에서 볼 수 없는 세밀한 분석이 가능해진다.


GA4 이벤트의 네 가지 종류

GA4 이벤트는 수집 방식에 따라 성격이 크게 다르다. 태그를 설치하기만 해도 자동으로 들어오는 것, 설정 한 번으로 수집할 수 있는 것, 구글이 권장하는 형식을 따라야 하는 것, 처음부터 직접 설계해야 하는 것. 어떤 유형인지에 따라 설정 방법과 보고서 처리 방식이 달라지기 때문에, 네 가지를 구분해야 한다.

GA4 이벤트 유형 계층도

1. 자동 수집 이벤트 (Automatically Collected Events)

GA4 태그를 설치하는 것만으로 수집된다. 따로 설정할 것이 없다.

이벤트발생 시점
first_visit사용자가 처음 사이트를 방문했을 때
session_start세션이 시작될 때
user_engagement10초 이상 머물거나, 전환 발생 시, 2페이지 이상 조회 시

2. 향상된 측정 이벤트 (Enhanced Measurement Events)

데이터 스트림 설정에서 향상된 측정을 활성화하면, 코드 없이도 GA4가 자동으로 감지해서 수집한다.

이벤트발생 시점
page_view페이지가 로드될 때 (기본 활성화)
scroll페이지를 90% 이상 스크롤했을 때
click외부 링크를 클릭했을 때
view_search_results사이트 내 검색 결과 페이지를 봤을 때
video_startYouTube 영상 재생을 시작했을 때
video_progressYouTube 영상을 10%, 25%, 50%, 75% 재생했을 때
video_completeYouTube 영상 재생이 완료됐을 때
file_download파일을 다운로드했을 때

3. 추천 이벤트 (Recommended Events)

구글이 업종별로 권장하는 이벤트다. GA4가 자동으로 수집하진 않지만, 정해진 이름과 매개변수 형식을 따르면 표준 보고서에서 자동으로 집계된다. 전자상거래를 예로 들면 이렇다.

이벤트의미필수 매개변수
view_item상품 상세 페이지 조회items
add_to_cart장바구니에 추가items, value, currency
begin_checkout결제 시작items, value, currency
purchase구매 완료transaction_id, value, currency, items

이름과 매개변수를 정확히 맞춰야 GA4 보고서에서 제대로 처리된다.

4. 맞춤 이벤트 (Custom Events)

앞의 세 유형에 해당하지 않는, 직접 설계하는 이벤트다. 사이트에 맞게 수집하고 싶은 행동을 직접 정의하고, 코드나 GTM으로 구현한다.

맞춤 이벤트는 GA4 표준 보고서에 자동으로 나타나지 않는다. 보고서에서 분석하려면 맞춤 정의(Custom Definition)를 설정해서 매개변수를 차원이나 측정 항목으로 등록해야 한다.


데이터가 보고서가 되기까지

GA4를 쓰다 보면 이런 상황이 온다. 분명 클릭했는데 GA4에 데이터가 없거나, 어제 숫자랑 오늘 숫자가 이상하게 다르거나. 이 흐름을 알면 어느 단계에서 무슨 일이 일어나는지 파악할 수 있다.

사용자가 사이트에서 행동하면, 설치된 GA4 태그가 그 행동을 감지하고 이벤트 데이터를 만든다. 사용자의 브라우저 안에서 자바스크립트가 실행되는 과정이다. 향상된 측정이 켜져 있으면 스크롤, 클릭, 페이지 이동을 자동으로 감지하고, 맞춤 이벤트는 개발자가 작성한 코드나 GTM이 처리한다.

만들어진 이벤트 데이터는 HTTP POST 요청으로 구글 수집 서버에 전송된다. 브라우저 개발자 도구 네트워크 탭에서 google-analytics.com/g/collect 요청으로 확인할 수 있다. 이 전송이 실패하면 데이터는 그냥 사라진다. 사용자가 너무 빨리 이탈하거나, 광고 차단기가 GA4 요청을 막으면 수집이 안 된다. GA4는 실제 행동의 100%를 잡지 못하기 때문에, 정확한 수치보다는 경향을 파악하는 도구로 보는 것이 맞다.

서버에 도달한 데이터는 처리 과정을 거친다. 세션을 계산하고, 봇 트래픽을 걸러내고, 위치와 기기 정보를 분류한다. 설정해둔 필터나 이벤트 수정도 여기서 적용된다. 처리에는 시간이 걸린다. 대부분의 데이터는 이벤트 발생 후 24~48시간 안에 보고서에 반영된다. 실시간 보고서는 몇 분 내로 볼 수 있지만, 오늘 데이터를 표준 보고서에서 정확하게 보려면 내일 들어오는 게 안전하다.

처리된 데이터는 GA4 인터페이스에 표시된다. GA4 보고서는 원시 데이터가 아니라 미리 집계된 데이터를 보여주기 때문에, 데이터가 많으면 샘플링이 발생하기도 한다.


GA4에서 자주 보이는 말들

GA4 보고서를 처음 열면 낯선 단어들이 눈에 띈다. UA를 써왔다면 더 혼란스러울 수 있다. 같은 단어인데 계산 방식이 바뀐 경우가 여럿 있기 때문이다.

사용자(User)

GA4 보고서에서 "사용자" 수치를 처음 보면 UA보다 낮아 보이는 경우가 많다. GA4는 사용자를 두 가지로 나눠 집계하기 때문이다.

구분설명
총 사용자 (Total Users)선택한 기간 동안 최소 한 번이라도 방문한 사용자 수
활성 사용자 (Active Users)참여 세션을 시작하거나, 전환 이벤트를 발생시키거나, 앱을 처음 실행한 사용자 수

GA4 보고서에서 기본으로 표시되는 "사용자" 수치는 활성 사용자 수다. UA의 사용자 수치와 직접 비교하면 숫자가 달라 보이는 이유가 여기 있다.

세션(Session)

사용자가 사이트에 접속해서 상호작용하는 단위다. session_start 이벤트로 시작되고, 30분간 아무 상호작용이 없으면 종료된다. UA와 달리 자정이 지나도 세션이 강제로 나뉘지 않는다.

GA4는 참여 세션(Engaged Session) 이라는 개념도 새로 도입했다. 아래 조건 중 하나 이상을 만족한 세션이다.

  • 10초 이상 사이트에 머문 세션
  • 전환 이벤트가 발생한 세션
  • 페이지나 화면을 2개 이상 조회한 세션

전환(Conversion)

구매, 회원가입, 문의 제출처럼 비즈니스 목표와 직결되는 이벤트는 따로 관리할 필요가 있다. 원하는 이벤트를 전환으로 지정하면 GA4 보고서에서 별도로 집계되고, 구글 광고와 연동할 때 최적화 기준으로 쓸 수 있다. UA의 "목표(Goal)"에 해당하는 개념이다.

측정 기준과 측정 항목

GA4 보고서는 항상 두 가지 질문의 조합으로 만들어진다. 데이터를 어떻게 나눌 것인가(측정 기준), 그리고 그 나눈 데이터에서 무엇을 볼 것인가(측정 항목).

개념설명형태예시
측정 기준 (Dimension)데이터를 분류하는 기준문자열(텍스트)국가, 기기 유형, 채널, 페이지 URL
측정 항목 (Metric)측정 가능한 수치숫자사용자 수, 세션 수, 전환율

"국가별 활성 사용자 수"라고 하면 측정 기준은 국가, 측정 항목은 활성 사용자 수다. 이 두 개념을 잡으면 보고서에서 원하는 데이터를 찾는 게 훨씬 쉬워진다.

참여율과 이탈률

UA를 쓰던 시절, 이탈률은 개선해야 할 지표의 대명사였다. GA4에서는 이 접근이 달라진다.

지표정의좋을수록
참여율 (Engagement Rate)전체 세션 중 참여 세션의 비율높을수록 좋음
이탈률 (Bounce Rate)전체 세션 중 비참여 세션의 비율 (= 100% - 참여율)낮을수록 좋음

UA의 이탈률과 GA4의 이탈률은 계산 방식이 다르다. 두 도구의 수치를 직접 비교하면 안 된다.


GA4를 이해한다는 것

GA4를 배운다는 것은 보고서 메뉴를 외우는 일이 아니다.

사이트에서 일어나는 행동을 어떤 이벤트로 남길 것인지 이해하는 일에 가깝다. GA4는 그 행동들을 숫자로 바꾸어 보여준다.

그래서 GA4를 처음 배울 때 가장 먼저 붙잡아야 할 것은 메뉴가 아니라 관점이다.

방문이 아니라 행동. 세션이 아니라 이벤트.

이 관점이 잡히면, GA4의 낯선 숫자들은 조금씩 읽을 수 있는 언어가 된다.