세션, 사용자, 이벤트 차이와 참여율 읽기
홍승협(준이아빠) / 데이터 분석, AI 실무 교육
사용자는 서비스를 쓴 사람의 수이고, 세션은 그 사람이 한 번 들어와서 나갈 때까지의 묶음이며, 이벤트는 그 안에서 일어난 행동 하나하나입니다. 사용자 한 명이 세션 여러 개를 만들고 세션 한 개가 이벤트 여러 건을 담는 포함 관계라서 세 숫자는 서로 다르게 나옵니다.
🤔 한 줄에 뜬 세 가지 숫자가 서로 다를 때
주간 보고에 넣을 숫자를 뽑으려고 분석 화면을 열면 사용자 1,000명, 세션 1,450회, 이벤트 8,700건이 한 줄에 나란히 떠 있습니다. 방문자가 몇 명이었느냐는 질문에 어느 값을 답해야 할지부터 정해지지 않아서, 보고서마다 다른 숫자가 들어가는 일이 생깁니다.
세 숫자가 어긋난 것이 아니라 서로 다른 것을 세고 있어서 생기는 문제입니다. 셋이 각각 무엇을 세는지 정해 두면 어느 값을 보고할지도 함께 정해집니다.
🔑 사용자, 세션, 이벤트의 정의
사용자는 서비스를 쓴 사람의 수이고, 세션은 그 사람이 한 번 들어와서 나갈 때까지의 묶음이며, 이벤트는 그 안에서 일어난 행동 하나하나입니다.
셋은 나란히 놓인 지표가 아니라 서로를 감싸는 포함 관계입니다. 사용자 한 명이 세션 여러 개를 만들고, 세션 한 개가 이벤트 여러 건을 담습니다. 그래서 수집이 정상이라면 사용자 수보다 세션 수가 크고, 세션 수보다 이벤트 수가 큽니다. 세 가지 값이 비슷하게 나온다면 재방문이 거의 없거나 수집이 첫 화면에서 끊기고 있다는 판단 근거가 됩니다.
분석 도구가 무엇이고 계정과 속성이 어떻게 나뉘는지는 GA4 데이터 구조에 따로 두었습니다. 이 글에서는 세 가지 단위가 각각 무엇을 세는지, 그리고 참여율과 이탈률을 어떻게 읽는지만 다룹니다.
🎟️ 사용자와 세션과 이벤트, 미술관 입장권 한 장
미술관에 표를 끊고 들어가 한 바퀴 돌고 나오듯, 사이트에 들어와서 나갈 때까지가 세션 한 개입니다. 전시실에서 작품 앞에 멈춰 서고 설명을 읽고 사진을 찍는 행동 하나하나가 이벤트이고, 표를 끊은 관람객 한 사람이 사용자입니다.
오전에 한 바퀴 돌고 나가 점심을 먹은 뒤 다시 들어오면 표는 두 장이 되어도 사람은 여전히 한 명이듯, 같은 방문자가 아침과 저녁에 사이트를 들르면 사용자 1명에 세션 2개가 기록됩니다. 사용자 수와 세션 수가 다른 것은 오류가 아니라 이 구조 때문에 생기는 정상적인 차이입니다.
🔢 하루치 숫자로 확인하는 포함 관계
가상의 쇼핑몰에서 2026년 9월의 어느 하루 숫자가 아래처럼 나왔다고 해 보겠습니다.
| 지표 | 하루치 | 세는 것 |
|---|---|---|
| 사용자 | 1,000명 | 그날 사이트를 쓴 사람 수 |
| 세션 | 1,450회 | 그 사람들이 들어왔다 나간 횟수 |
| 이벤트 | 8,700건 | 방문 안에서 기록된 행동 건수 |
나눗셈 두 번이면 관계가 드러납니다.
- 사용자당 세션 수: 1,450 ÷ 1,000 = 1.45회. 한 사람이 하루에 평균 1.45번 들렀다는 뜻입니다
- 세션당 이벤트 수: 8,700 ÷ 1,450 = 6건. 한 번 들어와서 평균 6건의 행동을 남겼다는 뜻입니다
사용자당 세션 수는 얼마나 자주 다시 오는지를 재고, 세션당 이벤트 수는 한 번 들어와서 얼마나 움직이는지를 잽니다. 지난달 1.45회였던 사용자당 세션 수가 이번 달 1.10회로 내려갔다면 사람 수는 그대로여도 재방문이 줄었다는 뜻이고, 세션당 이벤트 수가 6건에서 3건으로 내려갔다면 들어온 사람이 첫 화면만 보고 나가는 쪽으로 바뀌었다고 볼 수 있습니다.
두 값은 사람 수가 늘지 않아도 달라지므로, 사용자 수만 볼 때 놓치는 변화를 확인하는 데 씁니다.
⏱️ 세션이 끊기는 조건
세션이 시작되는 순간은 분명한데 끝나는 순간은 그렇지 않습니다. 브라우저 창을 닫지 않고 그냥 두는 사람이 많아서, 수집 도구는 아무 행동도 없는 시간이 일정 길이를 넘기면 세션이 끝난 것으로 처리합니다.
기본값으로 30분을 드는 설명이 많지만 이 값은 설정에서 바꿀 수 있고 시점에 따라 달라지므로, 숫자를 해석하기 전에 관리 화면에서 현재 값을 확인하는 편이 안전합니다. 시간 말고도 세션이 새로 시작될 수 있는 조건이 있습니다.
- 자정을 넘길 때: 하루 단위로 집계를 끊는 기준이 있어서 밤 11시 50분에 들어와 새벽 12시 10분까지 머문 방문이 두 세션으로 나뉠 수 있습니다
- 유입 출처가 바뀔 때: 사이트를 보던 중에 다른 광고 링크를 눌러 같은 사이트로 다시 들어오면 새 세션이 시작될 수 있습니다
두 번째 조건 때문에 우리 사이트 안의 링크에 광고용 파라미터를 붙이면 원래 출처가 덮이고 세션이 둘로 나뉩니다. 출처가 비어 들어오는 증상과 대응은 session_source_medium not set 원인 정리에 적어 두었습니다.
👥 사용자 수가 실제 사람 수와 어긋나는 이유
사용자 수는 사람을 직접 세지 않고 브라우저나 앱에 저장된 식별자를 셉니다. 표를 잃어버려 새로 끊으면 매표소 기록에 표 두 장이 남듯, 저장된 식별자가 지워진 뒤 다시 들어온 방문은 새 사람으로 기록됩니다.
| 상황 | 집계 결과 | 실제 |
|---|---|---|
| 스마트폰으로 보고 데스크톱으로 다시 봄 | 사용자 2명 | 한 사람 |
| 브라우저 기록과 쿠키를 지운 뒤 재방문 | 사용자 2명 | 한 사람 |
| 시크릿 창으로 들어옴 | 사용자 2명 | 한 사람 |
| 로그인한 방문을 계정 기준으로 묶음 | 사용자 1명 | 한 사람 |
로그인 기반으로 묶으면 기기가 달라도 한 사람으로 이어 볼 수 있지만, 로그인하지 않은 방문은 여전히 따로 세어집니다. 그래서 화면에 찍힌 사용자 수는 실제 사람 수보다 크게 나온다고 보는 쪽이 안전합니다. 얼마나 큰지는 서비스마다 다르므로 절대값을 그대로 쓰기보다 같은 기준으로 잰 증감을 봅니다.
🤝 참여율과 이탈률을 읽는 방법
전시실을 한 바퀴 돌고 나온 관람과 입구에서 안내도만 보고 돌아 나간 관람이 다르듯, 참여율은 세션을 두 종류로 나눕니다. 참여율은 전체 세션 가운데 참여로 인정된 세션의 비율이고, 이탈률은 그렇지 않은 세션의 비율입니다. 둘은 서로 반대여서 합이 100%가 됩니다. 앞의 하루치에서 세션 1,450회 가운데 812회가 참여로 잡혔다면 참여율 56.0%, 이탈률 44.0%입니다.
문제는 무엇을 참여로 볼지가 고정된 사실이 아니라는 점입니다. 대체로 아래 조건 가운데 하나만 맞아도 참여한 세션으로 봅니다.
- 일정 시간 이상 머물렀을 때
- 전환으로 표시해 둔 이벤트가 일어났을 때
- 화면을 두 번 이상 봤을 때
이 가운데 머문 시간 기준은 설정에서 바꿀 수 있고 시점에 따라 다르므로 관리 화면에서 현재 값을 확인해야 합니다. 기준을 어떻게 잡느냐에 따라 같은 방문이 참여가 되기도 하고 이탈이 되기도 합니다.
| 방문 사례 | 머문 시간 | 본 화면 수 | 전환 | 시간 기준을 짧게 잡을 때 | 시간 기준을 길게 잡을 때 |
|---|---|---|---|---|---|
| 공지 한 줄을 읽고 나감 | 12초 | 1개 | 없음 | 참여 | 이탈 |
| 가격표를 훑어보고 나감 | 25초 | 1개 | 없음 | 참여 | 이탈 |
| 첫 화면을 열자마자 닫음 | 4초 | 1개 | 없음 | 이탈 | 이탈 |
| 목록과 상세를 오감 | 8초 | 3개 | 없음 | 참여 | 참여 |
| 들어오자마자 신청서를 냄 | 7초 | 1개 | 있음 | 참여 | 참여 |
시간 기준만 바꿨는데 다섯 사례의 참여 세션이 네 건에서 두 건으로 줄어듭니다. 화면을 여러 개 보거나 전환이 일어난 방문은 시간 기준과 상관없이 참여로 남으므로, 참여율이 움직였을 때 먼저 확인할 것은 콘텐츠가 아니라 기준을 바꾼 적이 있는지입니다.
이탈률이라는 이름은 앞 세대의 분석 도구에도 있었지만 계산이 다릅니다. 예전 세대의 이탈률은 한 페이지만 보고 나간 세션의 비율이었고, 지금의 이탈률은 참여로 인정되지 않은 세션의 비율입니다. 기준이 서로 달라서 두 시기의 이탈률을 나란히 놓고 좋아졌다거나 나빠졌다고 말하기는 어렵습니다.
🎯 어느 지표를 KPI로 쓸지 정하는 기준
세 지표는 재는 대상이 달라서 목적에 따라 고릅니다.
| 지표 | 재는 것 | KPI로 맞는 때 |
|---|---|---|
| 사용자 수 | 규모 | 얼마나 많은 사람에게 닿았는지 확인할 때 |
| 세션 수 | 방문 빈도 | 같은 사람이 다시 오는지 확인할 때 |
| 이벤트 수 | 활동량 | 들어온 사람이 안에서 얼마나 움직이는지 확인할 때 |
신규 유입을 늘리는 활동이면 사용자 수가 맞고, 재방문을 늘리는 활동이면 세션 수와 사용자당 세션 수가 맞습니다. CVR처럼 비율로 된 지표를 함께 볼 때는 분모가 사용자인지 세션인지 먼저 맞춰 둡니다. 같은 전환 100건이어도 사용자 1,000명으로 나누면 10%이고 세션 1,450회로 나누면 6.9%여서, 맞춰 두지 않으면 회의에서 서로 다른 숫자를 말하게 됩니다.
⚠️ 자주 하는 실수
- 세션 수를 사람 수로 읽는 경우: 세션 1,450회를 방문자 1,450명으로 적으면 실제 사람 수를 45% 부풀린 보고가 나갑니다. 사람 수를 묻는 질문에는 사용자 수로 답합니다
- 참여율 정의를 바꾸고 전후를 비교하는 경우: 시간 기준을 고친 날을 적어 두지 않으면 콘텐츠를 개선해서 올라간 것인지 기준이 느슨해져서 올라간 것인지 나눌 방법이 없습니다
- 이탈률이 낮아야 좋다고만 보는 경우: 영업시간이나 전화번호처럼 한 화면에서 답을 얻고 나가는 페이지는 이탈률이 높은 편이 오히려 정상입니다. 이탈률을 볼 때는 그 페이지가 무엇을 하려는 페이지인지 함께 확인합니다
❓ 자주 묻는 질문
사용자 수와 세션 수 가운데 무엇을 보고해야 하나요?
얼마나 많은 사람에게 닿았는지를 말할 때는 사용자 수를 쓰고, 얼마나 자주 오는지를 말할 때는 세션 수를 씁니다. 하나만 적으면 받는 사람이 다르게 해석할 수 있으므로 두 값을 함께 적고 사용자당 세션 수를 한 줄 덧붙이면 오해가 줄어듭니다.
참여율이 낮으면 콘텐츠에 문제가 있는 건가요?
그렇게만 보기는 어렵습니다. 참여 인정 조건이 어떻게 설정되어 있는지, 방문이 어디에서 들어왔는지에 따라 같은 페이지도 참여율이 달라집니다. 광고로 들어온 방문에는 목적이 뚜렷하지 않은 경우가 섞여 있어서 참여율이 낮게 나오는 편이므로, 페이지를 고치기 전에 유입 출처별로 나눠 보는 순서가 맞습니다.
이벤트 수가 갑자기 늘었는데 좋은 신호인가요?
수집 설정을 바꾼 적이 있는지 먼저 확인합니다. 새 이벤트를 추가로 수집하거나 같은 행동이 두 번 기록되도록 설정이 겹치면 사람의 행동은 그대로인데 건수만 늘어납니다. 사용자 수와 세션 수가 함께 늘었는지 보면 실제 증가와 수집 변경을 구분할 수 있습니다.
세션 시간 제한을 늘리면 이탈률이 낮아지나요?
세션 시간 제한은 한 사람의 방문을 몇 개로 나눌지 정하는 값이라서, 늘리면 세션 수가 줄고 세션당 이벤트 수가 올라갑니다. 참여를 인정하는 조건과는 별개여서 이탈률은 그대로일 수도 있고 달라질 수도 있습니다. 어느 쪽이든 기준을 고친 날의 앞뒤를 한 줄에 놓고 비교하지 않습니다.
📋 3줄 요약
-
사용자는 서비스를 쓴 사람의 수이고 세션은 한 번 들어와서 나갈 때까지의 묶음이며 이벤트는 그 안에서 일어난 행동 하나하나입니다.
-
사용자당 세션 수는 얼마나 자주 다시 오는지를 재고 세션당 이벤트 수는 한 번 들어와 얼마나 움직였는지를 잽니다.
-
참여율과 이탈률은 합이 100%여서 서로 반대이고 참여로 인정하는 조건을 바꾸면 같은 방문이 참여가 되기도 이탈이 되기도 합니다.
이 글이 도움이 되셨다면 공유해 주세요
메신저로 바로 보내거나 링크를 복사할 수 있습니다.
똑같은 방문 한 건이 어떤 때는 참여 세션으로, 어떤 때는 이탈로 집계되는 이유는 무엇일까요?
이어서 배우면 좋은 개념
GA4 (Google Analytics 4) 뜻과 데이터 구조
GA4(Google Analytics 4)는 웹사이트와 앱에서 일어나는 사용자 행동을 이벤트 단위로 모아 보여 주는 구글의 무료 분석 도구입니다. 페이지를 연 것부터 결제를 마친 것까지 모든 행동이 같은 모양의 기록 한 건으로 남고, 그 기록을 묶어 세션과 사용자 수가 만들어집니다.
KPI (핵심성과지표) 뜻과 설정 방법
KPI(Key Performance Indicator)는 목표에 얼마나 가까워졌는지를 하나의 숫자로 재는 핵심성과지표입니다. 팀이 보는 수많은 숫자 가운데 판단을 바꾸는 것만 골라 목표값과 기간을 붙인 것입니다.
CVR (전환율) 뜻과 계산 방법
CVR(Conversion Rate, 전환율)은 방문하거나 클릭한 사람 가운데 목표한 행동을 끝낸 사람의 비율입니다. 분모를 클릭 수로 잡을 때와 세션 수로 잡을 때 같은 캠페인에서도 값이 다르게 나옵니다.
SQL 기초 문법과 마케터가 쓰는 쿼리 예시
SQL은 표 형태로 쌓인 데이터에 어떤 줄을 어떻게 묶어서 보여 달라고 요청하는 말입니다. 프로그래밍 언어라기보다 빈칸을 채워 건네는 요청 문장에 가까워서, 문장 틀 여섯 조각만 익히면 마케터가 자주 묻는 것은 대부분 직접 뽑을 수 있습니다.
관련 인사이트
- 마케터를 위한 통계 기초: 평균, 중앙값, 표준편차를 광고 데이터로광고 소재 두 개의 14일치 전환율로 통계 개념을 차례로 확인합니다. 평균이 같은 두 소재가 중앙값과 표준편차에서 달라지는 과정을 계산으로 보여 주고, 흩어짐이 클 때 무엇을 해야 하는지와 차이를 언제 믿어도 되는지까지 정리했습니다.
- 랜딩페이지 전환율 높이는 법: 어디서 새는지 찾는 4구간 진단랜딩페이지 전환율이 낮을 때 전체를 한꺼번에 고치면 무엇이 통했는지 알 수 없습니다. 방문에서 완료까지를 네 구간으로 끊어 어디서 새는지 찾고, 구간마다 원인과 고칠 것을 정리했습니다. 개선 순서를 정하는 계산과 실험 설계 기준도 담았습니다.
- 마케팅 전략 프레임워크 총정리: SWOT, STP, 4P를 사례 하나로 잇기마케팅 전략 프레임워크는 각각 따로 쓰는 도구가 아니라 앞의 결과가 뒤의 입력이 되는 사슬입니다. 가상의 소상공인 예약 서비스 하나를 SWOT에서 STP, 4P, 포지셔닝 문장까지 연속으로 통과시키며 각 단계에서 무엇이 정해지고 무엇이 다음으로 넘어가는지 정리했습니다.
- 마케팅 KPI 설정 총정리: 채널별 예시 30개와 목표값 정하는 법마케팅 KPI는 목표에 얼마나 가까워졌는지를 하나의 숫자로 재는 지표입니다. 퍼널 단계와 채널별로 무엇을 KPI로 잡는지 예시 30개로 정리하고, 목표값을 정하는 세 가지 방법과 허영 지표를 거르는 기준, 숫자가 어긋났을 때 점검하는 순서를 담았습니다.
- 비개발자를 위한 네이버 데이터랩 API 가이드: 검색어 트렌드와 쇼핑인사이트네이버 데이터랩 API는 네이버에서 어떤 검색어가 언제 얼마나 검색됐는지를 비율로 돌려주는 오픈 API입니다. 광고 계정이 없어도 쓸 수 있고 발급도 5분이면 끝나는데, 실제 검색 횟수 대신 상대 비율만 준다는 점을 모르면 숫자를 잘못 읽게 됩니다. 통합 검색어 트렌드와 쇼핑인사이트 두 API의 요청 방법, 비율을 실제 검색량으로 바꾸는 방법, 자주 걸리는 오류를 정리했습니다.
- ChatGPT Data agent 정리: 회사 데이터를 붙이기 전에 정할 것ChatGPT Data agent는 회사가 쓰는 데이터 웨어하우스에 직접 연결해 질문에 답하고 대시보드까지 만드는 ChatGPT Work의 기능입니다. 같은 날 공개된 금융 서비스와 음성 모델 발표까지 함께 놓고, 연결보다 먼저 정해야 하는 것을 정리했습니다.
