1. 웹 분석 도메인에 대한 이해: 기본 지표

사용자 시나리오

웹 분석은 방문자의 행동을 기록하고, 그 기록을 숫자로 바꾸는 일이다. 어떤 사용자가 쇼핑몰에 들어와 다음과 같이 행동한다면:

10:00 홈페이지 접속
10:01 상품 목록 접속
10:02 상품 상세 페이지 접속
10:03 상품 상세 페이지 새로고침
10:04 구매 버튼 클릭
10:05 결제 완료

위 행동을 분석하면 다음의 지표들이 기록될 수 있다.

지표결과
페이지뷰4회
방문1회
방문자1명으로 추정
클릭 이벤트1회
결제 이벤트1회
전환1회

모든 지표의 기본이 되는 단위: Hit (히트)

히트는 서버에 기록된 한 건의 데이터이다. 사용자의 행동은 서버에 데이터로 기록된다.

예를 들어 사용자가 홈페이지에 접속하면 다음과 같은 데이터가 전송될 수 있다:

페이지: /
제목: 홈페이지
발생 시간: 10:00
유입 경로: Google
브라우저: Chrome
국가: 대한민국

이러한 데이터 한 건을 넓은 의미에서 Hit(히트)라고 부른다. 쉽게 표현하자면 히트는 사용자의 행동 데이터라고 할 수 있겠다.

그래서 히트는 특정 행동 하나만을 뜻하지 않고, 분석 서버에 기록되는 모든 데이터를 넓게 부르는 것이다:

하지만, Hit가 모든 웹 요청을 의미하지는 않는다. 웹 페이지를 열면 실제로는 아래와 같이 많은 요청이 발생한다:

위 요청들 하나 하나를 모두 Hit로 보는 것은 아니다. 웹 분석에서의 Hit는 **"분석 목적으로 분석 서버에 전송된 데이터(기록)"**을 의미한다. 즉, 어떤 데이터를 보내도록 설계했는지에 따라 히트의 범위가 달라진다.

Hit 개념이 중요한 이유

앞서 말했듯 Hit는 가장 기본적인 단위이다. 그렇기 때문에 Hit를 정확히 정의하지 않으면 아래 지표들도 잘못 계산될 수 있다:

Pageview, Visit, Visitor

Pageview

Pageview 는 사용자가 페이지를 본 횟수를 의미한다.

아래의 시나리오에서:

홈페이지 열기       → 페이지뷰 1
상품 목록 열기       → 페이지뷰 1
상품 상세 열기       → 페이지뷰 1
상품 상세 새로고침   → 페이지뷰 1

페이지뷰는 총 4회다. 이때, 페이지뷰가 4회라고 해서 사람 수도 4명을 의미하지는 않는다. 왜냐하면 같은 사람이 여러 번 페이지를 방문할 수 있기 때문이다.

그렇다면 Pageview는 언제 유용하게 사용될까?

반대로 Pageview 만으로는 아래 상황을 설명하기 어렵다:

위 질문들은 Visitor, Visit, Event 개념을 이해해야 한다.

Visit

Visit 또는 Session은 사용자가 일정 시간 동안 웹사이트에서 한 활동들의 묶음이다.

예를 들어 다음의 시나리오에서:

10:00 홈페이지 방문
10:01 상품 목록 방문
10:02 상품 상세 방문
10:03 장바구니 방문
10:05 웹사이트 종료

이 전체 활동을 보통 하나의 방문 또는 하나의 세션으로 본다. → 페이지뷰 4회, 방문 1회

이때, 방문은 특정 시간을 기준으로 나눈다. 예를 들어 한 명의 사용자가:

10:00 홈페이지 접속
10:05 종료

15:00 다시 접속
15:10 종료

이 경우에 방문은 2회로 계산할 수 있다. 오전과 오후에 나누어서 방문을 했기 때문이다.

하지만 여기서 중요한 점은, 방문 수는 절대적인 기준으로 계산하는 것이 아니라 서비스마다 설정한 기준에 따라 달라진 다는 것이다.

위와 같이 기준은 정하기 나름이다. 그래서 방문은 절대적인 기준이 존재하지 않고 규칙에 따라 만들어지는 단위라고 볼 수 있겠다.

또한, 방문 수는 방문자 수보다 많을 수 있다. 한 사람이 여러 번 방문할 수 있기 때문이다. 예를 들어:

월요일 방문
화요일 방문
수요일 방문

이때 방문 수는 3회이고 방문자 수는 1명이다. 따라서 Pageview, Visit, Visitor는 일반적으로 다음의 관계가 성립한다.

방문자 수 ≤ 방문 수 ≤ 페이지뷰 수 (단, 절대적인 관계는 아니다.)

그렇다면 방문은 언제 유용하게 사용할 수 있을까?

예를 들어, 페이지뷰가 10,000회이고 방문이 1,000회라면 방문 한 번당 페이지를 평균 10번 본 것이다. 반면, 페이지뷰가 10,000이고 방문이 9,000 라면 대부분의 방문이 페이지를 한 번만 보고 떠났을 가능성이 있다.

*참고로 visit과 session은 명칭만 다를 뿐 똑같은 역할을 한다. 하지만, session은 비개발자가 이해하기 어려운 단어이기 때문에 visit으로 표현한다.

Visitor

Visitor 또는 People은 웹 사이트를 방문한 사람의 수를 추정한 값을 의미한다.

추정값인 이유는 웹사이트가 방문자의 신원을 자동으로 알 수 없기 때문이다. 방문자를 판단할 때는 주로 쿠키, 분석용 식별자, 로그인 정보, 브라우저와 기기 정보 등을 바탕으로 판단한다.

쿠키를 사용하면 정확한 사람 수로 계산할 수 있을까? 그렇지 않다.

왜냐하면 쿠키는 같은 브라우저의 재방문을 구분을 쉽게 해주지만, 한 사람이 휴대폰과 노트북을 사용하면 여러 방문자로 계산될 수 있고, 여러 사람이 같은 컴퓨터를 사용하면 한 방문자로 계산될 수 있기 때문이다. 또한, 쿠키를 삭제하거나 시크릿 모드를 사용하면 기존 사람도 새로운 방문자로 기록될 수 있다.

그러면 로그인 정보는 정확한 사람 수를 계산할 수 있을까? 그렇다. 이는 회원 아이디로 구분할 수 있기 때문이다.

하지만, 분석 서비스에서 Visitor는 로그인 사용자만 계산하는 지표가 아니기 때문에 로그인 정보로만 계산할 수가 없다. 따라서 Visitor나 People은 실제 사람 수라고 단정하기보다, 분석 기준에 따라 중복을 제거해 계산한 익명 방문자 수로 이해하는 것이 정확하다.

그렇다면 방문자는 언제 유용할까?

Event, Bounce rate, Duration

이들은 모두 방문자가 사이트에서 어떤 행동을 했는지를 이해하기 위한 지표이다. 보통 개별 사람이 아닌 하나의 방문(visit/session)을 기준으로 계산한다.

Event

Event는 페이지 안에서 발생한 행동을 의미한다. 아래의 행동들은 모두 Event로 볼 수 있다:

예를 들어 사용자가 구매 버튼을 클릭하면 아래의 데이터를 이벤트로 기록할 수 있다:

이벤트 이름: purchase_button_clicked
페이지: /products/123
시간: 10:04

참고로, 페이지뷰와 이벤트는 서로 다르다. 예를 들어 사용자가 상품 페이지를 열고 구매 버튼을 클릭했다고 해보자. 상품 페이지를 열었다고 해서 곧바로 구매로 이어졌다고 볼 수는 없다. 구매 이벤트는 사용자가 구매 버튼을 클릭한 뒤 실제 결제를 완료했을 때 비로소 발생한다. 따라서 페이지뷰와 구매 이벤트는 서로 다른 데이터로 구분해 기록해야 한다.

Bounce rate

Bounce rate는 방문자가 추가 행동 없이 이탈한 방문의 비율이다. 예를 들어 방문자가 한 페이지만 보고 떠났거나, 분석 시스템이 의미있는 상호작용을 확인하지 못한 경우 이탈로 판단할 수 있다.

이는 방문자가 첫 화면에서 원하는 정보를 얻었는지, 페이지가 기대와 맞았는지, 다음 행동으로 자연스럽게 이어졌는지를 살펴보는 데 활용한다. 다만, 이탈을 반드시 나쁜 방문으로 볼 수는 없다. 첫 화면에서 만족할 만한 정보를 얻고 떠났을 수도 있기 때문이다.

*첫 pageview부터 마지막 이벤트까지 15초 미만이고 pageview가 1회일 때만 최종적으로 bounce

Duration

방문자가 사이트에 머문 시간을 나타내는 지표이다. 콘텐츠를 얼마나 읽었는지, 방문자가 페이지를 충분히 살폈는지, 특정 캠페인이나 콘텐츠가 관심을 끌었는지를 파악하는 데 활용한다. 일반적으로 방문 시작 시점과 마지막으로 확인된 활동 시점의 차이로 계산하지만, 사용자가 페이지를 열어 둔 채 자리를 비우거나 브라우저 탭을 방치한 경우에도 시간이 길게 기록될 수 있다.

Bounce rate와 duration의 조합으로 서로 다른 해석을 할 수 있다.

따라서, Bounce rate는 방문이 다음 행동으로 이어졌는지를 의미하고 Duration은 방문자가 얼마나 페이지에 오래 머물렀는지를 보여준다고 볼 수 있겠다.

2026-08-12 확정: 세션 종료와 Duration 정책

쉽게 말해 Duration은 탭을 열어 둔 시간이 아니라 화면이 visible이었던 시간이다. 다른 탭을 보고 있던 hidden 시간은 빼고, pageview만 방문의 30분 종료 기준을 다시 시작한다. heartbeat는 화면 상태를 확인할 뿐이고 pagehide는 떠났다는 보완 신호이므로 둘 다 방문을 연장하지 않는다.