빅쿼리 스터디/빅쿼리

자주 사용하는 빅쿼리 GA4 데이터 스키마

황금붕어빵 2024. 2. 18. 17:39

 


GA4 데이터를 빅쿼리에서 분석하기 위해서는 기본적인 데이터 형식과 스키마를 알아야 합니다. 간단하게 얘기하면 어떤 데이터가 들어오는지 체크해야합니다. 업무를 하면서 자주 사용하는 스키마를 정리해보려고 합니다.

 

* BigQuery Export 스키마

1. event

필드 이름 데이터 유형 설명
event_timestamp 정수 클라이언트에서 이벤트가 기록된 시간(단위 : 마이크로초, UTC)
event_date 문자열 이벤트가 기록된 날짜(앱에 등록된 시간대의 YYYYMMDD 형식)
event_params.key 문자열 이벤트 매개변수의 이름
event_params.string_value 문자열 이벤트 매개변수가 URL이나 캠페인 이름과 같은 문자열로 표시되면 이 필드에 채워집니다.
event_params.int_value 정수 이벤트 매개변수가 정수로 표시되면 이 필드에 채워집니다.

 

event_timestamp 데이터는 마이크로초 형태여서 datetime 형태로 변환해야하고 utc 0시 기준의 시간대이기 때문에 한국 시간대로 변경하려면 9시간 또는 540분을 더하여 활용하시면 됩니다.

 

event_params.key 필드는 매개변수의 이름입니다. ga_session_id, page_location과 같은 값들이 있고 GTM에서 매개변수를 지정할 경우에 해당 필드에 해당 매개변수의 이름이 들어오게 됩니다. 그리고 매개변수에 해당 하는 값이 문자열이나 정수냐에 따라서 value와 관련된 필드에 해당 값이 들어갑니다.

 

그리고 event_params와 관련된 값들은 아래와 같은형태로 데이터가 저장되어 있어 UNNEST라는 구문을 사용하여 꺼낼 수 있는데 이 부분은 나중에 별도로 포스팅해보도록 하겠습니다. 아니면 구글링을 통해서 쉽게 해당 내용 글을 찾을 수 있습니다.

 

 

2. user

필드 이름 데이터 유형 설명
user_id 문자열 사용자에게 할당된 고유 ID
user_pseudo_id 문자열 사용자의 기명처리된 ID(예 : 앱 인스턴스 ID)

 

user_pseudo_id는 임시로 부여하는 유저 식별 값으로 각 user_pseudo_id 값이 각 한 명의 유저로 판단할 수는 없고 한 명의 유저가 여러 기기를 사용할 경우에는 각각 다른 값이 부여됩니다.

 

user_pseudo_id 값이 다르더라도 대신 user_id(회원 ID)값이 같이 들어오게 설정한다면 user_pseudo_id 값이 다르더라도 user_id 값을 기준으로 한 명의 유저로 묶어서 판단할 수 있습니다.

 

위와 관련된 내용은 아래 블로그 내용 참고하면 위 내용을 이해하는데 도움이 될 것 같아요!

 

기획자와 마케터를 위한 활성 사용자 총정리

우리, GA만 믿지 말고 BigQuery로 직접 계산해봅시다

datarian.io

 

보통 user_pseudo_id 값을 중복없이 카운트할 때 UV로 체크합니다.

 

3. collected_traffic_source

필드 이름 데이터 유형 설명
manual_campaign_name 문자열 이벤트와 함께 수집된 수동 캠페인 이름(utm_campaign)
manual_source 문자열 이벤트와 함께 수집된 수동 캠페인 소스(utm_source) UTM 값뿐만 아니라 추천 매개변수에서 파싱된 매개변수도 포함됩니다.
manual_medium 문자열 이벤트와 함께 수집된 수동 캠페인 매체(utm_medium) UTM 값뿐만 아니라 추천 매개변수에서 파싱된 매개변수도 포함됩니다.
manul_content 문자열 이벤트와 함게 수딥된 수동 캠페인 메타데이터(utm_content)

 

해당 값들은 최근에 추가되었는데 외부에서 우리 사이트로 접속할 때 utm에서 설정한 값 또는 추천 매개변수에 파싱된 매개변수 값이 그대로 입력이 됩니다.

 

기존 traffic_source 값에서는 외부에서 가장 먼저 들어왔던 소스나 매체, 캠페인 등의 값이 해당 유저에게 부여된다고 합니다.(이 부분은 몰랐다가 위의 값들이 새로이 추가되면서 알게된 사실..^^)

 

그래서 위의 값들은 퍼포먼스 광고와 같은 캠페인을 진행할 때 실제 구매여부에 대한 분석을 하기에 좋은 값들입니다.

 

4. traffic_source

필드 이름 데이터 유형 설명
traffic_source.name 문자열 사용자를 최초로 획득한 마케팅 캠페인의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
traffic_source.medium 문자열 사용자를 최초로 획득한 매체(유료 검색, 자연 검색, 이메일 등)의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
traffic_source.source 문자열 사용자를 최초로 획득한 네트워크의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.

 

위에서 언급했듯이 각 user_pseudo_id에서 최초의 트래픽 소스, 매체, 캠페인 이름 값이 채워지게 됩니다. collected 기준으로 source가 naver가 찍힐 수는 있지만 최초로 접속했던 source가 구글인 경우에는 해당 user_pseudo_id의 traffic_source.source 값은 구글로 찍히게 됩니다.

 

 

 

오늘은 주로 사용하는 GA4의 스키마를 알아보았습니다. 그리고 event_params 필드에서는 각 비즈니스에 맞는 매개변수 값들을 설정 시에 해당 값들 또한 자주 사용하게 됩니다. 

 

테이블을 만들 때 위와 같은 필드값들을 정제하여 각각 목적에 맞는 데이터를 각각의 테이블에 저장하고 굳이 로우데이터 테이블에서 분석할 필요 없이 만들어놓은 테이블에서 바로 데이터 분석을 할 수 있습니다.