BigQuery로 맞춤설정 데이터 검사

원격 구성 맞춤설정은 사용자에게 맞춤설정이 할당될 때 personalization_assignment 애널리틱스 이벤트를 로깅하므로 BigQuery를 사용하여 맞춤설정 이벤트 및 연결된 이벤트를 검사하고 분석할 수 있습니다.

다음 섹션에서는 애널리틱스 이벤트에 BigQuery 내보내기를 사용 설정하는 방법, 맞춤설정 이벤트가 저장되는 방법, 시작하는 데 필요한 몇 가지 기본 쿼리를 제공합니다.

Firebase용 Google 애널리틱스에 BigQuery 내보내기 사용 설정

Spark 요금제를 사용 중인 경우 BigQuery 한도에 따라 BigQuery 샌드박스를 사용해 BigQuery에 무료로 액세스할 수 있습니다. 자세한 내용은 가격 책정 및 BigQuery 샌드박스를 참조하세요.

먼저 애널리틱스 데이터를 BigQuery로 내보내는지 확인합니다.

  1. 통합 탭(Firebase Console > 프로젝트 설정을 사용해 액세스 가능)을 엽니다.
  2. 이미 다른 Firebase 서비스와 함께 BigQuery를 사용하고 있는 경우 관리를 클릭합니다. 그렇지 않으면 연결을 클릭합니다.
  3. Firebase와 BigQuery 연결 정보를 검토한 후 다음을 클릭합니다.
  4. 통합 구성 섹션에서 Google 애널리틱스 전환 버튼을 사용 설정합니다.
  5. 지역을 선택하고 내보내기 설정을 선택합니다.

  6. BigQuery에 연결을 클릭합니다.

선택한 데이터 내보내기 방식에 따라 테이블을 사용할 수 있을 때까지 최대 하루가 걸릴 수 있습니다. 프로젝트 데이터를 BigQuery로 내보내는 방법에 대한 자세한 내용은 BigQuery에 프로젝트 데이터 내보내기를 참조하세요.

다음으로 BigQuery의 맞춤설정 이벤트에 액세스하고 검사합니다.

BigQuery를 사용하여 원격 구성 맞춤설정 데이터에 액세스

실험의 애널리틱스 데이터를 쿼리하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 BigQuery를 엽니다. 페이지 하단의 BigQuery에서 원시 이벤트 보기 링크를 사용하여 애널리틱스 이벤트에서 직접 열 수도 있습니다.
  2. Firebase 프로젝트를 선택하고 펼친 후 analytics_ANALYTICS_PROPERTY_ID 항목을 펼치고 events_를 클릭합니다.

    Cloud 콘솔에서 맞춤설정 이벤트에 액세스

  3. 쿼리 드롭다운에서 새 탭에서 열기를 선택합니다.

    자동 생성된 예시 쿼리가 표시됩니다.

  4. 맞춤설정 이벤트 및 연결된 데이터를 보려면 쿼리를 업데이트하여 personalization_assignment 이벤트를 선택합니다. 다음 예시 쿼리는 특정 날짜 샤드에 대해 완전한 맞춤설정 할당 이벤트를 반환하고 결과를 10으로 제한합니다.

    # Select all personalization_assignment events
    SELECT *
    FROM `PROJECT_NAME.analytics_ANALYTICS_PROPERTY_ID.events_DATE_SHARD`
    WHERE event_name = 'personalization_assignment'
    LIMIT 10
    

    팁: 샤딩된 테이블 대신 모든 이벤트 테이블을 검색하려면 이벤트 테이블 날짜를 별표(예: PROJECT_NAME.analytics_ANALYTICS_PROPERTY_ID.events_*)로 바꾸면 됩니다. 테스트용이 아닌 시나리오 또는 대규모 데이터 세트에는 권장되지 않습니다.

  5. 쿼리 작성기에서 쿼리 실행을 선택합니다. 결과는 하단 창에 표시됩니다.

다음 섹션에서는 맞춤설정 할당 이벤트에 포함된 내용을 더 자세히 살펴보겠습니다.

어떤 유형의 맞춤설정 데이터를 BigQuery로 내보내나요?

맞춤설정 데이터는 BigQuery의 Google 애널리틱스 테이블에 포함되며 personalization_assignment 이벤트에 저장됩니다.

맞춤설정 이벤트에 제공된 기본 필드는 [GA4] BigQuery Export 스키마에 설명된 모든 애널리틱스 이벤트와 동일합니다. 주로 user_pseudo_id(개별 사용자를 구분하는 데 사용 가능), 이벤트 타임스탬프, 기타 사용자 속성을 고려해야 합니다.

맞춤설정별 세부정보는 event_params 필드에 저장되며 다음 표에 설명되어 있습니다.

매개변수 데이터 유형 설명
personalization_id 문자열 할당된 맞춤설정의 범용 고유 식별자(UUID)를 제공합니다.
그룹 문자열 사용자가 맞춤설정 그룹(P13N) 또는 기준(BASELINE) 그룹에 할당되었는지 여부를 나타냅니다.
arm_index 정수 사용자에게 할당된 대체 값(0~4 사이의 정수)을 나타냅니다.
arm_key 문자열 맞춤설정에 사용된 매개변수 이름을 포함합니다.
arm_value 문자열 맞춤설정에서 할당한 대체 값 문자열이 포함되어 있습니다.
engaged_session_event 정수 사용자가 참여한 세션 수를 포함합니다. 자세한 내용은 세션 정보를 참고하세요.
firebase_event_origin 문자열 이벤트의 출처를 나타냅니다. personalization_assignment 이벤트의 경우 항상 fp입니다.
firebase_screen_class 문자열 맞춤설정 할당이 발생했을 때 사용자가 활성 상태였던 화면의 클래스 이름을 제공합니다. 자세한 내용은 자동 수집 이벤트를 참고하세요.
firebase_screen_id 정수 맞춤설정 할당이 발생할 때 사용자가 사용한 화면의 ID를 표시합니다. 자세한 내용은 자동 수집 이벤트를 참고하세요.
first_open_time 문자열 사용자가 앱을 처음 연 시점의 타임스탬프를 UTC 밀리초 단위로 제공합니다. 자세한 내용은 자동 수집 이벤트를 참고하세요.
ga_session_id 정수 Google 애널리틱스 세션 ID를 제공합니다. 자세한 내용은 세션 정보를 참고하세요. 이를 사용하여 personalization_assignment 이벤트를 다른 애널리틱스 이벤트와 연결할 수 있습니다.
ga_session_number 정수 Google 애널리틱스 세션 번호를 제공합니다. 자세한 내용은 세션 정보를 참고하세요.

쿼리 예

다음과 같은 SQL 문을 사용하여 personalization_assignment 이벤트에서 맞춤설정별 매개변수를 추출할 수 있습니다.

    # Expand nested personalization parameters
    SELECT
     timestamp_micros(event_timestamp) AS event_time,
     user_pseudo_id,
     (
       SELECT event_params.value.string_value
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'group'
     ) AS personalization_group,
     (
       SELECT event_params.value.string_value
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'personalization_id'
     ) AS personalization_id,
     (
       SELECT event_params.value.string_value,
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'arm_key'
     ) AS arm_key,
     (
       SELECT event_params.value.string_value
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'arm_value'
     ) AS arm_value,
     (
       SELECT event_params.value.int_value
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'ga_session_id'
     ) AS ga_session_id,
    FROM `PROJECT_NAME.analytics_ANALYTICS_ACCOUNT_ID.events_DATE_SHARD`
    WHERE event_name = 'personalization_assignment'
    LIMIT 10