초급

빅쿼리(BigQuery) 뜻과 GA4 연동

/ 데이터 분석, AI 실무 교육

빅쿼리(BigQuery)는 큰 데이터를 담아 두고 질문을 던져 답을 받는 구글의 데이터 창고 서비스입니다. GA4 화면이 미리 정해 둔 조합만 보여 주는 것과 달리 원본 이벤트가 그대로 쌓여 있어서, 화면에 없는 조합도 직접 만들 수 있습니다.

동의어:빅쿼리BigQuery빅쿼리 뜻GA4 빅쿼리
Share

🤔 화면에 없는 조합이 필요해질 때

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 화면에서 답이 나오는 것을 지운 뒤, 남는 질문이 있으면 그때 연동을 준비합니다. 다만 켠 시점부터만 쌓이므로 언젠가 쓸 가능성이 보이면 질문이 다 정해지기 전에 켜 두는 쪽을 고르기도 합니다.

🚀 시작하는 순서

  1. 구글 클라우드 프로젝트를 만들거나 이미 있는 프로젝트를 확인합니다. 결제 정보 등록이 여기에 붙습니다
  2. GA4 관리 화면에서 BigQuery 연결을 만들고 내보내기를 켭니다. 데이터 스트림과 내보낼 이벤트 범위를 여기서 고릅니다
  3. 하루쯤 지난 뒤 날짜별 표가 생겼는지 확인합니다
  4. 앞에서 적어 둔 질문 하나를 골라 답을 내 봅니다

여기서 가장 자주 놓치는 것이 둘째 단계의 시점입니다. 내보내기는 켠 시점부터 쌓이고 과거 데이터는 소급되지 않습니다. 9월에 켜면 8월치는 빅쿼리에 없고, 그 공백은 나중에 어떤 설정으로도 채우지 못합니다. GA4 화면에는 8월 숫자가 그대로 보이므로 공백을 알아차리는 시점도 늦습니다.

❓ 자주 묻는 질문

SQL을 몰라도 쓸 수 있나요?

연동을 켜고 표가 쌓이는 데까지는 SQL이 필요하지 않습니다. 다만 쌓인 원본에서 답을 꺼내려면 어느 시점에는 SQL이 필요한데, 처음부터 문법을 다 익히기보다 SELECT, WHERE, GROUP BY 세 가지만 알고 시작해도 하루 이벤트 수 세기 정도는 됩니다. 루커 스튜디오를 빅쿼리에 연결해 화면에서 항목을 끌어 쓰는 방법도 있지만, 접힌 매개변수를 다루려면 정리된 표를 한 번 만들어 두어야 합니다.

GA4 화면 숫자와 빅쿼리 숫자가 같게 나오나요?

정확히 같지 않은 경우가 흔합니다. GA4 화면의 사용자 수와 세션 수는 수집한 이벤트를 규칙에 따라 묶어 계산한 값이고, 빅쿼리 표에는 묶기 전 이벤트가 그대로 들어 있습니다. 여기에 화면 쪽에만 걸리는 표본 추출과 임계값까지 더해집니다. 둘을 맞추려면 세션을 어떻게 묶을지부터 같은 기준으로 정해야 합니다.

연동을 켜면 바로 비용이 나가나요?

저장과 조회 모두 무료로 쓸 수 있는 한도가 마련되어 있지만 그 크기는 시점마다 달라지므로, 켜기 전에 구글 클라우드 요금 문서에서 현재 한도를 확인하는 쪽이 안전합니다. 예산 알림을 먼저 걸어 두면 실수로 큰 질문을 던졌을 때 알아차릴 수 있습니다.

데이터 담당이 없는 팀도 필요할까요?

당장 쓸 사람이 없어도 내보내기만 켜 두는 선택은 해 볼 만합니다. 쌓이지 않은 기간은 나중에 되돌리지 못하는 반면 쌓아 두기만 하는 비용은 대체로 작고, 실제 분석은 필요해진 시점에 외부 도움을 받아도 늦지 않기 때문입니다.

📋 3줄 요약

  1. 빅쿼리(BigQuery)는 큰 데이터를 담아 두고 질문을 던져 답을 받는 구글의 데이터 창고 서비스입니다.

  2. GA4 화면은 미리 정해 둔 조합만 보여 주므로 원하는 조합이 화면에 없으면 빅쿼리에 쌓인 원본 이벤트에서 직접 만들어야 합니다.

  3. 내보내기는 켠 시점부터 쌓이고 과거 기간은 소급되지 않으므로 질문이 정해지기 전이라도 먼저 켜 두는 편이 안전합니다.

이 글이 도움이 되셨다면 공유해 주세요

메신저로 바로 보내거나 링크를 복사할 수 있습니다.

퀴즈

GA4에서 빅쿼리 내보내기를 오늘 처음 켰다면 지난달 데이터는 어떻게 될까요?

관련 인사이트

학습 진행

13 / 16
About the Author
Author
HI!

마케팅을 데이터로 설명하는 사람. 복잡한 상황을 이해 가능한 형태로 정리합니다.

GA4GTM퍼널분석
더 알아보기