# BigQuery 연동

GA4 속성을 BigQuery 프로젝트에 연결해 raw 이벤트 데이터를 적재하는 절차를 단계별로 안내합니다.

- 카테고리: GA4 기본 환경 설정
- 소요 시간: 약 5분
- 난이도: 중간
- 업데이트: 2026.05.09
- 원문: /wiki/playbook/ga4-setup-checklist/how-to-link-ga4-with-bigquery

## 목차

- [이 문서의 목적](#purpose)
- [1단계 · BigQuery 링크 진입](#step-1)
- [2단계 · 프로젝트 선택](#step-2)
- [3단계 · 위치 + 스트림](#step-3)
- [4단계 · 매일/스트리밍](#step-4)
- [5단계 · 제출](#step-5)
- [자주 묻는 질문](#faq)

본 가이드는 [**GA4 기본 환경 설정**](/wiki/playbook/ga4-setup-checklist)에 포함되는 항목으로, GA4 속성을 광고주의 Google Cloud 프로젝트에 연결해 **raw 이벤트 데이터를 BigQuery로 적재**하는 절차를 안내합니다. 사전 준비물은 광고주 측 Cloud 프로젝트([BigQuery 프로젝트 만들기](/wiki/playbook/account-creation-checklist/how-to-create-bigquery-project) 가이드 참고)와 결제 계정 연결입니다.

## 1단계. GA4 → 관리 → 제품 링크 → BigQuery 링크

대상 GA4 속성으로 진입한 뒤 좌측 하단 ⚙️ 관리 → 제품 링크 카테고리를 펼치고 BigQuery 링크를 클릭합니다. 기존에 연결된 프로젝트가 있다면 행으로 표시됩니다. 우측 상단 연결 버튼이 신규 등록 진입점입니다.

![GA4 관리 페이지의 ‘BigQuery 링크’ 화면. 좌측 메뉴 ‘제품 링크 → BigQuery 링크’가 활성화되어 있고, 본문 표 컬럼은 ‘프로젝트 ID / 프로젝트 이름 / 프로젝트 번호’이며 1개 행에 ‘hurdlers-web / Hurdlers-web / 738575764165’가 표시됨. 우측 상단에 ‘연결’ 버튼이 보임.](/wiki-assets/playbook/how-to-link-ga4-with-bigquery/01-bq-list.png)

> **화면 1.** 제품 링크 → **BigQuery 링크** 목록. 우측 상단 **연결**로 신규 등록.

## 2단계. ‘연결’ → BigQuery 프로젝트 선택

연결을 클릭하면 wizard가 시작됩니다. 첫 단계에서 **‘BigQuery 프로젝트 선택’**을 누르고, 광고주가 사전 준비한 Google Cloud 프로젝트를 골라 선택합니다. 본인 Google 계정에 해당 프로젝트의 **BigQuery 데이터 편집자(또는 소유자)** 권한이 있어야 목록에 보입니다.

> **팁**
>
> **프로젝트가 안 보일 때 —**광고주에게 Cloud 콘솔에서 본인 Google 계정에 해당 프로젝트의 IAM 권한(`roles/bigquery.dataEditor`이상)을 부여하도록 요청합니다. 광고주 Cloud 권한 초대 절차는[BigQuery 초대 가이드](/wiki/playbook/account-invitations-checklist/how-to-invite-users-to-bigquery)참고.

## 3단계. 데이터 위치 + 데이터 스트림 + 광고 식별자 선택

다음 단계에서 적재할 **데이터 위치(리전)**를 고릅니다(한국 광고주는 보통 `asia-northeast3 (Seoul)` 또는 `asia-east1`). 그 아래 **데이터 스트림 및 이벤트** 영역에서 내보낼 스트림과 제외할 이벤트를 정합니다. 기본은 **모든 스트림 + 모든 이벤트 내보내기**가 표준입니다. **모바일 앱 스트림의 광고 식별자 포함** 옵션도 필요 시 체크합니다.

![BigQuery 연결 편집 화면. 상단 ‘완료된 연결 세부정보’ 카드에 프로젝트 ID(hurdlers-web)·프로젝트 이름·프로젝트 번호·데이터 세트 생성 기본 위치(asia)·만든 사람(team@hurdlers.kr)·작성일이 표시되고, 아래 ‘데이터 구성’ 카드 안에 ‘데이터 스트림 및 이벤트’ 영역(0 일일 한도, 스트림 1개 중 1개 선택됨, 제외된 이벤트 없음), ‘모바일 앱 스트림의 광고 식별자 포함’ 체크박스, 그리고 ‘내보내기 유형’ 영역이 일부 보임.](/wiki-assets/playbook/how-to-link-ga4-with-bigquery/02-bq-detail.png)

> **화면 2.** 데이터 세트 위치·스트림·광고 식별자 선택.

## 4단계. ‘내보내기 유형’ — 매일 / 스트리밍

**매일**은 24시간 단위로 한 번에 데이터를 내보냅니다(무료 한도 내 운영 가능, 대부분의 광고주에게 표준). **스트리밍**은 1초 미만 단위 거의 실시간으로 적재되며 추가 비용이 발생합니다(이벤트당 BigQuery 스트리밍 삽입 비용).

![BigQuery 연결 화면 하단 부분. ‘내보내기 유형’ 카드에 두 체크박스가 있음 — ‘매일’(체크됨, ‘하루에 한 번 전체 데이터 내보내기’ 설명)과 ‘스트리밍(추가 비용)’(미체크, ‘1초 미만 단위 데이터’ 설명). 그 아래 ‘사용자 데이터’ 영역의 안내 문구가 일부 보임.](/wiki-assets/playbook/how-to-link-ga4-with-bigquery/03-bq-export.png)

> **화면 3.** 내보내기 유형 — **매일**이 표준, 실시간 분석이 필요한 경우만 **스트리밍** 추가.

> **팁**
>
> **비용 가이드 —**매일 내보내기는 BigQuery 무료 한도(월 10GB 저장 + 1TB 쿼리)에 들어맞아 일평균 사용자 수만 명 수준의 광고주는 사실상 무료. 스트리밍은 매일에 비해 비용이 빠르게 누적되니 광고주 합의 후 ON.

## 5단계. 검토 후 제출

wizard 마지막에서 선택한 옵션을 검토한 뒤 제출을 눌러 등록을 완료합니다. 등록 즉시 BigQuery 측 프로젝트에 `analytics_<property_id>` 데이터셋이 생성되며, **그 다음 날부터** `events_YYYYMMDD` 테이블이 매일 추가됩니다.

> **완료**
>
> **등록 직후엔 데이터가 비어 있는 게 정상입니다.** 매일 내보내기는 24~48시간 후 첫 테이블이 생성됩니다. 이후`BigQuery 콘솔 → 광고주 프로젝트 → analytics_<property_id> 데이터셋 → events_*`에서 raw 이벤트를 확인할 수 있습니다.

## 자주 묻는 질문

### 데이터 위치는 무엇으로 두는 게 좋나요?

광고주가 한국에서만 운영한다면 `asia-northeast3 (Seoul)`이 표준입니다. 글로벌 사이트라면 미국(`us`) 같은 멀티 리전을 골라도 됩니다. **한 번 선택하면 변경 불가**이므로 신중히. 변경하려면 연결을 삭제하고 새로 등록해야 합니다.

### 기존 GA 데이터도 BigQuery에 채워지나요?

아니요. **연결 시점 이후 들어오는 이벤트**부터 적재됩니다. 과거 데이터는 채워지지 않으니 가능한 한 운영 시작과 동시에 연결을 끝내는 게 좋습니다.

### 매일 vs 스트리밍, 둘 다 켜면 어떻게 되나요?

둘 다 켜면 같은 데이터가 두 곳에 적재됩니다 — `events_YYYYMMDD`는 매일 적재본, `events_intraday_YYYYMMDD`는 그날 진행 중인 스트리밍 적재본. 분석 시 ‘완성된 어제까지’는 매일 테이블, ‘오늘 실시간’은 intraday 테이블을 사용합니다.

### BigQuery 비용이 갑자기 커지면?

대부분 쿼리 비용입니다. 분석 시 `SELECT *` 대신 필요한 컬럼만 가져오고, **이벤트 날짜 파티션**(`_TABLE_SUFFIX BETWEEN...`)으로 범위를 좁히면 즉시 절감됩니다. 광고주 측에서는 GCP 결제 알림으로 월 비용 임계값을 걸어두면 안전합니다.

## Navigation

- [전체 플레이북 Markdown sitemap](/wiki/playbook/sitemap.md)

### GA4 기본 환경 설정

- [GA4 기본 환경 설정](/wiki/playbook/ga4-setup-checklist)
- [GA4 데이터 보관 설정](/wiki/playbook/ga4-setup-checklist/how-to-set-ga4-data-retention)
- [GA4 · 서치콘솔 연동하기](/wiki/playbook/ga4-setup-checklist/how-to-link-ga4-with-search-console)
- [GA4 향상된 측정 이벤트 끄기](/wiki/playbook/ga4-setup-checklist/how-to-disable-ga4-enhanced-measurement)
- [소스/매체 레퍼럴 제외](/wiki/playbook/ga4-setup-checklist/how-to-exclude-referrals-in-ga4)
- [IP 제외 설정](/wiki/playbook/ga4-setup-checklist/how-to-exclude-internal-ip-in-ga4)
- [교차 도메인 설정](/wiki/playbook/ga4-setup-checklist/how-to-set-up-cross-domain-measurement-in-ga4)
- [Google 신호 데이터 수집](/wiki/playbook/ga4-setup-checklist/how-to-enable-google-signals-data-collection)
- [BigQuery 연동](/wiki/playbook/ga4-setup-checklist/how-to-link-ga4-with-bigquery) (현재 문서)
- [Google Ads 연동](/wiki/playbook/ga4-setup-checklist/how-to-link-ga4-with-google-ads)
- [Firebase 연동](/wiki/playbook/ga4-setup-checklist/how-to-link-ga4-with-firebase)
- [주요 이벤트 설정](/wiki/playbook/ga4-setup-checklist/how-to-mark-key-events-in-ga4)
- [GA4 기본 태그 설치 확인하기](/wiki/playbook/ga4-setup-checklist/ga4-base-tag-installation-checklist)
- [디버그뷰로 GA4 태그 확인하기](/wiki/playbook/ga4-setup-checklist/how-to-check-ga4-tags-with-debugview)
- [GA4 Debugger 확장으로 태그 확인하기](/wiki/playbook/ga4-setup-checklist/how-to-check-ga4-tags-with-debugger-extension)
