Firebase는 원격 구성, 클라우드 메시징, 인앱 메시지와 같은 Firebase 서비스를 통해 사용자 그룹을 타겟팅하여 사용자 환경을 맞춤설정하는 도구를 제공합니다. 연결된 BigQuery 계정을 사용하여 Firebase 외부에서 식별한 세그먼트를 가져와 Firebase 서비스로 타겟팅된 환경을 만들 수 있습니다.
가져온 세그먼트 설정
Google Cloud BigQuery를 사용하여 세그먼트의 데이터를 Firebase로 가져올 수 있습니다. BigQuery는 데이터를 로드하는 여러 방법을 제공하므로 현재 구성에 가장 적합한 방법을 선택할 수 있습니다.
통합을 사용 설정하면 다음과 같이 진행됩니다.
- Firebase는 개발자가 소유하지만 Firebase가 읽기 액세스 권한을 보유한 데이터 세트를 BigQuery에 만듭니다.
- Firebase는 정기적으로 데이터를 수집하여 업데이트된 세그먼트를 Firebase 콘솔에서 타겟팅에 사용할 수 있도록 합니다.
- Firebase는 이 데이터에 대해 읽기 액세스 권한만 보유합니다. Firebase는 이 데이터 사본을 내부 스토리지에 보관합니다.
- BigQuery 데이터 세트에서 삭제된 데이터는 Firebase 데이터 스토리지에서도 삭제됩니다.
BigQuery 가져오기 사용 설정
- Firebase 콘솔에서 BigQuery 통합 페이지로 이동합니다.
- 이전에 BigQuery 통합을 설정하지 않은 경우 화면에 표시된 안내에 따라 BigQuery를 사용 설정합니다. Firebase console">의 통합 화면
- 가져온 세그먼트 전환을 사용 설정합니다.
BigQuery에서 세그먼트 가져오기를 사용 설정하는 경우:
- Firebase는 이름이
firebase_imported_segments
인 새 BigQuery 데이터 세트를 자동으로 만듭니다. 이 데이터 세트에는SegmentMemberships
및SegmentMetadata
라는 이름의 빈 테이블이 포함되어 있습니다. - 'firebase_imported_segments' 데이터 세트는
@gcp-sa-firebasesegmentation.iam.gserviceaccount.com
도메인의 Firebase 서비스 계정과도 공유됩니다. - Firebase는 이 데이터 세트에서 읽기 위해 최소 12시간마다 작업을 실행하며 12시간보다 더 짧은 빈도로 가져올 수도 있습니다.
BigQuery로 데이터 가져오기
지원되는 메커니즘을 사용하여 BigQuery에 데이터를 로드하여 SegmentMemberships
및 SegmentMetadata
테이블을 채울 수 있습니다. 데이터는 아래에 설명된 스키마를 따라야 합니다.
SegmentMemberships
[
{
"name": "instance_id",
"type": "STRING"
},
{
"name": "segment_labels",
"type": "STRING",
"mode": "REPEATED"
},
{
"name": "update_time",
"type": "TIMESTAMP"
}
]
instance_id: 특정 앱 설치에 대한 Firebase 설치 ID입니다. 세그먼트에 포함할 각 앱 설치의 설치 ID를 가져와 해당 값을 사용하여 이 필드를 채워야 합니다.
segment_labels: 기기("instance_id"
)가 포함된 세그먼트입니다. 이러한 값은 사람이 식별할 수 있는 형태일 필요는 없으며 BigQuery 스토리지 사용량을 줄이기 위해 짧게 사용할 수 있습니다. SegmentMetadata
테이블에는 여기에 사용된 각 "segment_labels"
의 해당 항목이 있어야 합니다. 복수형이라는 것에 유의하세요. 반면에 SegmentMetadata
테이블에는 "segment_label"
이 있습니다.
update_time: 현재 Firebase에서 사용되지는 않지만 더 이상 사용되지 않는 BigQuery에서 오래된 세그먼트 멤버십을 삭제하는 데 사용할 수 있습니다.
SegmentMetadata
[
{
"name": "segment_label",
"type": "STRING"
},
{
"name": "display_name",
"type": "STRING"
}
]
segment_label: 특정 세그먼트를 식별합니다. 이 테이블에는 SegmentMemberships
테이블에 나열된 모든 세그먼트에 해당하는 항목이 있어야 합니다. 단수형이라는 것에 유의하세요. SegmentMemberships 테이블에는 "segment_labels"
가 있습니다.
display_name: 인간이 읽을 수 있는 UI 친화적인 세그먼트 이름입니다. Firebase 콘솔에서 세그먼트에 라벨을 지정하는 데 사용됩니다.
BigQuery 결제 설정
설치 횟수가 적은 앱의 새 기능을 사용해 보는 경우 BigQuery 샌드박스만 설정하면 됩니다.
그러나 많은 사용자가 있는 프로덕션 앱에 사용할 경우 BigQuery 사용량에 따라 결제를 설정하여 스토리지 또는 BigQuery에 데이터를 로드하는 데 사용된 메커니즘에 따라 요금을 지불해야 합니다. Firebase에서 시작한 읽기에는 요금이 부과되지 않습니다.
통합 비활성화
이 통합을 비활성화하려면 Firebase 콘솔의 BigQuery 통합 페이지로 이동하여 커스텀 세그먼트 전환을 비활성화합니다.
가져온 세그먼트 사용
수집된 데이터는 Firebase 콘솔에서 원격 구성 또는 인앱 메시지와 같은 서비스에서 타겟팅하는 데 사용할 수 있습니다. 이는 속성 또는 Google Analytics 잠재고객 타겟팅과 유사한 방식으로 작동합니다.
'가져온 세그먼트'를 타겟팅 가능한 속성 및 세그먼트 중 하나로 사용할 수 있으며 가져온 세그먼트를 선택할 수 있습니다. 각 세그먼트에 속하는 앱 인스턴스의 예상 개수도 포함됩니다.
전체 타겟팅 기준과 일치하는 인스턴스 예상 개수도 확인할 수 있습니다. 이 값은 타겟팅 기준을 변경하면 업데이트됩니다.
사용 사례
가져온 세그먼트를 사용하여 타겟팅된 사용자 환경을 만드는 방법에는 여러 가지가 있습니다. 이 섹션에서는 이 기능을 사용할 수 있는 일반적인 시나리오에 대해 설명합니다.
사용자 그룹에 알림 보내기
장바구니와 인앱 구매를 허용하는 앱이 있다고 가정해 보겠습니다. 커스텀 빌드 또는 타사 분석 솔루션(Google Analytics에서 지원하지 않는 솔루션)을 사용하여 앱 내의 사용자 행동과 관련된 다양한 측정항목을 수집할 수도 있습니다. 이러한 측정항목을 사용하여 장바구니에 항목을 추가했지만 결제를 완료하지 않은 사용자 그룹을 파악할 수 있습니다.
이제 Firebase Cloud Messaging을 사용하여 사용자에게 장바구니에 항목이 있음을 알리는 알림을 전송한다고 가정해 보겠습니다. 'incomplete-checkout'이라는 세그먼트를 만들고 Firebase 설치 ID로 식별되는 사용자를 포함하고 BigQuery에 업로드하여 Firebase와 공유할 수 있습니다.
Firebase에서 이 데이터를 수집하면 알림 작성기에서 사용할 수 있으며, 여기에서 'incomplete-checkout'을 타겟팅하는 새 알림 캠페인을 만들어 사용자에게 결제를 완료하라는 메시지를 전송할 수 있습니다.
일부 사용자를 위한 앱 구성
일부 사용자가 앱을 탐색하는 데 문제가 있음을 알려주는 사내 분석 솔루션을 사용한다고 가정해 보겠습니다. 이러한 사용자를 지원하기 위해 사용자를 위한 간단한 튜토리얼 동영상을 포함하도록 앱 동작을 구성하려고 합니다.
앱에 Remote Config를 통합하고 'needs_help'와 같은 매개변수를 사용하여 앱에 튜토리얼 동영상을 조건부로 표시할 수 있습니다.
분석 데이터를 사용하여 'troubble-users'라는 세그먼트를 만들고 Firebase 설치 ID로 식별되는 적절한 사용자를 포함합니다. 그런 다음 이 세그먼트와 구성원을 BigQuery에 업로드하여 Firebase와 공유합니다.
Firebase에서 이 데이터를 수집하면 Remote Config 콘솔에서 타겟팅 가능한 세그먼트로 사용할 수 있습니다. 다음으로 'troubed-users'를 타겟팅하는 조건을 만들고 기본값은 false이며 이 조건에서는 true인 'needs_help' 매개변수를 설정할 수 있습니다. 이 구성이 게시되면 앱은 'trobled-users' 세그먼트의 사용자에게만 튜토리얼 동영상을 표시합니다.
기기 간 사용자 여정 따라가기
Firebase와 Google Analytics를 사용하여 음식점 리뷰 앱을 빌드했다고 가정해 보겠습니다. 수집된 측정항목을 확인한 결과 사용자가 휴대기기와 태블릿에서 앱에 액세스하는 경우가 많았습니다. 또한 사용자는 리뷰를 작성할 때는 태블릿을 선호하지만 리뷰를 읽을 때는 특정 기기에 구애받지 않는 것으로 확인되었습니다.
일부 사용자는 스마트폰에서 리뷰 작성을 시작했다가 포기하는데 아마도 폼 팩터가 작기 때문일 것입니다. 개발자는 이러한 사용자에게 태블릿에서 리뷰 작성을 완료하라는 알림을 보내기로 결정합니다.
이렇게 하려면 Google Analytics를 사용하여 로그인한 사용자에 대해 내부적으로 생성된 reviewerId를 UserId로 설정한 다음 이벤트를 트리거하여 취소된 리뷰를 식별할 수 있습니다. 그런 다음 앱의 Google Analytics 데이터를 BigQuery로 내보낼 수 있습니다.
BigQuery에서는 이 데이터를 분석하여 스마트폰에서 리뷰 작성을 완료하지 않은 사용자의 태블릿용 Firebase 설치 ID를 식별할 수 있습니다. 이 그룹의 이름을 'tablets-of-users-who-cancelled-on-phone'으로 지정하고 세그먼트를 BigQuery에 업로드하여 Firebase와 구성원 목록을 공유할 수 있습니다.
Firebase에서 이 데이터를 수집하면 알림 작성기에서 타겟팅 가능한 세그먼트로 사용할 수 있습니다. 그런 다음 'tablets-of-users-who-cancelled-on-phone'을 타겟팅하는 새 알림 캠페인을 만들어 이러한 사용자에게 태블릿에서 리뷰 작성을 완료하라는 메시지를 보낼 수 있습니다.