[GA4] BigQuery Export 스키마

이 자료에는 BigQuery로 내보낸 Google 애널리틱스 4 속성 데이터와 Firebase용 Google 애널리틱스 데이터의 형식 및 스키마에 대한 설명이 나와 있습니다.

데이터 세트

각 Google 애널리틱스 4 속성과 BigQuery에 연결된 각 Firebase 프로젝트에 대해 'analytics_ <property_id>'라는 단일 데이터 세트가 BigQuery 프로젝트에 추가됩니다. 속성 ID는 Google 애널리틱스 4 속성의 속성 설정과 Firebase의 앱 애널리틱스 설정에서 찾을 수 있는 애널리틱스 속성 ID를 나타냅니다. BigQuery 내보내기가 사용 설정된 각 Google 애널리틱스 4 속성과 각 앱은 해당 데이터를 단일 데이터 세트로 내보냅니다.

일일 내보내기 옵션을 사용 설정하면 각 데이터 세트 내에 events_YYYYMMDD라는 표가 매일 생성됩니다.

스트리밍 내보내기 옵션을 사용 설정하면 events_intraday_YYYYMMDD라는 표가 생성됩니다. 이 표에는 모든 일간 이벤트가 기록되므로 지속적으로 내용이 채워집니다. 이 표는 events_YYYYMMDD가 완료되면 하루가 끝나는 시점에 매일 삭제됩니다.

이벤트가 트리거된 모든 기기에서 이벤트가 트리거된 당일에 Google 애널리틱스로 데이터를 전송하는 것은 아닙니다. 이 지연 시간을 고려하여 애널리틱스에서 일별 표(이벤트_YYYYMMDD)를 이벤트 날짜 후 최대 3일의 이벤트로 업데이트합니다. 늦게 도착해도 이벤트에 올바른 타임스탬프가 표시됩니다. 3일 이후에 도착하는 이벤트는 기록되지 않습니다.

 

BigQuery 샌드박스를 사용하는 경우 일중 이벤트 가져오기를 실행하지 않으며 추가 제한이 적용됩니다.

일중 가져오기를 실행하려는 경우 샌드박스에서 업그레이드합니다.

events_YYYYMMDD 표의 각 열은 이벤트별 매개변수를 나타냅니다. 일부 매개변수는 레코드 내에서 중첩되며 items, event_params와 같은 일부 레코드는 반복 가능합니다. 표의 열은 아래에 설명되어 있습니다.

event
event 필드에는 이벤트를 고유하게 식별하는 정보가 포함됩니다.
필드 이름 데이터 유형 설명
event_date 문자열 이벤트가 기록된 날짜(앱에 등록된 시간대의 YYYYMMDD 형식)
event_timestamp 정수 클라이언트에서 이벤트가 기록된 시간(단위: 마이크로초, UTC)
event_previous_timestamp 정수 클라이언트에서 이전에 이벤트가 기록된 시간(단위: 마이크로초, UTC)
event_name 문자열 이벤트 이름
event_value_in_usd 부동 소수점 수 이벤트의 'value' 매개변수에 관한 통화 전환 값(미국 달러)
event_bundle_sequence_id 정수 이벤트가 업로드된 번들의 순차 ID
event_server_timestamp_offset 정수 수집 시간과 업로드 시간 간의 타임스탬프 시차(단위: 마이크로초)

event_params 레코드

event_params 레코드는 캠페인 수준 및 문맥 이벤트 매개변수와 사용자 정의 이벤트 매개변수를 저장할 수 있습니다. 이벤트와 연결된 각 키에 대해 event_params 레코드가 반복됩니다.

event_params 레코드에 저장된 일련의 매개변수는 각 구현마다 고유합니다. 구현에 대한 이벤트 매개변수의 전체 목록을 보려면 이벤트 매개변수 목록을 쿼리하세요. 

필드 이름 데이터 유형 설명
event_params.key 문자열 이벤트 매개변수의 이름
event_params.value 레코드 이벤트 매개변수 값을 포함한 레코드
event_params.value.string_value 문자열 이벤트 매개변수가 URL이나 캠페인 이름과 같은 문자열로 표시되면 이 필드에 채워집니다.
event_params.value.int_value 정수 이벤트 매개변수가 정수로 표시되면 이 필드에 채워집니다.
event_params.value.double_value 부동 소수점 수 이벤트 매개변수가 이중 값으로 표시되면 이 필드에 채워집니다.
event_params.value.float_value 부동 소수점 수 이벤트 매개변수가 부동 소수점 값으로 표시되면 이 필드에 채워집니다. 이 필드는 현재 사용되지 않습니다.

item_params 레코드

item_params 레코드는 항목 매개변수와 모든 사용자 정의 항목 매개변수를 저장할 수 있습니다. item_params 레코드에 저장된 일련의 매개변수는 각 구현마다 고유합니다.

필드 이름 데이터 유형 설명
item_params.key 문자열 항목 매개변수의 이름
item_params.value 레코드 항목 매개변수의 값을 포함한 레코드
item_params.value.string_value 문자열 항목 매개변수가 문자열로 표시되면 이 필드에 채워집니다.
item_params.value.int_value 정수 항목 매개변수가 정수로 표시되면 이 필드에 채워집니다.
item_params.value.double_value 부동 소수점 수 항목 매개변수가 이중 값으로 표시되면 이 필드에 채워집니다.
item_params.value.float_value 부동 소수점 수 항목 매개변수가 부동 소수점 값으로 표시되면 이 필드에 채워집니다.
user
user 필드에는 이벤트와 연결된 사용자를 고유하게 식별하는 정보가 포함됩니다.
필드 이름 데이터 유형 설명
is_active_user 불리언

해당 날짜의 어느 시점에서든 사용자가 활성(참) 또는 비활성(거짓) 상태였는지 여부

일일 테이블(events_YYYYMMDD)에만 포함됩니다.

user_id 문자열 사용자에게 할당된 고유 ID
user_pseudo_id 문자열 사용자의 가명처리된 ID(예: 앱 인스턴스 ID)
user_first_touch_timestamp 정수 사용자가 처음 앱을 열었거나 사이트를 방문한 시간(마이크로초)

privacy_info 필드

privacy_info 필드에는 동의 모드가 사용 설정된 경우 사용자의 동의 상태에 기반한 정보가 포함됩니다.
필드 이름 데이터 유형 설명
privacy_info.ads_storage 문자열

사용자에 대한 광고 타겟팅 사용 설정 여부

가능한 값: 예, 아니요, 설정되지 않음

privacy_info.analytics_storage 문자열

사용자에 대한 애널리틱스 스토리지 사용 설정 여부

가능한 값: 예, 아니요, 설정되지 않음

privacy_info.uses_transient_token 문자열

웹 사용자가 애널리틱스 스토리지를 거부하고 개발자가 서버 데이터의 임시 토큰을 기반으로 쿠키 없이 측정을 사용 설정했는지 여부

가능한 값: 예, 아니요, 설정되지 않음

user_properties 레코드

user_properties 레코드에는 사용자가 설정한 사용자 속성이 포함됩니다. 이 키는 사용자와 연결된 각 키에 대해 반복됩니다.
필드 이름 데이터 유형 설명
user_properties.key 문자열 사용자 속성의 이름
user_properties.value 레코드 사용자 속성 값에 관한 레코드
user_properties.value.string_value 문자열 사용자 속성의 문자열 값
user_properties.value.int_value 정수 사용자 속성의 정수 값
user_properties.value.double_value 부동 소수점 수 사용자 속성의 이중 값
user_properties.value.float_value 부동 소수점 수 현재 사용되지 않는 필드
user_properties.value.set_timestamp_micros 정수 사용자 속성이 마지막으로 설정된 시간(단위: 마이크로초)

user_ltv 레코드

user_ltv 레코드에는 사용자의 평생 가치 정보가 포함됩니다. 일중 표에서는 이 레코드가 채워지지 않습니다.
필드 이름 데이터 유형 설명
user_ltv.revenue 부동 소수점 수 사용자의 평생 가치(수익). 일중 표에서는 이 필드가 채워지지 않습니다.
user_ltv.currency 문자열 사용자의 평생 가치(통화). 일중 표에서는 이 필드가 채워지지 않습니다.
device
device 레코드에는 이벤트가 발생한 기기에 대한 정보가 포함됩니다.
필드 이름 데이터 유형 설명
device.category 문자열 기기 카테고리(모바일, 태블릿, 데스크톱)
device.mobile_brand_name 문자열 기기 브랜드 이름
device.mobile_model_name 문자열 기기 모델 이름
device.mobile_marketing_name 문자열 기기 마케팅 이름
device.mobile_os_hardware_model 문자열 운영체제에서 직접 검색한 기기 모델 정보
device.operating_system 문자열 기기의 운영체제
device.operating_system_version 문자열 OS 버전
device.vendor_id 문자열 IDFV(IDFA가 수집되지 않은 경우에만 표시)
device.advertising_id 문자열 광고 ID/IDFA
device.language 문자열 OS 언어
device.time_zone_offset_seconds 정수 GMT와의 시차(단위: 초)
device.is_limited_ad_tracking 불리언

기기의 광고 추적 제한 설정

iOS 14 이상에서 IDFA가 0이 아니면 false를 반환합니다.

device.web_info.browser 문자열 사용자가 콘텐츠를 본 브라우저
device.web_info.browser_version 문자열 사용자가 콘텐츠를 본 브라우저의 버전
device.web_info.hostname 문자열 로그된 이벤트와 연결된 호스트 이름

geo

geo 레코드에는 이벤트가 시작된 지리적 위치에 대한 정보가 포함됩니다.
필드 이름 데이터 유형 설명
geo.continent 문자열 이벤트가 보고된 대륙(IP 주소 기준)
geo.sub_continent 문자열 이벤트가 보고된 아대륙(IP 주소 기준)
geo.country 문자열 이벤트가 보고된 국가(IP 주소 기준)
geo.region 문자열 이벤트가 보고된 지역(IP 주소 기준)
geo.metro 문자열 이벤트가 보고된 대도시(IP 주소 기준)
geo.city 문자열 이벤트가 보고된 도시(IP 주소 기준)
app_info
app_info 레코드에는 이벤트가 시작된 앱에 대한 정보가 포함됩니다.
필드 이름 데이터 유형 설명
app_info.id 문자열 앱의 패키지 이름 또는 번들 ID
app_info.firebase_app_id 문자열 앱과 연결된 Firebase 앱 ID
app_info.install_source 문자열 앱을 설치한 스토어
app_info.version 문자열 앱의 버전 이름(Android) 또는 약식 번들 버전
collected_traffic_source

collection_traffic_source 레코드에는 이벤트와 함께 수집된 트래픽 소스 데이터가 포함됩니다.

필드 이름 데이터 유형 설명
manual_campaign_id 문자열 이벤트와 함께 수집된 수동 캠페인 ID(utm_id)
manual_campaign_name 문자열 이벤트와 함께 수집된 수동 캠페인 이름(utm_campaign)
manual_source 문자열 이벤트와 함께 수집된 수동 캠페인 소스(utm_source) UTM 값뿐만 아니라 추천 매개변수에서 파싱된 매개변수도 포함됩니다. 
manual_medium 문자열 이벤트와 함께 수집된 수동 캠페인 매체(utm_medium) UTM 값뿐만 아니라 추천 매개변수에서 파싱된 매개변수도 포함됩니다.
manual_term 문자열 이벤트와 함께 수집된 수동 캠페인 키워드/용어(utm_term)
manual_content 문자열 이벤트와 함께 수집된 추가 수동 캠페인 메타데이터(utm_content)
gclid 문자열 이벤트와 함께 수집된 Google 클릭 식별자
dclid 문자열 이벤트와 함께 수집된 Google Marketing Platform(GMP) 식별자
srsltid  문자열 이벤트와 함께 수집된 Google 판매자 센터 식별자
traffic_source

traffic_source 레코드에는 사용자를 처음 획득한 트래픽 소스에 대한 정보가 포함됩니다. 일중 표에서는 이 레코드가 채워지지 않습니다.

참고: 사용자가 설치 후 후속 캠페인과 상호작용하면 traffic_source 값이 변경되지 않습니다.

필드 이름 데이터 유형 설명
traffic_source.name 문자열 사용자를 최초로 획득한 마케팅 캠페인의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
traffic_source.medium 문자열 사용자를 최초로 획득한 매체(유료 검색, 자연 검색, 이메일 등)의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
traffic_source.source 문자열 사용자를 최초로 획득한 네트워크의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
stream and platform
stream and platform 필드에는 스트림 및 앱 플랫폼에 대한 정보가 포함됩니다.
필드 이름 데이터 유형 설명
stream_id 문자열 이벤트가 발생한 데이터 스트림의 숫자 ID
platform 문자열 이벤트가 발생한 데이터 스트림 플랫폼(웹, iOS 또는 Android)
ecommerce
ecommerce 레코드에는 웹사이트 또는 앱에서 설정된 모든 전자상거래 이벤트에 대한 정보가 포함됩니다.
필드 이름 데이터 유형 설명
ecommerce.total_item_quantity 정수 이벤트의 총 상품 수(items.quantity의 총합)
ecommerce.purchase_revenue_in_usd 부동 소수점 수 이벤트의 구매 수익(표준 단위와 함께 USD로 표시됨) 구매 이벤트에 대해서만 채워집니다.
ecommerce.purchase_revenue 부동 소수점 수 이벤트의 구매 수익(표준 단위와 함께 현지 통화로 표시됨) 구매 이벤트에 대해서만 채워집니다.
ecommerce.refund_value_in_usd 부동 소수점 수 이벤트의 환불 금액(표준 단위와 함께 USD로 표시됨) 환불 이벤트에 대해서만 채워집니다.
ecommerce.refund_value 부동 소수점 수 이벤트의 환불 금액(표준 단위와 함께 현지 통화로 표시됨) 환불 이벤트에 대해서만 채워집니다.
ecommerce.shipping_value_in_usd 부동 소수점 수 이벤트의 배송 비용(표준 단위와 함께 USD로 표시됨)
ecommerce.shipping_value 부동 소수점 수 이벤트의 배송 비용(현지 통화로 표시됨)
ecommerce.tax_value_in_usd 부동 소수점 수 이벤트의 세금(표준 단위와 함께 USD로 표시됨)
ecommerce.tax_value 부동 소수점 수 이벤트의 세금(표준 단위와 함께 현지 통화로 표시됨)
ecommerce.transaction_id 문자열 전자상거래의 거래 ID입니다.
ecommerce.unique_items 정수 이벤트의 고유 상품 수(item_id, item_name, item_brand 기준)
items
items 레코드에는 이벤트에 포함된 상품에 대한 정보가 포함됩니다. 이 레코드는 각 상품에 대해 반복됩니다.
필드 이름 데이터 유형 설명
items.item_id 문자열 상품의 ID
items.item_name 문자열 상품의 이름
items.item_brand 문자열 상품의 브랜드
items.item_variant 문자열 상품의 옵션
items.item_category 문자열 상품의 카테고리
items.item_category2 문자열 상품의 하위 카테고리
items.item_category3 문자열 상품의 하위 카테고리
items.item_category4 문자열 상품의 하위 카테고리
items.item_category5 문자열 상품의 하위 카테고리
items.price_in_usd 부동 소수점 수 상품 가격(표준 단위와 함께 USD로 표시됨)
items.price 부동 소수점 수 상품 가격(현지 통화로 표시됨).
items.quantity 정수 상품 수량. 지정하지 않을 경우 1로 설정됩니다.
items.item_revenue_in_usd 부동 소수점 수 상품 수익(price_in_usd * 수량으로 계산됨) 구매 이벤트에 대해서만 채워집니다(표준 단위와 함께 USD로 표시됨).
items.item_revenue 부동 소수점 수 상품 수익(가격 * 수량으로 계산됨) 구매 이벤트에 대해서만 채워집니다(표준 단위와 함께 현지 통화로 표시됨).
items.item_refund_in_usd 부동 소수점 수 상품의 환불 금액(price_in_usd * 수량으로 계산됨) 환불 이벤트에 대해서만 채워집니다(표준 단위와 함께 USD로 표시됨)
items.item_refund 부동 소수점 수 상품의 환불 금액(가격 * 수량으로 계산됨) 환불 이벤트에 대해서만 채워집니다(표준 단위와 함께 현지 통화로 표시됨).
items.coupon 문자열 상품에 적용되는 쿠폰 코드
items.affiliation 문자열 공급 회사 또는 오프라인 매장 위치를 지정하는 제품 제휴사
items.location_id 문자열 상품과 연결된 위치
items.item_list_id 문자열 상품이 사용자에게 표시된 목록 ID
items.item_list_name 문자열 상품이 사용자에게 표시된 목록 이름
Items.item_list_index 문자열 목록에서 상품의 위치
items.promotion_id 문자열 제품 프로모션 ID
items.promotion_name 문자열 제품 프로모션 이름
items.creative_name 문자열 프로모션 위치에 사용되는 광고 소재의 이름
items.creative_slot 문자열 광고 소재 슬롯의 이름

item_params 레코드

item_params 레코드는 정의한 맞춤 항목 매개변수를 저장합니다. item_id, item_name 등 사전 정의된 항목 매개변수는 여기에 포함되지 않고 명시적 필드로 내보냅니다.

item_params 레코드에 저장된 일련의 매개변수는 각 구현마다 고유합니다. 전자상거래 구현 및 Google 애널리틱스 4 항목 배열에 대해 자세히 알아보려면 전자상거래 측정을 참고하세요.

필드 이름 데이터 유형 설명
items.item_params.key 문자열 항목 매개변수의 이름
items.item_params.value 레코드 항목 매개변수의 값을 포함한 레코드
items.item_params.value.string_value 문자열 항목 매개변수가 문자열로 표시되면 이 필드에 채워집니다.
items.item_params.value.int_value 정수 항목 매개변수가 정수로 표시되면 이 필드에 채워집니다.
items.item_params.value.double_value 부동 소수점 수 항목 매개변수가 이중 값으로 표시되면 이 필드에 채워집니다.
items.item_params.value.float_value 부동 소수점 수 항목 매개변수가 부동 소수점 값으로 표시되면 이 필드에 채워집니다.

단일 이벤트에 대한 데이터는 반복되는 레코드가 포함되어 있는지 여부에 따라 행 하나에 표시되거나 여러 행에 표시될 수 있습니다. 예를 들어 여러 event_params로 구성된 page_view 이벤트는 다음 표와 유사합니다. 첫 번째 행에는 이벤트 이름, 날짜, 타임스탬프 및 반복되지 않는 기타 데이터 항목이 포함됩니다. 이벤트와 연결된 각 매개변수에 대해 event_params 레코드가 반복됩니다. 이렇게 반복되는 레코드는 초기 이벤트 행 바로 아래 후속 행에 채워집니다.

event_date event_timestamp event_name event_params.key event_params_value.string_value
20220222 1643673600483790 page_view page_location https://example.com
      page_title Home
      medium referral
      source google
      page_referrer https://www.google.com
      <parameters...> <values...>

 

이 이벤트 데이터는 GA4 사용자 인터페이스에 다음과 같이 표시됩니다.

SDK를 Android 17.2.5 이상 또는 iOS 16.20.0 이상으로 업데이트하려는 경우 고려할 사항

이전 버전의 SDK를 사용했으며 Android 17.2.5 이상 또는 iOS 16.20.0 이상으로 업그레이드하려는 경우 다음 사항을 고려해야 합니다.

  • 현재 BigQuery Export 스키마를 사용하려면 SDK를 Android 17.2.5 이상 또는 iOS 16.20.0 이상으로 업그레이드해야 합니다.  이전 SDK 버전을 사용하면 내보낸 데이터에는 이전 스키마가 반영됩니다. 
  • 업그레이드가 완료되면 이후 시점부터는 반복된 상품 배열 내의 상품 데이터에만 액세스할 수 있으며, 더 이상 이전 SDK 버전에서처럼 표준 이벤트 매개변수에서 상품 데이터를 사용할 수 없습니다.
  • 이러한 변경사항은 여러 제품을 분석하도록 지원하기 위한 것입니다.
  • 따라서 상품/제품 데이터에 대한 참조를 조정해야 할 수 있습니다.
이 스크립트를 사용하여 기존 BigQuery 데이터 세트를 기존 내보내기 스키마에서 새 내보내기 스키마로 이전합니다.
  1. Cloud Platform Console >: 관리자 리소스 페이지에 로그인합니다.
  2. 데이터를 이전하려는 프로젝트를 열고 페이지 상단의 Google Cloud Shell 활성화를 클릭합니다.
  3. 셸이 열리면 아래 스크립트를 migration_script.sql 파일에 복사합니다.
    1. cat > migration_script.sql 명령어를 실행합니다.
    2. 아래 스크립트를 복사하여 셸에 붙여넣습니다.
    3. Ctrl+D 키를 눌러 저장하고 종료합니다.
    스크립트(migration_script.sql):
      SELECT
      @date AS event_date,
      event.timestamp_micros AS event_timestamp,
      event.previous_timestamp_micros AS event_previous_timestamp,
      event.name AS event_name,
      event.value_in_usd  AS event_value_in_usd,
       user_dim.bundle_info.bundle_sequence_id AS event_bundle_sequence_id,
      user_dim.bundle_info.server_timestamp_offset_micros as event_server_timestamp_offset,
      (
      SELECT
        ARRAY_AGG(STRUCT(event_param.key AS key,
            STRUCT(event_param.value.string_value AS string_value,
              event_param.value.int_value AS int_value,
              event_param.value.double_value AS double_value, 
              event_param.value.float_value AS float_value) AS value))
      FROM
        UNNEST(event.params) AS event_param) AS event_params,
      user_dim.first_open_timestamp_micros AS user_first_touch_timestamp,
      user_dim.user_id AS user_id,
      user_dim.app_info.app_instance_id AS user_pseudo_id,
      "" AS stream_id,
      user_dim.app_info.app_platform AS platform,
      STRUCT( user_dim.ltv_info.revenue AS revenue,
        user_dim.ltv_info.currency AS currency ) AS user_ltv,
      STRUCT( user_dim.traffic_source.user_acquired_campaign AS name,
          user_dim.traffic_source.user_acquired_medium AS medium,
          user_dim.traffic_source.user_acquired_source AS source ) AS traffic_source,
      STRUCT( user_dim.geo_info.continent AS continent,
        user_dim.geo_info.country AS country,
        user_dim.geo_info.region AS region,
        user_dim.geo_info.city AS city ) AS geo,
      STRUCT( user_dim.device_info.device_category AS category,
        user_dim.device_info.mobile_brand_name,
        user_dim.device_info.mobile_model_name,
        user_dim.device_info.mobile_marketing_name,
        user_dim.device_info.device_model AS mobile_os_hardware_model,
        @platform AS operating_system,
        user_dim.device_info.platform_version AS operating_system_version,
        user_dim.device_info.device_id AS vendor_id,
        user_dim.device_info.resettable_device_id AS advertising_id,
        user_dim.device_info.user_default_language AS language,
        user_dim.device_info.device_time_zone_offset_seconds AS time_zone_offset_seconds,
        IF(user_dim.device_info.limited_ad_tracking, "Yes", "No") AS is_limited_ad_tracking ) AS device,
      STRUCT( user_dim.app_info.app_id AS id,
        @firebase_app_id  AS firebase_app_id,
        user_dim.app_info.app_version AS version,
        user_dim.app_info.app_store AS install_source ) AS app_info,
      (
      SELECT
        ARRAY_AGG(STRUCT(user_property.key AS key,
            STRUCT(user_property.value.value.string_value AS string_value,
              user_property.value.value.int_value AS int_value,
              user_property.value.value.double_value AS double_value,
              user_property.value.value.float_value AS float_value,
              user_property.value.set_timestamp_usec AS set_timestamp_micros ) AS value))
      FROM
        UNNEST(user_dim.user_properties) AS user_property) AS user_properties
    FROM
      `SCRIPT_GENERATED_TABLE_NAME`,
      UNNEST(event_dim) AS event
      
  4. 새 셸을 열고 아래 Bash 스크립트를 migration.sh 파일에 복사합니다.
    1. cat > migration.sh 명령어를 실행합니다.
    2. 아래 스크립트를 복사하여 셸에 붙여넣습니다.
    3. Ctrl+D 키를 눌러 저장하고 종료합니다.
    애널리틱스 속성 ID, BigQuery 프로젝트 ID, Firebase 앱 ID, BigQuery 데이터 세트 이름, 원하는 데이터의 시작일과 종료일을 포함하도록 다음 스크립트를 수정합니다.
    스크립트(migration.sh):
    # Analytics Property ID for the Project. Find this in Analytics Settings in Firebase.
    PROPERTY_ID=your Analytics property ID
    
    # Bigquery Export Project.
    BQ_PROJECT_ID="your BigQuery Project ID" (e.g., "firebase-public-project")
    
    # Firebase App ID for the app.
    FIREBASE_APP_ID="your Firebase App ID" (e.g., "1:300830567303:ios:09b1ab1d3ca29bda")
    
    # Dataset to import from.
    BQ_DATASET="name of BigQuery dataset you want to import from" (e.g., "com_firebase_demo_IOS")
    
    # Platform
    PLATFORM="platform of the app. ANDROID or IOS"
    
    # Date range for which you want to run migration, [START_DATE,END_DATE] inclusive.
    START_DATE=20180324
    END_DATE=20180327
    
    # Do not modify the script below, unless you know what you are doing :)
    startdate=$(date -d"$START_DATE"  +%Y%m%d) || exit -1
    enddate=$(date -d"$END_DATE"  +%Y%m%d) || exit -1
    
    # Iterate through the dates.
    DATE="$startdate"
    while [ "$DATE" -le "$enddate" ]; do
    
            # BQ table constructed from above params.
            BQ_TABLE="$BQ_PROJECT_ID.$BQ_DATASET.app_events_$DATE"
    
            echo "Migrating $BQ_TABLE"
    
            cat migration_script.sql | sed -e "s/SCRIPT_GENERATED_TABLE_NAME/$BQ_TABLE/g" | bq query \
            --debug_mode \
            --allow_large_results \
            --noflatten_results \
            --use_legacy_sql=False \
            --destination_table analytics_$PROPERTY_ID.events_$DATE \
            --batch \
            --append_table \
            --parameter=firebase_app_id::$FIREBASE_APP_ID \
            --parameter=date::$DATE \
            --parameter=platform::$PLATFORM \
            --project_id=$BQ_PROJECT_ID
    
    
            temp=$(date -I -d "$DATE + 1 day")
            DATE=$(date -d "$temp" +%Y%m%d)
    
    done
    exit
    
    # END OF SCRIPT
    
    
  5. 새 셸을 열고 bash migration.sh 명령어를 실행합니다.
이전 내보내기 스키마

user_dim

필드 이름 데이터 유형 설명
user_dim 레코드 사용자 측정기준에 관한 레코드
user_dim.user_id 문자열 setUserId API를 통해 설정된 사용자 ID
user_dim.first_open_timestamp_micros 정수 사용자가 처음 앱을 연 시간(단위: 마이크로초)
user_dim.user_properties 레코드 setUserProperty API로 설정된 사용자 속성에 관한 반복된 레코드
user_dim.user_properties.key 문자열 사용자 속성의 이름
user_dim.user_properties.value 레코드 사용자 속성 정보에 관한 레코드
user_dim.user_properties.value.value 레코드 사용자 속성 값에 관한 레코드
user_dim.user_properties.value.value.string_value 문자열 사용자 속성의 문자열 값
user_dim.user_properties.value.value.int_value 정수 사용자 속성의 정수 값
user_dim.user_properties.value.value.double_value 부동 소수점 수 사용자 속성의 이중 값
user_dim.user_properties.value.set_timestamp_usec 정수 사용자 속성이 마지막으로 설정된 시간(단위: 마이크로초)
user_dim.user_properties.value.index 정수 사용자 속성의 색인(0~24)
user_dim.device_info 레코드 기기 정보에 관한 레코드
user_dim.device_info.device_category 문자열 기기 카테고리(모바일, 태블릿, 데스크톱)
user_dim.device_info.mobile_brand_name 문자열 기기 브랜드 이름
user_dim.device_info.mobile_model_name 문자열 기기 모델 이름
user_dim.device_info.mobile_marketing_name 문자열 기기 마케팅 이름
user_dim.device_info.device_model 문자열 기기 모델
user_dim.device_info.platform_version 문자열 OS 버전
user_dim.device_info.device_id 문자열 IDFV(IDFA를 사용할 수 없는 경우에만 제공)
user_dim.device_info.resettable_device_id 문자열 광고 ID/IDFA
user_dim.device_info.user_default_language 문자열 OS 언어
user_dim.device_info.device_time_zone_offset_seconds 정수 GMT와의 시차(단위: 초)
user_dim.device_info.limited_ad_tracking 불리언 기기의 광고 추적 제한 설정
user_dim.geo_info 레코드 사용자의 위치 정보에 관한 레코드
user_dim.geo_info.continent 문자열 이벤트가 보고된 대륙(IP 주소 기준)
user_dim.geo_info.country 문자열 이벤트가 보고된 국가(IP 주소 기준)
user_dim.geo_info.region 문자열 이벤트가 보고된 지역(IP 주소 기준)
user_dim.geo_info.city 문자열 이벤트가 보고된 도시(IP 주소 기준)
user_dim.app_info 레코드 앱의 정보에 관한 레코드
user_dim.app_info.app_version 문자열 앱의 버전 이름(Android) 또는 약식 번들 버전
user_dim.app_info.app_instance_id 문자열 앱 인스턴스의 고유 ID
user_dim.app_info.app_store 문자열 앱을 설치한 스토어
user_dim.app_info.app_platform 문자열 앱이 실행 중인 플랫폼
user_dim.traffic_source 레코드 사용자 획득에 사용된 트래픽 소스의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
user_dim.traffic_source.user_acquired_campaign 문자열 사용자를 획득한 마케팅 캠페인의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
user_dim.traffic_source.user_acquired_medium 문자열 사용자를 획득한 매체(유료 검색, 자연 검색, 이메일 등)의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
user_dim.traffic_source.user_acquired_source 문자열 사용자를 획득한 네트워크의 이름. 일중 표에서는 이 필드가 채워지지 않습니다.
user_dim.bundle_info 레코드 이벤트가 업로드된 번들과 관련된 정보에 관한 레코드
user_dim.bundle_info.bundle_sequence_id 정수 이벤트가 업로드된 번들의 순차 ID
user_dim.ltv_info 레코드 사용자의 평생 가치 정보에 관한 레코드. 일중 표에서는 이 필드가 채워지지 않습니다.
user_dim.ltv_info.revenue 부동 소수점 수 사용자의 평생 가치(수익). 일중 표에서는 이 필드가 채워지지 않습니다.
user_dim.ltv_info.currency 문자열 사용자의 평생 가치(통화). 일중 표에서는 이 필드가 채워지지 않습니다.
 

event_dim

필드 이름 데이터 유형 설명
event_dim 레코드 번들의 이벤트와 관련된 정보에 관한 반복된 레코드
event_dim.date 문자열 이벤트가 기록된 날짜(앱에 등록된 시간대의 YYYYMMDD 형식)
event_dim.name 문자열 이벤트 이름
event_dim.params 레코드 이벤트와 연결된 매개변수에 관한 반복된 레코드
event_dim.params.key 문자열 이벤트 매개변수의 키
event_dim.params.value 레코드 이벤트 매개변수 값에 관한 레코드
event_dim.params.value.string_value 문자열 이벤트 매개변수의 문자열 값
event_dim.params.value.int_value 정수 이벤트 매개변수의 정수 값
event_dim.params.value.double_value 부동 소수점 수 이벤트 매개변수의 이중 값
event_dim.timestamp_micros 정수 클라이언트에서 이벤트가 기록된 시간(단위: 마이크로초, UTC)
event_dim.previous_timestamp_micros 정수 클라이언트에서 이전에 이벤트가 기록된 시간(마이크로초 단위, UTC)

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?
검색
검색어 지우기
검색 닫기
Google 앱
기본 메뉴