AI로 GA4 BigQuery 쿼리 작성하기 — UNNEST와 프롬프트 설계
GA4의 중첩 RECORD 스키마를 ChatGPT에 설명해 UNNEST 쿼리를 자동 생성하는 방법과, 그 결과를 실행할 때 확인해야 할 점을 정리한 글.
핵심 요약
- items·event_params 등 중첩 RECORD는 UNNEST()로 분해 필요
- WHERE(event_name·날짜)와 GROUP BY로 원하는 지표 집계
- AI에게 스키마 설명 후 추출 요건을 프롬프트로 전달하면 SQL 생성
- 실행 전 프로젝트 ID·데이터셋 ID를 실제 GA4 속성 ID로 교체
- BigQuery 조회 할당량 제한을 고려해 조회 기간 조절 필요
GA4 스키마 특징
GA4는 사용자 행동을 이벤트 단위로 기록하며, items나 event_params 같은 컬럼은 중첩 RECORD 구조라 BigQuery에서 UNNEST() 함수로 개별 행으로 분해해야 한다.
BigQuery 분석 핵심 구문
UNNEST()로 중첩 배열을 분해하고, WHERE로 event_name·날짜 범위를 필터링하며, GROUP BY와 집계 함수로 구매량·페이지뷰·세션 수를 집계한다.
AI 쿼리 자동화 절차
AI에게 먼저 GA4 데이터 스키마(이벤트 기반, 중첩 RECORD 포함)를 설명하고, 이어서 원하는 추출 요건과 결과 테이블 형태를 프롬프트로 전달하면 실행 가능한 SQL을 반환한다.
실행 시 주의점
FROM 절의 프로젝트 ID와 데이터셋 ID를 GA4 관리 메뉴의 속성 ID로 바꿔야 하고, BigQuery 조회 할당량 제한을 고려해 조회 기간을 조절해야 한다.
한계
AI가 만든 쿼리가 항상 정확한 것은 아니므로 결과를 검증하는 절차가 필요하다.
자주 묻는 질문
GA4 데이터를 BigQuery에서 다루기 어려운 이유는 무엇인가요?
items 등 중첩 RECORD 구조라 UNNEST() 분해 작업이 선행되어야 하기 때문입니다.
AI로 쿼리를 만들려면 무엇부터 해야 하나요?
먼저 AI에게 GA4 데이터 스키마와 중첩 구조를 설명해야 합니다.
만든 쿼리를 바로 실행해도 되나요?
FROM 절의 프로젝트 ID와 데이터셋 ID를 실제 GA4 속성 ID로 바꾼 뒤 실행해야 합니다.
조회 기간에 제한이 있나요?
BigQuery 사용량(할당량) 제한이 있어 조회 기간을 적절히 조절해야 합니다.
AI가 만든 쿼리를 무조건 신뢰해도 되나요?
아직 발전 중인 결과물이라 실행 후 결과를 검증하는 주의가 필요합니다.