빅쿼리(BigQuery)에 인입된 GA(Google Analytics) 데이터를 간단하게 살펴본다.
개요
GA(Google Analytics)에서 빅쿼리(BigQuery)로 데이터 전송을 설정한 이후에는 빅쿼리에서 해당 데이터를 확인할 수 있다. 혹시나 이 설정을 하지 않았다면 관련 게시글을 참고하여 설정을 완료하도록 하자.
빅쿼리에서 데이터 확인
GA의 데이터 내보내기 설정이 되어있는 GCP의 빅쿼리 프로젝트로 이동해서 해당 데이터가 정상적으로 들어왔는지 확인해보자. 단, GA에서 빅쿼리로 데이터 내보내기 설정 후 일정 시간 이상 기다려야 한다. 앞에서는 일일 데이터를 저장하도록 설정하였기 때문에 기본적으로 하루가 지나야 데이터가 들어온다.
데이터셋 및 테이블 목록 확인
빅쿼리 스튜디오(BigQuery Studio)의 탐색기 부분을 보면 다음과 같이 데이터셋과 테이블이 생성되어있는 것을 확인할 수 있다.
데이터셋은 “analytics_” 접두사로 시작하는 이름을 가지는데 뒤에 숫자 아홉자리는 GA 의 “속성 및 앱 ID”이기 때문에 나중에 다중 연결을 실시했을 때 이를 참고하여 구분하면 되겠다. 그리고 해당 데이터셋에는 “event”로 시작하는 테이블, “pseudonymous_users”로 시작하는 테이블, “users”로 시작하는 테이블이 있다.
빅쿼리는 데이터 테이블의 접미사 유형이 “yyyymmdd” 형식이면 테이블 묶음으로 처리하는데 위 스크린샷에는 5개의 테이블이 겹쳐있으며 5일치의 데이터가 기록된 상태라고 이해하면 된다.
해당 데이터 묶음으로 가서 상단의 역삼각형(▼)을 누르면 다음과 같이 테이블 목록을 확인할 수 있다.
GA 데이터 스키마 확인
GA에서 빅쿼리로 내보내는 데이터에 대한 스키마와 관련된 공식 문서도 있지만 각 테이블의 주된 스키마와 샘플 데이터를 살펴보자.
events 테이블 확인
events 테이블의 경우 25개의 필드로 구성되어있으며, 세부적으로 총 129개의 필드로 구성되어있다.
※ GA_events_table_sample.xlsx 다운받기 [클릭]
변수명 | 타입 | 설명 |
---|---|---|
event_date | STRING | 이벤트가 발생한 날짜 |
event_timestamp | INT64 | 이벤트가 발생한 시점의 타임스탬프 |
event_name | STRING | 이벤트의 이름 |
event_params | ARRAY | 이벤트와 관련된 파라미터 |
event_previous_timestamp | INT64 | 이전 이벤트의 타임스탬프 |
event_value_in_usd | FLOAT64 | 이벤트의 가치(USD) |
event_bundle_sequence_id | INT64 | 이벤트 번들 시퀀스 ID |
event_server_timestamp_offset | INT64 | 서버 타임스탬프와의 차이 |
user_id | STRING | 사용자 ID |
user_pseudo_id | STRING | 사용자의 익명 ID |
privacy_info | STRING | 개인정보 보호 관련 정보 |
user_properties | ARRAY | 사용자 속성 |
user_first_touch_timestamp | INT64 | 사용자의 첫 접촉 타임스탬프 |
user_ltv | STRUCT | 사용자의 생애 가치 |
device | STRUCT | 사용자의 장치 정보 |
geo | STRUCT | 사용자의 지리적 위치 정보 |
app_info | STRUCT | 앱 관련 정보 |
traffic_source | STRUCT | 트래픽 소스 정보 |
stream_id | STRING | 스트림 ID |
platform | STRING | 사용자의 플랫폼 정보 |
event_dimensions | STRUCT | 이벤트 차원 정보 |
ecommerce | STRUCT | 전자상거래 관련 정보 |
items | ARRAY | 이벤트와 관련된 항목 |
collected_traffic_source | STRING | 수집된 트래픽 소스 정보 |
is_active_user | BOOL | 활성 사용자 여부 |
pseudonymous_users 테이블 확인
pseudonymous_users 테이블의 경우 12개의 필드로 구성되어있으며, 세부적으로 총 46개의 필드로 구성되어있다.
※ GA_pseudonymous_users_table_sample.xlsx 다운받기 [클릭]
필드명 | 타입 | 설명 |
---|---|---|
pseudo_user_id | STRING | 사용자의 익명 ID |
stream_id | STRING | 스트림 ID |
user_info | RECORD | 사용자 정보 |
device | RECORD | 사용자의 장치 정보 |
geo | RECORD | 사용자의 지리적 위치 정보 |
audiences | RECORD | 사용자 관련 대상 그룹 |
user_properties | RECORD | 사용자 속성 |
user_ltv | RECORD | 사용자의 생애 가치 |
predictions | RECORD | 사용자에 대한 예측 정보 |
privacy_info | RECORD | 개인정보 보호 관련 정보 |
occurrence_date | STRING | 발생 날짜 |
last_updated_date | STRING | 마지막 업데이트 날짜 |
users 테이블 확인
users 테이블의 경우 11개의 필드로 구성되어있으며, 세부적으로 총 45개의 필드로 구성되어있다. 참고로 psuedonymous_users 테이블과 중복되는 필드가 많고 “pseudo_user_id”, “stream_id” 필드가 없다.
※ GA_users_table_sample.xlsx 다운받기 [클릭]
필드명 | 타입 | 설명 |
---|---|---|
user_id | STRING | 사용자 ID |
user_info | RECORD | 사용자 정보 |
device | RECORD | 사용자의 장치 정보 |
geo | RECORD | 사용자의 지리적 위치 정보 |
audiences | RECORD | 사용자 관련 대상 그룹 |
user_properties | RECORD | 사용자 속성 |
user_ltv | RECORD | 사용자의 생애 가치 |
predictions | RECORD | 사용자에 대한 예측 정보 |
privacy_info | RECORD | 개인정보 보호 관련 정보 |
occurrence_date | STRING | 발생 날짜 |
last_updated_date | STRING | 마지막 업데이트 날짜 |