Bigquery란?
Bigquery는 Google Cloud Platform에 있는 데이터 웨어하우스 서비스로 이곳에 데이터를 저장하고 조회할 수 있습니다. 구글의 우수한 컴퓨팅 자원과 기술이 적용되었기 때문에 대용량의 데이터를 빠르게 처리할 수 있다는 특징이 있습니다.
Google Analytics 4의 이전 버전인 Universial Analytics에서는 GA360이라는 유료 버전을 사용해야지만 Bigquery와 연결이 가능했었습니다. 아무래도 유료 버전의 가격대가 좀 있다보니 많은 사용자들이 이전에는 Bigquery를 연결할 수 없었습니다. Bigquery를 애용했던 저로써는 이번 Google Analytics 4의 Bigquery 연결 기능 지원이 정말 희소식이 아닐 수가 없습니다.
Bigquery와 GA4를 연결하는 이유는?
우리가 구글 애널리틱스 보고서에서 조회하는 데이터는 대부분 집계(Aggregation)된 데이터입니다.
아래의 이미지를 보면 좌측에는 A, B, C라는 각각의 사용자가 있습니다. 이들을 집계하면 3명이라는 결과를 얻을 수 있습니다. 만약에 성별을 기준으로 집계한다면 남성 2명, 여성 1명이라는 결과를 얻을 수 있을 것입니다. 여기서 좌측은 집계되지 않은 데이터, 우측은 집계된 데이터라고 할 수 있습니다.
구글 애널리틱스와는 다르게 Bigquery에는 집계되지 않은 Raw 데이터가 저장됩니다. 이 데이터를 갖고 무엇을 할 수 있을까요? 아래는 빅쿼리 활용과 관련된 간단한 예시입니다.
- 구글 애널리틱스에 수집된 데이터를 수정하고 유형화하는 등 데이터를 자유롭게 가공하여 분석할 수 있습니다.
- 구글 애널리틱스에 User ID를 수집했다면 Bigquery의 데이터와 CRM 또는 오프라인 데이터를 연결하여 분석할 수 있습니다.
- Bigquery에서 사용자를 기준으로 데이터를 가공하고 이를 머신러닝에 활용하여 전환 가능성이 높은 사용자들을 예측할 수 있습니다.
결과적으로 Bigquery를 사용하면 구글 애널리틱스에서는 할 수 없었던 다양한 분석들을 할 수 있습니다.
Bigquery 연결하기
1. Bigquery 프로젝트 생성
Bigquery를 연결하기 위해서는 Bigquery에 접속하여 Google Cloud Platform에 프로젝트를 생성해야 합니다. Bigquery 화면 상단에 있는 [프로젝트 선택]을 클릭합니다.
팝업창에서 [새 프로젝트]를 클릭합니다.
프로젝트 생성 화면에서 [프로젝트 이름]을 아래 예시를 참고하여 입력하고 [만들기] 버튼을 클릭합니다.
프로젝트가 생성이 완료되면 아래와 같이 생성한 프로젝트로 설정이 됩니다. 그리고 상단에 [샌드박스]라는 표시와 함께 알림 메시지가 노출이 되는데, 이게 무슨 의미인지 간단하게 알아보겠습니다.
샌드박스는 Bigquery의 체험판으로 프로젝트에 결제를 활성화(신용카드 등록)하면 정식 버전으로 변경됩니다.
결제를 활성화한다고 해서 무조건 비용이 발생하는 건 아닙니다. Bigquery에서 무료로 제공해 주는 기본 한도 내에서만 사용한다면 결제를 활성화해도 비용이 청구되지 않습니다. 기본으로 제공하는 한도도 넉넉한 편이라 데이터가 지나치게 많지 않다면 결제를 활성화하고 사용하는 방식도 권장합니다.
참고. 한도와 Bigquery 가격에 대한 정보는 이 링크를 참고하세요.
샌드박스의 대표적인 제약사항은 다음과 같습니다.
- 테이블이 생성된 후 60일이 지나면 삭제됩니다.
- 매월 10GB의 활성 스토리지를 지원하며, 쿼리 데이터를 1TB만 사용할 수 있습니다.
- 자세한 한도에 대한 내용은 이 링크를 참고하세요.
위에서 언급한 대로 샌드박스는 60일이 지난 데이터를 삭제하므로 데이터를 지속적으로 저장하고 관리해야 할 경우에는 결제를 활성화하여 사용해야 합니다.
2. GA4에서 Bigquery 연결하기
프로젝트 생성을 완료했으니, 이제 구글 애널리틱스 4의 관리 화면으로 이동하여 [BigQuery 연결]을 클릭합니다.
이동한 화면에서 [연결]을 클릭합니다.
연결 화면에서 [Bigquery 프로젝트 선택하기]를 클릭합니다.
앞서 Google Cloud Platform에서 생성한 프로젝트가 목록에 뜹니다. 이것을 선택하고 [확인] 버튼을 누릅니다.
데이터 위치는 거주지와 가까운 지역으로 선택합니다.
다음 단계에서는 Bigquery로 데이터를 내보낼 데이터 스트림을 선택합니다.
다음으로 빈도라는 항목이 있는데, [스트리밍]은 Google Cloud Platform에서 결제를 활성화 한 경우에만 사용이 가능합니다. 추가적으로 [매일]과 [스트리밍]을 동시에 설정하여 사용할 수도 있습니다.
빈도의 각 항목별 특징은 다음과 같습니다.
- 매일 : 하루에 한 번씩 전 날의 데이터를 내보냅니다. 내보내는 시간은 불규칙적이지만 보통은 오전 내에 대부분 완료됩니다.
- 스트리밍 : 데이터를 실시간으로 내보냅니다. 실시간으로 계속해서 데이터를 내보내다 보니, 내보내는 시점에 따라 동일한 데이터가 지속적으로 쌓이게 됩니다. 이로 인해서 실제 데이터보다 많은 양의 저장 공간을 사용합니다.
마지막 단계에서 설정한 내용들을 검토하고 [보내기] 버튼을 클릭하면 연결이 완료됩니다.
3. Bigquery 테이블 확인하기
모든 설정이 끝났으면 GA4가 Bigquery에 데이터를 전송할 때까지 24시간을 기다려야합니다. 시간이 지나면 아래와 같이 Bigquery 화면에 GA4 데이터 테이블이 생성된 것을 확인할 수 있습니다.
이제 쿼리 편집기를 통해서 SQL을 사용하여 데이터를 마음껏 조회할 수 있습니다!
빅쿼리를 연동해서 사용하고 있는데요. 말씀하신대로 데이터가 60일만 쌓입니다. 해당 기간을 1년 정도로 길게 하려면 유료결제를 해야 하는 것으로 알고 있는데요. 유료결제 후 어떻게 빅쿼리 환경설정을 바꿔야 하나요?
업그레이드가 완료된 후에는 빅쿼리의 날짜별 테이블들의 만기일을 하나씩 모두 제거해주셔야 해요! 이걸 변경을 안하시면 이전에 쌓인 테이블은 만기일이 끝나면 제거됩니다! 이후에 쌓이는 테이블들은 만기일 설정이 안되어있어서, 이 작업은 한번만 해주시면 됩니다.
안녕하세요! 오늘 다시 확인해보니, 테이블 만기일을 하나씩 제거하면 그 이 후에 쌓이는 테이블은 만기일 설정이 안되어있다고 하셨는데요, 오늘 들어가서 확인해보니 만가일이 설정되어 있습니다 ㅠ. 앞으로도 일일히 만기일을 수동으로 해제 해야 하는 것일까요?
안녕하세요! 테이블에서 만기일 조정 후, 데이터셋에 설정된 만기일도 제거해야합니다. 이미지와 같이 현재는 60일로 설정되어 있으실꺼에요! 혼선을 드려 죄송합니다 ㅎㅎ
오옷! 한줄기 희망이 보이네요! 바로 적용해 보겠습니다! ㅎㅎ
@문주혜
안녕하세요! 빅쿼리를 유료 버전으로 전환하는 방법은 빅쿼리 화면의 상단의 알림바를 통해 가능합니다. 이때 결제 정보를 등록만 하면 되는데, 이 등록한 정보로 금액이 매달 청구됩니다.
결제 정보 등록 후 이 알림바가 보이지 않는다면 현재 업그레이드가 완료된 상태라고 이해하시면 됩니다.
오맛! 상세한 답변 너무너무 감사합니다!! 확인해 보겠습니다!! ㅎㅎㅎㅎ
안녕하세요! 답변 주신 내용으로, 만료일 설정 변경하고 데이터 확인하려고 합니다! 저는 구글 빅쿼리를 스프레드시트와 연동해서 사용하고 있습니다. 데이터 기준이 06.06~08.03 날짜만 보이는데요. 06.06 이전 데이터는 더이상 확인할 수 없는 것일까요? 해당 보고서를 5월1일부터 만들었는데 5월 데이터 부터 현재까지의 데이터로 보고 싶습니다. (기존 데이터는 날아간 것일까요?ㅠ)
@쥬르댕 님, 안녕하세요!
아쉽지만 삭제된 후 48시간이 지난 데이터는 복구가 불가능해요ㅠ 자세한 내용은 아래 링크에서 확인이 가능합니다!
– https://cloud.google.com/bigquery/docs/sandbox#troubleshooting_the_sandbox
아 그렇군요~데이터가 삭제된 후 48시간이 지나면 복구가 힘들다는 것이지요? 만료일 설정을 해제 했으니 앞으로는 그럼 데이터가 차곡차곡 쌓이는 것이겠지요? 오늘 확인해보니 61일 데이터가 쌓여있네요~!
@쥬르댕 넵! 이후 데이터부터는 문제없이 쌓이실꺼에요~
안녕하세요! 빅쿼리 60일 기간 제한을 해결하기 위해, 말씀하신 빅쿼리에서 데이터셋 및 기간별로 테이블 만료일을 모두 삭제했는데요. 이 작업 다 완료하고 나니 테이블 정보에서 08-10까지만 보이고, 08-11은 보이지가 않습니다. (아마도 데이터 셋 정보를 수정하고 그러는 것 같은 느낌적인 느낌입니다만…) 이 부분은 어떻게 해결하는 것일까요? ㅠ
@문주혜
빅쿼리 테이블은 생성시점이 정해져있지 않아서요. 일반적으로는 전날의 데이터에 대한 테이블이 오전 내에 생성이 되지만, 오후 또는 저녁에 생성되는 경우도 종종 발생합니다.
아직 샌드박스(60일 기간 제한이 걸려있는 버전)인 제 계정도 테이블이 10일치까지 밖에 생성이 안되어있네요! 빅쿼리 서버 측의 작업이 지연되는 것으로 보입니다! 좀만 더 기다려보시죠!
넵! 기다려 보겠습니다! 갑사합니다!
연결 완료입니다! 감사합니다!
@바나나
이제 본격적으로 쿼리 활용하시겠네요! ㅎㅎ 축하드려요
이제 이 연결은 360을 결제해야 연결 가능한 것으로 바뀌었나요?
@John Burr
아니요, GA4 무료 버전도 Bigquery를 사용하실 수 있습니다!
유튜브를 보고 또 검색을 하면
https://www.openads.co.kr/content/contentDetail?contsId=7428
이렇게 api 연동까지 해야 한다고 되어 있는데 맞을까요?
안녕하세요, twinpix님!
콘텐츠를 작성했을 시점에는 연결만하면 해당 설정들이 자동으로 셋팅됐던 것으로 기억합니다. 첨부해주신 링크에서도 "확인"하는 용도로 api를 언급한 것이므로, 연결 후 해당 페이지에서 사용 설정이 되어있는지 "확인"만 진행하셔도 될 것 같습니다 🙂
빅쿼리 유료플랜이 2가지가 있는거 같은데요, 하나는 정액제(월단위)이고 하나는 용량구매(TB단위)로 보이네요. GA4에서 1년까지 기간이 늘어나게 하려면 월단위를 사용해야 하나요? 아니면 용량구매로도 가능한가요?
안녕하세요, 이경민님!
빅쿼리 가격 측정 방식은 크게 [분석 가격 책정], [스토리지 가격 책정]로 나뉩니다.
[분석 가격 책정]은 쿼리 비용에 대한 요금을 측정하는 방식으로 [정액제]와 [슬롯(가상 CPU)]을 구매하는 두 가지 유형이 있습니다.
[스토리지 가격 책정]은 빅쿼리에 저장되는 데이터에 대한 비용이 측정되는 것으로 위에 언급된 [분석 가격 책정]과는 별도로 요금이 청구됩니다.
문의주신 "GA4에서 1년까지 기간이 늘어나게 하려면"(?)이라는 내용은 빅쿼리 상에서 데이터가 유지되는 기간에 대한 질문으로 이해됩니다.(GA4와 Bigquery 데이터 기간은 무관합니다) 유료플랜을 사용하시면 데이터는 별도로 삭제하지 않는 이상 지속적으로 Bigquery에 남아 있으며, 사용하는 스토리지의 양 만큼 요금이 청구되게 됩니다. GA4의 데이터가 누적된다면 그만큼 월마다 청구되는 스토리지 비용이 늘어나는 구조입니다.
추가적으로 가격에 대한 내용이 더 궁금하시다면 아래 링크를 참고해 보세요 🙂
안녕하세요 좋은 글 감사히 봤습니다.
여쭤볼 것이 있습니다.
최근에 말씀처럼 빅쿼리 유료계정으로 업그레이드 했습니다.
빅쿼리의 유료결제인 경우 '주문형 분석 가격'과 '정액제'가 있는 것을 봤습니다.
빅쿼리 샌드박스를 업그레이드 하는 경우, 자동으로 '주문형'으로 등록되는 것일까요?
두번째로 여쭤볼 것이 있습니다.
'주문형' 가격 정책에 '매월 처리되는 쿼리 데이터 중 최초 1TB는 무료입니다.' 이런 말이 있는 것을 봤습니다.
이 말이 1TB 이상의 쿼리를 한 번에 조회하는 경우 비용이 발생하고, 20GB*50번 하는 경우는 비용이 발생하지 않는 것으로 알고 있는데 맞을까요?
안녕하세요, 조대희님!
업그레이드를 하시게 되면 자동으로 '주문형 분석 가격'이 됩니다. 정액제의 경우에는 [Bigquery 예약]이라는 기능을 사용해서 사용할 수 있습니다.
두번째는 매월 1TB의 쿼리 사용량을 무료로 제공해주는 것이기 때문에, 1TB 이상의 쿼리 데이터를 사용하면 그 차이만큼 비용이 발생하는 것으로 알고 있습니다. 20GB*50번을 사용하면 1TB를 넘지 않기 때문에 해당 비용이 발생하지 않구요 🙂
깔끔한 답변 감사합니다!
처리되는 쿼리 데이터 중 1TB라고 했으니 한 번에 조회하든, 나눠서 조회하든 처리량을 기준으로 1TB가 넘게 되면 무조건 비용이 발생되는 것이군요.
추가적으로 첨부해주신 Bigquery 예약도 감사히 잘 보겠습니다.
감사합니다!
넵, 좋은 하루 보내세요~~! 🙂
gq 데모계정 google merch shop 데이터를 빅쿼리에 연동해서 사용 가능한가요?
안녕하세요, KSH님
google merch shop은 권한이 없기 때문에 구글이 아닌 타 사용자가 빅쿼리 연동을 할 수 없습니다.
빅쿼리에 있는 GA4데이터를 보려고 하는데 전일날짜(7/3)의 데이터가 아니라 5월 26일부터 20일간의 데이터(6/16까지)만 있네요. GA4 데이터를 자동으로 가져오는 부분에서 설정이 가는한게 있나요?
세부정보 수정부분에서 만료일자를 더 늦추면 혹시 변경 될까요?;;
안녕하세요, 조경진님
제가 봤을 때는 전일 날짜에 대한 테이블조차 생성되지 않은 상황이라면, 만료일자가 문제가 아닌 GA4가 Bigquery로 데이터를 내보내지 못하는게 문제인 것으로 보입니다.
누군가가 Google Cloud Platform의 설정을 잘못 건드렸는지 아니면 GA4의 Bigquery 연결 기능이 제대로 설정되어 있는지 먼저 확인이 필요해보입니다. 살펴보셨을때 눈에 띄는 원인이 없다면 Bigquery 연결을 해제한 후 다시 연결해보시는 것을 추천드려요 🙂