[Bigquery] GA4 Report & Bigquery 데이터 용어 사전(설명)

Bigquery에서 데이터를 추출하려면 데이터가 어떤 식으로 측정되는지 알아야 하는데,

Google Help에서 용어나 데이터를 집계하는 방법에 대해 명확히 나오지 않는 부분이 많다.

그래서 내가 직접 찾아보고 검증을 거듭해 용어 사전을 만들었다.

 

  • PV (PageView 조회수, 페이지 뷰)
    - 사이트 중 '한 페이지'가 사용자의 요청으로 사용자 화면에 표시되는 '요청 수'를 센 단위
    - GA의 조회수 공식은 이벤트 
    page_view(웹) + screen_view(앱) 와 같음
    - 페이지 로딩없이 API만 호출하는 경우 또는 클릭 발생 자체(PV)를 보는 경우도 있으나,
      GA의 경우, page_view 또는 screen_view를 집계하기 때문에 
    페이지의 로딩을 기준으로 함

  • UV(UniqueVistor, 고유방문자 수)UU(UniqueUser, 고유사용자 수)
    - 한 명의 방문자가 여러 번 페이지를 요청해도 중복되는 값을 제거하고 1번의 방문 기록을 잡아낸 사용자 수
    - 지정 기간 동안에 접속한 사용자의 중복 값을 없애기 때문에 
    반드시 기간을 지정해야 함
    - 컴퓨터에 기록되는 쿠키값을 남기는 것과 동일하며 GA4에서는 세션, 쿠키, 사용자ID, 신호 데이터 등 다양한 방식으로 중복을 제거하고 고유한 주체를 식별함
    (EX. GA4가 쿠키로만 개인을 식별한다면 컴퓨터 사용 후 모바일로 다시 접속하면 쿠키가 달라지기 때문에 2UV로 특정될 수 있음)

  • AU(활성사용자, 사용자)
    - GA에서 사용하는 '사용자'는 일반적으로 모두 '활성사용자(Active User)'를 의미
    - 활성사용자 수는 위 UV와 같이 지정 기간 동안의 중복되는 값을 제거하고 1번의 방문을 기록함

    - 구글에서 명시한 활성사용자의 자격은 다음 세 가지 조건 중 하나만 부합하면 된다.
    1. 참여(세션 시간 10초 이상 지속 or
    전환 이벤트가 1회 이상 발생 or 페이지 조회수가 2회 이상 발생)한 사용자
    2. 첫 방문한(first_open이나 first_visit을 로깅한) 사용자
    3. 웹, 안드로이드: user_engagement 이벤트의 engagement_time_mesc 매개변수(parameter)를 발생시킨 경우 or
        iOS: user_engagement 매개변수(parameter)를 발생시킨 경우

    그런데 활성사용자가 되기 위한 조건 3번을 자세히 보면, user_engagement 이벤트를 일으키면 활성사용자로 본다는 의미인데, user_engagement 이벤트는 앱에서 포그라운드 상태(화면 조회)로 1초 이상 있거나, 웹 페이지에서 1초간 포커스(페이지 조회) 될 때 발동된다.
    그런데 1번(참여) 조건이 발생하기 전에 3번(1초 이상 머묾) 조건이 일어날 수 밖에 없고,
    2번 조건(첫 방문 이벤트 발생) 또한 직접 테스트해본 결과, 1초 이상은 머물러야 first_visit이 발생한다.

    - 따라서 활성사용자는 포그라운드 상태 및 포커스 상태에서 1초 이상 머무른 사용자라고 본다.


  • 총 사용자
    - 지정 기간 동안 하나 이상의 이벤트를 트리거한 순 사용자
    (참여 이벤트를 실행했는지 여부와 관계없이 사이트 또는 앱과 상호작용한 사용자)

  • 새 사용자
    - 지정 기간 동안 first_open(앱) 또는 first_visit(앱,웹) 이벤트를 로깅한 새로운 순 사용자 수

  • DAU(일일 활성사용자) - 최소 하루에 한 번 앱에서 세션이 활성화된 고유 사용자 수
    WAU(주간 활성사용자) - 최소 7일에 한 번 앱에서 세션이 활성화된 고유 사용자 수
    MAU(월간 활성사용자) - 최소 30일에 한 번 앱에서 세션이 활성화된 고유 사용자 수

  • 재 방문자 
    - 지정 기간 동안 이전 세션이 참여 세션 여부와 상관없이 이전 세션을 하나 이상 시작한 순 사용자 수

  • 참여
    - 페이지 방문 10초 이상 지속 or 전환 이벤트가 1회 이상 발생 or 페이지 조회수가 2회 이상 발생함을 의미
    - 참여의 조건 상 세션수보다 많을 수 밖에 없음

  • 참여율
    - 참여율 = 참여 세션수/세션수
    - 웹 사이트 또는 모바일 앱에서 참여 세션의 비율을 의미
    - 참여세션수(페이지 방문 10초 이상 지속 or 전환 이벤트가 1회 이상 발생 or 페이지 조회수가 2회 이상 발생한 세션수)를 세션수로 나눈 값

  • 세션(수)
    - 사용자가 사이트에 방문할 때 세션이 1회 카운팅
    - 유입 후 발생하는 여러 이벤트들의 집합을 하나의 세션이라고 보면 됨
    - 사용자가 30분 동안 활동을 멈추면 세션이 닫히고 다시 활동을 시작하면 새로운 세션을 가지게 됨
    (EX 1. 사용자가 첫 방문 후,창을 닫고 30분 이전에 들어오면 세션1을 유지
           2. 사용자가 첫 방문 후, 창을 닫고 30분 이후에 들어오면 세션2에서 새로운 시작
              예시 2번의 경우 사용자ID는 같으나, 세션ID가 달라질 것이다

     ※ UA(GA3)와 GA4의 차이점
       (1) 30분 이상 행동(히트)이 없을 경우
       - UA(GA3)> 기존 세션 종료
       - GA4 >
    기존 세션 종료
       (2) 자정(밤 12시)이 넘을 경우
       - UA(GA3)> 기존 세션 종료 후 신규 세션 시작
       - GA4 >
    세션 종료 없이 유지
       (3) UTM(유입 경로 꼬리표)가 바뀔 경우
       - UA(GA3)> 기존 세션종료 후 신규 세션 시작
       - GA4 >
    세션 종료 없이 유지

  • 사용자당 참여 세션수
    - 사용자당 참여 세션수 = 참여한 세션수/ 사용자

  • 전환
    - 사용자가 설정한 전환 이벤트를 트리거한 횟수

  • 전환율(CVR)
    - 일정 기간 동안 광고나 메시지에 노출된 사용자 중 서비스제공자가 원하는 특정 행위(구매, 회원가입 등)를 한 사용자의 비율을 의미
    - 특정 버튼을 클린한 횟수가 될 수 있고, 특정 페이지가 로딩된 횟수가 될 수 있음
    - 실제 EX) 웹사이트에서 티켓을 판매한다고 가정하고 한 달 동안 총 방문자가 1200명,
                     티켓 구매자가 60명이면 60 / 1200 = 0.05 (5%) 로 계산됨


  • 이벤트
    - 웹사이트에서의 고유한 사용자 상호작용을 의미
    - 사용자가 웹사이트를 방문해서 행한 모든 행동(이벤트 발생)을 의미
    - EX) 첫방문(First_visit), 세션(Session_start), 페이지조회(page_view), 클릭(click), 스크롤(scroll) 등
    - Bigquery 에서는 EVENT_NAME 컬럼으로 조회 가능

  • 매개변수
    - 이벤트에 대해 추가정보를 주는 용도
    - 예를 들어 "사용자가 상품을 클릭했다"라는 이벤트에 "어떤 상품을 클릭했는지", "언제 클릭했는지", "어떤 페이지에서 클릭했는지" 등의 정보가 담겨있음
    - EX) 이미지를 보면 'click' 이라는 event_name에 포함되어 있는 매개변수를 확인할 수 있음 

(회사 정보라 블라인드 처리)

  • 평균 참여 시간 
    - 평균참여시간  = 사용자가 실제로 웹, 앱에서 활동했던 시간 / 사용자
    - 평균참여시간은
    기존의 GA4에서 설명하는 참여와는 개념이 다름 중요!!
    (기존의 참여= 세션 시간 10초 이상 지속 or 전환 이벤트가 1회 이상 발생 or 페이지 조회수가 2회 이상 발생)

    - 평균 참여 시간에서의 참여는 다음 두 가지 조건에 해당할 때만 기록!
    1. 사용자가 앱 포그라운드(화면에서 활동) 중 일 때
    2. 사용자가 웹 포커스(화면 페이지에서 활동) 중 일 때

    이게 무슨 얘기냐면 예를 들어, 우리가 보통 인터넷을 할 때 창을 띄워놓고 다른 창을 띄우거나 최소화를 눌러 잠깐 나가기도 하는데 이때 포커스 아웃(화면에서 벗어남)이 발생하는데 GA4에서 이러한 시간은 제외한다는 얘기다
    (모바일도 마찬가지로 앱화면을 배경으로 이동한다거나 다른 버튼을 누르게 되면 포커스 아웃된 시간은 제외됨)

    ※ 39092 = 39.092초
    직접 테스트 결과, 페이지 클릭 후 1분 동안 40초 정도만 포커스시키고 스크롤 해보니 스크롤 이벤트 매개변수 engagement_time_mesc에 약 40초 정도가 찍혀있었다! 

    정의하면,
    사용자가 새 세션을 시작하면 GA4에서 세션의 시간(밀리초)를 기록하기 시작하는데, 다음 중 하나라도 발생하는 경우를 제외한 시간이 GA4로 전송됨
    1. 사용자가 앱화면을 배경으로 이동함
    2. 사용자가 웹페이지로부터 포커스를 옮김
    3. 사용자가 앱 화면이나 웹페이지를 벗어남(ex. 사용자가 탭, 창 또는 앱 닫음, 사용자가 다른 화면으로 이동)
    4. 사이트 또는 앱이 비정상 종료됨

  • 세션당 평균 참여 시간
    - 평균 참여 시간과 동일한 개념이지만 사용자로 나눈 값이 아닌 '세션수'로 나눈 값을 의미
    - 공식화하면 세션당 평균 참여시간 = 사용자가 실제로 웹과 앱에서 활동중인 시간 / 세션수 

  • 평균 세션 시간
    - 평균세션시간 = 유입이 발생하고 부터 종료되기 까지의 시간 / 세션수
    - 평균참여시간은 사용자가 활동 중인 시간만 기록되지만 평균세션시간은 사용자가 앱, 웹 화면을 이동하거나 벗어난 시간도 모두 포함되며 사용자가 
      1) 30분 동안 아무런 이벤트(조회, 클릭, 스크롤, 영상 등)가 없을 경우
      2) 창을 닫은 경우
    에 종료 시간으로 기록됨

  • user_engagement 매개변수
    앱이 포그라운드에 있거나 웹 페이지가 최소 1초간 포커스 내에 있을 때 발생

 

오늘도 수고하셨습니다!

 


<참조 자료>

https://studiomx.co.kr/6605/ga4-%ED%99%9C%EC%84%B1%EC%82%AC%EC%9A%A9%EC%9E%90active-user%EC%99%80-%EC%B0%B8%EC%97%AC%EC%84%B8%EC%85%98engaged-session%EC%9D%98-%EC%9D%B4%ED%95%B4/

https://divit.kr/content/?q=YToyOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjtzOjQ6InBhZ2UiO2k6Nzt9&bmode=view&idx=11274708&t=board

https://blog.naver.com/gicorp/223035756295

https://support.google.com/analytics/answer/13366706?hl=ko

https://support.google.com/analytics/answer/11109416?hl=ko

https://www.openads.co.kr/content/contentDetail?contsId=11830