Firebase 의 A/B 테스트 기능을 이용하여 고객과 소통해보기
A/B테스트 개요
Firebase 에서 제공한는 A/B Testing 아래와 같이 3가지 형태를 제공한다.
- 알림 : Cloud Messaging
- 원격 구성 : Remote Config
- 인앱 메시지 : In-App Messaging
실험 만들기 버튼을 통해 3가지 형태의 실험을 만들수 있다.
AB 테스트 측정 항목 참고
참고 : firebase.google.com/docs/ab-testing?authuser=0
1. Cloud Messageing
클라우드 메시지는 앱이 설치된 모바일 기기로 (FCM)메시지를 전송하는 기능을 제공하며 2가지 형태로 구분하여 활용할 수 있다.
하나는 A/B 테스트를 위한 메시지와 두 번째는 그냥 일반적인 메시지를 전송하는 것이다.
클라우드 메시지는 2가지 탭 메뉴를 제공한다.
- 알림 : 새로운 실험이나 알림을 작성한다.
- 보고서 : 발송된 알림에 대한 통계를 제공한다.
우선 알림 탭에서 새로운 메시지를 작성해야 한다.
- Create Experiment : 실험할 메시지 생성
- 새 알림 : 일반 발송 메시지 생성
Create Experiment
실험은 총 4단계에 걸쳐 설정을 입력할 수 있다.
이번 실험 작성내용은 메시지 내용에 따라 앱을 구동하는 수가 다른가를 구분하는 간단한 테스트이나 보통은 사전에 준비된 A/B 테스트 목표에 따라 작성하면 된다.
1. 실험 기본설정
- 이름 : 실험의 제목을 정한다.
- 설명 : 실험에 대한 설명을 입력한다.
- 대상 사용자 : Firebase 에 등록된 APP을 설정한다. 실험할 Android 랑 iOS App 의 패키지명을 선택한다.
- 노출 : 대상 규모를 선택한다.
2. 변형
- 기준 : 기본 메시지를 작성한다.
- 변수 추가 : 구분할 메시지를 추가로 작성한다. 변수를 추가할 때마다 메시지 수신 집단의 확률이 자동 계산된다.
=> 랜덤 타겟팅이라 A/B 테스트 메뉴를 통해 타겟팅하는 것이 더 유용할 수 있다.
3. 목표
- 목표 : 2가지 형태를 제공한다. Built-in objectives 와 Other ananlytics events
=> 앱의 구동을 보기 위해 Other ananlytics events 에서 기본 제공하는 session_start 항목을 선택했다.
=> 목표 옵션은 다중으로 추가할 수 있다.
4. 메시지 옵션
- 날짜 : 즉시와 예약을 선택할 수 있다.
- 시간대 : 서비스 제공자의 기준 시간대 하나로 하던가 설정한 시간을 기기 설정 시간에 맞게 하던가 2가지를 선택할 수 있다.
- 고급 옵션 : skip
완료되면 검토 버튼을 눌러 작성된 항목을 확인할 수 있다.
고객에게 발송되는 만큼 사전에 테스트를 거치는 것을 추천한다.
실험 시작 버튼 옆에 더 보기 버튼을 선택해서 테스트 기기 관리 메뉴를 들어가서 테스트 기기의 ID를 입력하여 정상적으로 동작하는지 검토한다.
실험 시작을 하게되면 알림 탭에 리스트가 생성되어 실험이 시작하게 된다.
아래는 이전에 테스트했던 내용이다.
새 알림
새 알림은 일반 FCM 으로 간단하다.
알림 메시지를 작성하게 되면 미리보기가 제공되어 어떻게 Notification 메시지가 표시될지 바로 확인이 가능하다.
일반적인 메시지 전송보다 목적을 가진 실험항목이 더 유용할 수 있으니 다양한 가설 검증에 활용하면 좋다.
In-App Messaging 을 이용하면 배너 이미지를 추가하여 더욱 강력한 실험과 캠페인을 진행할 수 있다.
사용 방법은 Cloud Messaging 과 동일하다.
참고 : firebase.google.com/docs/cloud-messaging?authuser=0
2. In-App Messaging
인앱 메시지의 캠페인을 이용하여 상황에 따른 사용자의 참여를 유도하는데 유용하게 사용할 수 있다.
장점은 메시지의 유형을 다양하게 제공하는데 있다.
메시지 유형 : 카드, 모달, 이미지 only, 배너(현수막)
카드 타입으로 간단하게 등록 방법을 확인한다.
1. 스타일 및 콘텐츠
- 메시지 레이아웃 : 4가지 유형에서 선택
- 배경 : 메시지 배경 색상
- 택스트 색상 : 타이틀과 본문 글자색
- 메시지 제목 : 타이틀
- 본문 : 메시지 내용
- 이미지 : 무료 사용자는 URL 만 가능
- 버튼 : 텍스트와 색상 지정
2. 대상
- 앱 : 동작할 Android 또는 iOS 패키지명을 선택한다.
- 및 : 추가할 앱이나 타겟 조건들을 추가한다.
- 현지화 : 작성된 언어에 대한 번역본을 추가할 수 있다.
3. 예약
- 시작/종료 : 날짜 지정 또는 즉시
- 이벤트 : 측정 기준 설정
- 빈도 : 1회 또는 노출 간격 (아래 이미지)
4. 선택사항
- 전환 이벤트 : 목표를 추가할 수 있음.
- 추가 옵션 : skip
작성 완료 후, 검토 버튼을 눌러 작성된 내용을 확인할 수 있다.
게시를 하게되면 진행 내역을 확인할 수 있다.
아래 이미지는 이전 테스트 데이터
참고 : firebase.google.com/docs/in-app-messaging?authuser=0
3. Remote Config
Firebase 의 Remote Config (원격 구성) 기능을 활용하여 앱의 업데이트 없이 앱의 UI 나 기능등을 변경할 수 있다.
말 그대로 앱이 가지고 있어야할 설정 정보를 클라우드 서버(Firebase)에 설정하여 언제든 변경할 수 있는 기능을 제공한다.
주요 기능은 아래 표에서 확인
주요 기능 | 설명 |
앱에 변경사항을 바로 적용 |
서버(Firebase Console)에서 매개변수(설정) 값을 변경하여 앱의 기본 동작과 모양에 변화를 줄 수 있다. ex> 앱 업데이트를 게시하지 않고도 앱의 레이아웃 또는 색상 테마를 변경하여 필요한 프로모션이나 이벤트를 진행할 수 있다. |
특정 세그먼트에 설정을 변경 적용 |
앱 버전, 언어, GA 세그먼트를 기준으로 사용자들을 그룹지어 앱 사용의 환경을 변경할 수 있다. ex> 로컬라이제이션이 필요한 경우 해당 지역에 맞는 이미지나 문구, 통화등이 표시될 수 있도록 설정을 맞출 수 있다. |
A/B 테스트 수행 | 기본 제공되는 임의 백분위수 타게팅 기능과 GA 제공 기능을 함께 활용하여 A/B 테스트 수행할 수 있다. 사용자나 세그멘트별로 수집된 데이터 기반으로 개선사항을 검증할 수 있다. |
목적에 따라 설정 적용 방법은 아래 표에서 확인
적용 방안 | 설명 |
앱 실행 시 | 앱을 처음 시작할 때 Remote Config 의 변경된 값을 가져와 로드가 완료되는 즉시 적용하는 방법이다. 매우 간단하게 적용할 수 있으며 UI 모양이 크게 변경되지 않는 경우 적합하다. ex> 스플래시 화면의 이미지 URL 변경 |
로딩 화면에서 (A/B 테스트 적합) |
앱 실행시 사용자가 보는 중간에 UI 가 변경될 수 있는 상황을 보안하기 위해 로딩화면을 추가하는 방법이다. 로딩이 완료되면 설정값이 적용된 상태로 사용자에게 화면이 보여지게 된다. A/B 테스트에서 사용자를 구분하여 설정값을 할당하는데 약간의 시간이 필요하기 때문에 다양한 환경에서 적용 테스트를 하여 설정에 맞는 로딩 시간을 적용해야 한다. |
다음 번 앱 실행 시 | 앱이 다음 시작할 때 설정을 활성화하는 방법으로 앱이 시작될이 이미 설정 값들을 세팅해 두고 다음번 구동에서 적용되는 방법이다. 사용자에게 PUSH 메시지를 보내고 앱이 구동될 때 바로 적용되는 것이 아니기 때문에 목적에 맞게 사용해야 한다. |
1. 매개 변수 추가
- 매개 변수 키 : 변수(설정) 이름을 작성한다. (영문으로 시작)
- 기본 값 : 변수(설정)값을 지정한다.
=> "{}"를 선택해서 JSON 데이터를 추가할 수 있음
=> true/false 또는 URL 등을 입력한다.
2. 조건 값 추가 : 특정 조건을 걸어 A/B 테스트에 활용한다.
- 이름 : 조건 및 세그먼트 이름을 작성한다.
- 색성 : 정렬하기 편리함.
- 적용 조건 : 세그멘트나 사용자층을 설정한다.
3. 매개 변수 등록
조건은 여러개 등록할 수 있으며 모든 조건과 값이 추가되면 매개변수 추가 버튼을 눌러 등록을 하면 적용된다.
제한 사항
- 매개 변수 : 최대 2,000 개
- 조건 설정 : 최대 500 개
- 매개 변수 이름 : 최대 256 자 (영문 대소문자로 시작하고 숫자 포함 가능)
- 매개 변수 데이터 길이 : 800,000 자
실제 등록 예
- 일자별 설정값을 가져간 통계 정보를 확인할 수 있다.
- 설정값을 확인하고 수정할 수 있다.
등록된 설정값은 Coditions 탭 메뉴에서 순서 및 조건 변경이 가능하다.
또한 히스토리 기능을 제공하여 값의 변경 이력을 확인할 수 있다.
참고 : firebase.google.com/docs/remote-config?authuser=0
댓글