특정한 video를 플레이할 때 play 라는 커스텀 이벤트를 만들어서 video id와 함께 Firebase Analytics에 전달한다.
이렇게 기록한 video 재생 결과를 가지고 Analytics에서 어떤 영상이 가장 많이 재생되었는지 알고 싶다.
당연히 될 것 같고, 되어야 하는 기능인데 FIrebase Analytics(나 연결된 Google Analytics)에 들어가보면 찾기가 어렵다.
방법을 찾아보자.
1. 이벤트 발생
FirebaseAnalytics analytics = FirebaseAnalytics.instance;
analytics.logEvent(name: 'play', parameters: {
'id': video.id,
'title': video.title,
});
'id', 'title' 이라는 커스텀 parameter를 넣어서 'play' 라는 이벤트를 전송해준다.
2. Google Analytics 에서 이벤트 확인
Engagement > Events 를 보면 내가 전송한 이벤트를 확인할 수 있다.
'play' 이벤트를 선택하면
이렇게 내가 만든 이벤트 파라미터들이 나타난다.
커스텀 파라미터로 전송한 이벤트가 집계되어야 여기에 나타나니 앱 개발 중이라면 이벤트 전송하고 며칠 있어봐야 보일 것이다.
개발 중이라면 realtime 이벤트에서도 확인할 수 있다. realtime 항목에는 이벤트 전송하면 바로 보인다.
자, 이벤트가 정상적으로 전송되는데, 내가 원하는 정보. video id 나 title 별로 재생된 횟수는 어떻게 찾을 수 있을까?
Configure > Custom definitions > Custom dimensions 에서 커스텀 디멘전을 만들어주면 된다.
커스텀 디멘전 생성 위치가 며칠 새 변경되었다.
지금은 Admin > Property > Custom definitions 에서 찾을 수 있다.
Event parameter 에 내가 정의한 parameter 이름 ('id', 'title') 을 넣으면 이것을 디멘전으로 사용할 수 있게 된다.
이렇게 생성한 Custom dimension 은 'Explore' 메뉴에서 사용할 수 있게 된다. (생성하고 약간 기다려야 선택할 수 있게 된다.)
정리하자면, 이제까지 한 작업은
'사용자가 플레이한 비디오 ID' 라는 Dimension 과
'사용자가 재생한 횟수' 라는 Metric 을 조합해서 보기 위해서 비디오ID를 Custom Dimension으로 정의한 것이다.
이제 Custom Dimension 을 기준으로 조회해보자.
Explorations > Blank 를 선택하면 원하는 기준(Dimension)으로 원하는 지표(Metric)를 볼 수 있는 화면이 나온다.
디멘전과 메트릭은 사실 정확히 기준, 지표라고 말하기는 어려운데, Analytics 기본을 설명하려는 것은 아니니 대충 그 정도로 생각하고 넘어가자.
Segments, Dimensions, Metrics 에 각각 적당한 것을 넣어주면 내가 보고 싶은 데이터 (흑... 그냥 난 일간 조회수를 제목별로 보고 싶었다구요...)가 튀어나온다.
Segments 에서 + 버튼을 눌러 Event segment 를 하나 만든다. 여기에 내가 만든 'play' 이벤트도 나타날텐데, 이것을 선택하고 저장해준다.
Dimensions 에서 + 버튼을 누르고 Custom 탭을 선택하면 아까 만들어놓은 Custom Dimension을 선택할 수 있다. 모조리 선택하고 Import 눌러준다.
마지막으로 Metrics 에서 Event > Event count 를 선택해주면 된다.
이렇게 하면 Dimensions 와 Metrics 에 내가 사용할 수 있는 요소들이 나타나게 되는데, 이것들을 조합해서 원하는 데이터를 뽑아내면 된다.
간단하게 Dimensions 에서 Item Title 을 ROWS 에 끌어다 놓고, Metrics에서 Event count를 Values에 끌어다 놓으면 대략 어떻게 동작하는지 알 수 있게 된다.
여러 가지 다른 옵션들을 선택해보면 필요한 데이터를 쉽게 얻을 수 있을 것이다.
단, 커스텀 디멘젼을 정의한 이후에 수집된 데이터만 커스텀 디멘젼으로 분류되어서 나온다. 그 이전의 데이터는 (not set) 으로 표시될 것이다.
그러니 Custom Event 를 만들었다면, 바로 Custom Dimension 을 만들어놓는게 좋다.