빅쿼리(BigQuery) 뜻과 GA4 연동
홍승협(준이아빠) / 데이터 분석, AI 실무 교육
빅쿼리(BigQuery)는 큰 데이터를 담아 두고 질문을 던져 답을 받는 구글의 데이터 창고 서비스입니다. GA4 화면이 미리 정해 둔 조합만 보여 주는 것과 달리 원본 이벤트가 그대로 쌓여 있어서, 화면에 없는 조합도 직접 만들 수 있습니다.
🤔 화면에 없는 조합이 필요해질 때
GA4 보고서를 열면 채널별 세션과 전환 수는 몇 번의 클릭으로 나옵니다. 그런데 첫 방문부터 첫 구매까지 며칠이 걸렸는지, 장바구니에 담고 결제 화면까지 갔다가 나간 사람만 따로 모을 방법이 있는지를 물으면 손이 멈춥니다. 탐색 분석을 뒤져도 그 조합을 만드는 항목이 보이지 않아서 그렇습니다.
화면이 부족해서 생기는 문제가 아니라 화면이 미리 정해 둔 조합만 보여 주기 때문에 생기는 문제입니다. 그 밖의 조합을 직접 만들려면 원본 기록이 남아 있어야 하고, 그 원본을 담아 두는 곳 가운데 하나가 빅쿼리입니다.
🔑 빅쿼리(BigQuery)의 정의
빅쿼리(BigQuery)는 큰 데이터를 담아 두고 질문을 던져 답을 받는 구글의 데이터 창고 서비스입니다.
이름 두 토막이 그대로 설명입니다.
- Big: 수억 줄짜리 표도 그대로 담습니다. 엑셀이나 구글 시트가 버거워지는 크기부터가 이 도구가 다루는 범위입니다
- Query: 무엇을 보고 싶은지 문장으로 적어 던지면 조건에 맞는 답이 돌아옵니다. 그 문장을 적는 말이 SQL입니다
마케터에게 중요한 점은 기술 사양이 아니라 GA4와 어떻게 맞물리는지입니다. 둘은 골라야 하는 도구가 아니라 앞뒤로 이어지는 관계입니다. GA4가 모은 이벤트를 빅쿼리로 넘겨 두면 일상 보고는 화면에서 그대로 하고, 화면에 없는 조합만 따로 만들면 됩니다.
📷 GA4 화면과 빅쿼리 원본, 인화본과 남아 있는 필름
사진관에 필름을 맡기면 정해진 크기의 인화본이 나옵니다. 손에 쥐고 바로 볼 수 있어 편하지만, 사진 한쪽에 걸린 간판 글씨를 키워 보고 싶어지면 인화본으로는 방법이 없습니다. 확대해 봐야 번지기만 합니다.
필름이 남아 있으면 사정이 달라져서, 원하는 부분만 잘라 크게 뽑거나 밝기를 바꿔 다시 뽑을 수 있습니다.
GA4 화면이 인화본이고 빅쿼리에 쌓인 원본 이벤트가 필름입니다. 화면은 자주 쓰는 조합을 미리 뽑아 둔 결과라 빠른 대신 그 바깥으로는 나가지 못하고, 필름이 남아 있으면 같은 기록에서 다른 질문의 답도 꺼낼 수 있습니다. 다만 필름은 카메라에 넣어 둔 뒤부터만 찍힙니다. 이 점이 뒤에서 다룰 내보내기 시점 문제로 그대로 이어집니다.
🔍 GA4 화면으로 만들 수 없는 조합
GA4 화면으로 답하기 어려워지는 까닭은 세 가지입니다.
- 조합이 미리 정해져 있습니다: 보고서와 탐색 분석은 고를 항목과 조건의 종류가 정해져 있어서, 그 목록에 없는 조합은 만들 방법이 없습니다
- 표본 추출이 걸립니다: 조건이 복잡하고 기간이 길면 전체를 세지 않고 일부만 뽑아 추정한 값이 나오기도 합니다
- 데이터 임계값이 걸립니다: 인구통계 같은 항목이 붙은 보고서에서 해당하는 사람 수가 적으면 일부 수치를 가립니다
어떤 조건에서 얼마부터 걸리는지는 구글이 시점마다 바꾸므로 이 글에서 기준값을 적지 않습니다. 빅쿼리에 원본이 있으면 세 가지 제약이 모두 사라집니다. 전체를 직접 세고 조건도 직접 적으므로 추정이 끼어들거나 수치가 가려질 일이 없습니다.
| 알고 싶은 것 | GA4 화면에서 | 빅쿼리에 원본이 있으면 |
|---|---|---|
| 첫 방문부터 첫 구매까지 걸린 날짜 | 평균에 가까운 요약까지 | 사람마다 두 날짜의 차이를 계산해 1일 안, 3일 안, 7일 넘김으로 나눠 셉니다 |
| 정해진 이벤트 순서를 밟은 사람만 모으기 | 탐색 분석이 허용하는 단계 수와 조건 안에서만 | 이벤트가 찍힌 시각을 그대로 놓고 그 순서를 지킨 사람만 골라냅니다 |
| 광고 데이터와 붙여 보기 | 구글 광고 연동 밖의 매체 비용은 들어오지 않습니다 | 매체별 비용 표를 함께 올려 두고 날짜와 캠페인 이름으로 이어 붙입니다 |
| 지난해 같은 기간과 비교 | 보관 기간이 지난 항목은 화면에서 사라집니다 | 내보낸 날짜별 표가 남아 있어 몇 해 전 기간도 같은 기준으로 봅니다 |
| 긴 기간의 정확한 사용자 수 | 조건이 복잡하면 추정값이 나오기도 합니다 | 원본 전체를 세므로 추정이 들어가지 않습니다 |
이 표의 어느 행도 필요해진 적이 없다면 빅쿼리는 아직 급한 일이 아니고, 두세 행이 이미 겪은 상황이라면 그때가 연동을 검토할 때입니다. 원본에서 어트리뷰션 모델을 직접 계산한 사례는 GA4 빅쿼리 어트리뷰션 분석에 쿼리와 함께 적어 두었습니다.
🧱 연동하면 데이터가 쌓이는 모양
데이터가 어떤 모양으로 쌓이는지만 알아 두면 충분합니다. 세 가지입니다.
- 이벤트 하나가 한 줄이 됩니다: 페이지 열기 한 번, 버튼 클릭 한 번이 각각 다른 줄로 남습니다. 하루 이벤트가 50만 건이면 그날 표에 50만 줄이 들어갑니다
- 매개변수는 그 줄 안에 접혀 들어갑니다: 시트처럼 열이 평평하게 늘어서지 않고, 한 칸 안에 이름과 값의 짝이 여러 개 담깁니다. 페이지 주소도 캠페인 이름도 결제 금액도 그 안에 있습니다
- 날짜별 표가 하루에 하나씩 생깁니다: 9월 14일치는 9월 14일 이름이 붙은 표에 들어갑니다. 기간을 넓히면 여러 표를 한꺼번에 읽게 됩니다
그래서 SELECT event_name, COUNT(*) FROM events_20260914 GROUP BY event_name 한 줄이면 그날 어떤 이벤트가 몇 번 찍혔는지 나옵니다. 다만 접힌 항목을 시트에서 하던 방식대로 열 이름만 적어 꺼내려 하면 값이 빕니다. 접힌 것을 펼쳐 평평한 표로 만드는 일이 ETL에서 다룬 정리 단계에 해당하고, 그 정리를 매일 자동으로 돌린 사례는 GA4 데이터 유실, BigQuery로 자동 해결에 있습니다. 내보내기를 켜는 것과 바로 쓸 수 있게 만드는 것은 다른 일입니다.
💳 비용이 생기는 두 곳
- 담아 두는 비용: 쌓인 데이터 양에 따라 붙습니다. 한동안 바뀌지 않은 데이터는 단가가 내려가는 구분이 따로 있습니다
- 꺼내 보는 비용: 질문 한 번마다 읽은 데이터 양으로 계산합니다. 답이 열 줄로 나와도 읽은 양이 많으면 그만큼 붙습니다
실무에서 문제가 되는 쪽은 두 번째입니다. SELECT *로 표 전체를 읽으면 쓰지도 않을 열까지 전부 읽으므로, 결과는 같은데 비용만 커집니다. 필요한 열만 적기와 날짜 좁히기, 이 두 가지 습관만으로 읽는 양이 크게 줄어듭니다.
현재 단가와 무료 한도는 이 글에서 단정하지 않습니다. 구글 클라우드 요금 문서에서 그날 값을 확인하는 편이 맞고, 콘솔이 실행 전에 예상 읽기량을 표시하므로 그 숫자를 보고 실행하면 놀랄 일이 줄어듭니다.
🧭 마케터가 빅쿼리를 쓰는 세 가지 경우
| 경우 | 이런 상황일 때 | 가능해지는 것 |
|---|---|---|
| GA4 원본이 필요할 때 | 원하는 조합이 화면 항목에 없거나 숫자가 추정값으로 나올 때 | 조건을 직접 적어 사람 단위로 세고, 추정 없는 전체 집계를 얻습니다 |
| 여러 소스를 붙일 때 | 광고비와 주문 내역과 고객 정보가 서로 다른 곳에 있을 때 | 날짜와 캠페인 이름 같은 공통 값으로 이어 붙여 한 표에서 함께 봅니다 |
| 오래된 데이터를 봐야 할 때 | 보관 기간이 지나 화면에서 보이지 않을 때 | 내보낸 날짜별 표가 그대로 남아 있어 지난 몇 해를 같은 기준으로 비교합니다 |
세 가지 가운데 둘째를 마케터가 가장 자주 만납니다. 매체별 비용과 매출과 행동 기록이 각각 다른 화면에 흩어져 있어서, KPI 하나를 채우려 해도 파일 세 개를 열어야 하기 때문입니다.
⚠️ 빅쿼리가 필요 없는 때
- 화면 보고서로 답이 나올 때: 채널별 세션, 전환 수, 랜딩 페이지별 이탈 정도는 GA4 화면이 더 빠르고 정확합니다
- 데이터가 작을 때: 행이 수만 건 안쪽이면 구글 시트에서 몇 분이면 끝납니다. 큰 데이터를 다루는 비용을 치를 이유가 없습니다
- 질문이 정해지지 않았을 때: 도입해 두면 뭔가 보이겠지 하는 기대로 켜면 저장 비용만 나갑니다
도입 전에 무엇을 묻고 싶은지부터 적어 보는 편이 낫습니다. 질문 서너 개를 먼저 적고 그 가운데 GA4 화면에서 답이 나오는 것을 지운 뒤, 남는 질문이 있으면 그때 연동을 준비합니다. 다만 켠 시점부터만 쌓이므로 언젠가 쓸 가능성이 보이면 질문이 다 정해지기 전에 켜 두는 쪽을 고르기도 합니다.
🚀 시작하는 순서
- 구글 클라우드 프로젝트를 만들거나 이미 있는 프로젝트를 확인합니다. 결제 정보 등록이 여기에 붙습니다
- GA4 관리 화면에서 BigQuery 연결을 만들고 내보내기를 켭니다. 데이터 스트림과 내보낼 이벤트 범위를 여기서 고릅니다
- 하루쯤 지난 뒤 날짜별 표가 생겼는지 확인합니다
- 앞에서 적어 둔 질문 하나를 골라 답을 내 봅니다
여기서 가장 자주 놓치는 것이 둘째 단계의 시점입니다. 내보내기는 켠 시점부터 쌓이고 과거 데이터는 소급되지 않습니다. 9월에 켜면 8월치는 빅쿼리에 없고, 그 공백은 나중에 어떤 설정으로도 채우지 못합니다. GA4 화면에는 8월 숫자가 그대로 보이므로 공백을 알아차리는 시점도 늦습니다.
❓ 자주 묻는 질문
SQL을 몰라도 쓸 수 있나요?
연동을 켜고 표가 쌓이는 데까지는 SQL이 필요하지 않습니다. 다만 쌓인 원본에서 답을 꺼내려면 어느 시점에는 SQL이 필요한데, 처음부터 문법을 다 익히기보다 SELECT, WHERE, GROUP BY 세 가지만 알고 시작해도 하루 이벤트 수 세기 정도는 됩니다. 루커 스튜디오를 빅쿼리에 연결해 화면에서 항목을 끌어 쓰는 방법도 있지만, 접힌 매개변수를 다루려면 정리된 표를 한 번 만들어 두어야 합니다.
GA4 화면 숫자와 빅쿼리 숫자가 같게 나오나요?
정확히 같지 않은 경우가 흔합니다. GA4 화면의 사용자 수와 세션 수는 수집한 이벤트를 규칙에 따라 묶어 계산한 값이고, 빅쿼리 표에는 묶기 전 이벤트가 그대로 들어 있습니다. 여기에 화면 쪽에만 걸리는 표본 추출과 임계값까지 더해집니다. 둘을 맞추려면 세션을 어떻게 묶을지부터 같은 기준으로 정해야 합니다.
연동을 켜면 바로 비용이 나가나요?
저장과 조회 모두 무료로 쓸 수 있는 한도가 마련되어 있지만 그 크기는 시점마다 달라지므로, 켜기 전에 구글 클라우드 요금 문서에서 현재 한도를 확인하는 쪽이 안전합니다. 예산 알림을 먼저 걸어 두면 실수로 큰 질문을 던졌을 때 알아차릴 수 있습니다.
데이터 담당이 없는 팀도 필요할까요?
당장 쓸 사람이 없어도 내보내기만 켜 두는 선택은 해 볼 만합니다. 쌓이지 않은 기간은 나중에 되돌리지 못하는 반면 쌓아 두기만 하는 비용은 대체로 작고, 실제 분석은 필요해진 시점에 외부 도움을 받아도 늦지 않기 때문입니다.
📋 3줄 요약
-
빅쿼리(BigQuery)는 큰 데이터를 담아 두고 질문을 던져 답을 받는 구글의 데이터 창고 서비스입니다.
-
GA4 화면은 미리 정해 둔 조합만 보여 주므로 원하는 조합이 화면에 없으면 빅쿼리에 쌓인 원본 이벤트에서 직접 만들어야 합니다.
-
내보내기는 켠 시점부터 쌓이고 과거 기간은 소급되지 않으므로 질문이 정해지기 전이라도 먼저 켜 두는 편이 안전합니다.
이 글이 도움이 되셨다면 공유해 주세요
메신저로 바로 보내거나 링크를 복사할 수 있습니다.
GA4에서 빅쿼리 내보내기를 오늘 처음 켰다면 지난달 데이터는 어떻게 될까요?
이어서 배우면 좋은 개념
ETL 뜻과 데이터 웨어하우스, 레이크 차이
ETL은 흩어진 곳에서 데이터를 꺼내고(Extract) 쓸 수 있는 모양으로 바꾸고(Transform) 모아 두는 곳에 넣는(Load) 세 단계를 가리키는 말입니다. 광고 계정에서 성과를 내려받아 열을 맞추고 시트에 붙여 넣는 일이 바로 이 세 단계입니다.
GA4 (Google Analytics 4) 뜻과 데이터 구조
GA4(Google Analytics 4)는 웹사이트와 앱에서 일어나는 사용자 행동을 이벤트 단위로 모아 보여 주는 구글의 무료 분석 도구입니다. 페이지를 연 것부터 결제를 마친 것까지 모든 행동이 같은 모양의 기록 한 건으로 남고, 그 기록을 묶어 세션과 사용자 수가 만들어집니다.
KPI (핵심성과지표) 뜻과 설정 방법
KPI(Key Performance Indicator)는 목표에 얼마나 가까워졌는지를 하나의 숫자로 재는 핵심성과지표입니다. 팀이 보는 수많은 숫자 가운데 판단을 바꾸는 것만 골라 목표값과 기간을 붙인 것입니다.
SQL 기초 문법과 마케터가 쓰는 쿼리 예시
SQL은 표 형태로 쌓인 데이터에 어떤 줄을 어떻게 묶어서 보여 달라고 요청하는 말입니다. 프로그래밍 언어라기보다 빈칸을 채워 건네는 요청 문장에 가까워서, 문장 틀 여섯 조각만 익히면 마케터가 자주 묻는 것은 대부분 직접 뽑을 수 있습니다.
관련 인사이트
- 마케터를 위한 통계 기초: 평균, 중앙값, 표준편차를 광고 데이터로광고 소재 두 개의 14일치 전환율로 통계 개념을 차례로 확인합니다. 평균이 같은 두 소재가 중앙값과 표준편차에서 달라지는 과정을 계산으로 보여 주고, 흩어짐이 클 때 무엇을 해야 하는지와 차이를 언제 믿어도 되는지까지 정리했습니다.
- 마케팅 전략 프레임워크 총정리: SWOT, STP, 4P를 사례 하나로 잇기마케팅 전략 프레임워크는 각각 따로 쓰는 도구가 아니라 앞의 결과가 뒤의 입력이 되는 사슬입니다. 가상의 소상공인 예약 서비스 하나를 SWOT에서 STP, 4P, 포지셔닝 문장까지 연속으로 통과시키며 각 단계에서 무엇이 정해지고 무엇이 다음으로 넘어가는지 정리했습니다.
- 마케팅 KPI 설정 총정리: 채널별 예시 30개와 목표값 정하는 법마케팅 KPI는 목표에 얼마나 가까워졌는지를 하나의 숫자로 재는 지표입니다. 퍼널 단계와 채널별로 무엇을 KPI로 잡는지 예시 30개로 정리하고, 목표값을 정하는 세 가지 방법과 허영 지표를 거르는 기준, 숫자가 어긋났을 때 점검하는 순서를 담았습니다.
- 비개발자를 위한 네이버 데이터랩 API 가이드: 검색어 트렌드와 쇼핑인사이트네이버 데이터랩 API는 네이버에서 어떤 검색어가 언제 얼마나 검색됐는지를 비율로 돌려주는 오픈 API입니다. 광고 계정이 없어도 쓸 수 있고 발급도 5분이면 끝나는데, 실제 검색 횟수 대신 상대 비율만 준다는 점을 모르면 숫자를 잘못 읽게 됩니다. 통합 검색어 트렌드와 쇼핑인사이트 두 API의 요청 방법, 비율을 실제 검색량으로 바꾸는 방법, 자주 걸리는 오류를 정리했습니다.
- ChatGPT Data agent 정리: 회사 데이터를 붙이기 전에 정할 것ChatGPT Data agent는 회사가 쓰는 데이터 웨어하우스에 직접 연결해 질문에 답하고 대시보드까지 만드는 ChatGPT Work의 기능입니다. 같은 날 공개된 금융 서비스와 음성 모델 발표까지 함께 놓고, 연결보다 먼저 정해야 하는 것을 정리했습니다.
- 클로드 커머스 에이전트 정리: 쇼핑 에이전트와 판매자 에이전트가 하는 일과 GA4 측정클로드 커머스 에이전트(Claude Commerce Agents)는 앤트로픽이 2026년 9월 2일 공개한, 쇼핑 에이전트와 판매자 에이전트를 만드는 공개 청사진입니다. 두 에이전트가 무엇을 하고 무엇을 하지 않는지, 결제를 뺀 설계가 챗GPT와 구글의 접근과 어떻게 다른지, 장바구니 35%와 구매 완료 60%라는 수치를 어떻게 읽을지, 에이전트가 만든 방문과 주문이 GA4에서 어디로 잡히는지 정리했습니다.
