[데이터 파이프라인] GA4와 GTM으로 행동 로그 쌓기 삽질하며 배운 점

2 분 소요

Intro

서비스를 운영하는데 필요한 트랜잭션(transaction) 로그가 아닌, 고객의 행동 로그를 쌓기 위해서 GA4와 GTM을 이용하였다.

  • GTM을 이용하면 개발자의 도움이 없어도 간단한 자바스크립트, HTML 지식으로 원하는 데이터를 수집할 수 있었다.

  • 또 무료로 구글의 빅쿼리와 연동하여 원본 데이터에 접근이 가능해졌으며, 빅쿼리를 이용해 고객 행동 데이터를 Jupyter Notebook나 Redash와 같은 BI툴에 연동할 수 있었다.



     

일단 되는대로 다 쌓자!

물론 소제목처럼 정말 되는대로 다 쌓자는 아니었다. 우선 마케터, PO, 기획자와 함께 서비스의 주요한 퍼널에 초점을 두고, 필요한 이벤트를 추려냈다. 그리고 각 이벤트에 추가적으로 필요한 속성값(Property)을 매개변수로 설정하였다. 이러한 작업을 반복하여 GTM Tag를 만들어 배포했고, 배포된 고객 행동 이벤트를 빅쿼리에 일별로 적재했다.

       

문제는 이벤트 로그가 없어서가 아니다

회사에서 겪을 수 있는 상황

로깅을 신경쓰지 않고 진행 ⇒ 특정 기능 배포 ⇒ 성과를 확인하려고 하니, 데이터에 누락이 있음을 발견(혹은 잘못된 로깅) ⇒ 다시 로깅을 한 후, 배포 ⇒ 과거 성과는 알 수 없음 이런 경우를 방지하기 위해 데이터 로깅도 항상 신경쓰고 + 데이터 QA도 진행해야 함

출처: https://zzsza.github.io/data/2021/06/13/data-event-log-definition/



빅쿼리에 내가 정의한 고객 행동 데이터가 차곡차곡 쌓여 가는 것을 보고 처음에는 매우 기뻤다. 하지만 위에 서술한 상황이 글자 하나 안 바뀌고 그대로 나에게 일어났다. 로그를 통해 성과와 고객 데이터를 분석하려고 하니, 잘못된 로깅이 있음을 발견했고, 태깅을 수정하여 다시 배포해야 했다.

하지만 이미 늦었다. 잘못 들어온 해당 로그 데이터는 믿을 수 없게 되면서 과거의 성과 또한 믿을 수 없게 되었다. 데이터 QA를 제대로 진행하지 않은 탓이렸다.

그리고 수집하고 있는 데이터 중에 분석에 필요하지 않는 데이터들이 있었다. 퍼널 분석에 필요한 이벤트를 추려냈다고 하지만 여전히 필요하지 않은 이벤트와 속성(key, value)이 존재했다. 거기다가 내부 Database에서 쌓고 있는 데이터도 중복으로 쌓고 있었다. 로그를 설계하는 당시에는 서비스 퍼널을 분석하는 데 정말 필요하다고 생각했나 보다.

이러한 문제를 방지하기 위해서는 “로그 설계”에서 부터, 데이터 분석가의 관점에서 “이 데이터가 쌓이면 분석에 어떻게 활용할 수 있지?”를 깊게 고민했어야 했다. 또 모든 지표를 로깅할 수 없기에, 어떤 지표를 핵심 지표로 볼 것인지 정의를 명확하게 내렸어야 했다.

결국 핵심은 ‘필요한’ 데이터를 ‘정확’하게 수집하는 것이다.

     

배운 점

행동 이벤트 로그 설계에 관련한 글에서도 결국 ‘필요한’ 데이터를 ‘정확’하게 수집하는 것이 그 골자였다. 그리고 결국 우리가 로그를 적재하는 이유도 어떤 목적을 가지고 분석하기 위해서라는 것을 잊으면 안될 것 같다.

배운 점을 정리하면 다음과 같다.

첫 번째, 어떤 로그 이벤트를 쌓든지 간에 “로그 설계”가 가장 중요하다. 분석가뿐만 아니라, 모두가 “이 로그 데이터가 쌓이면 어떤 분석에 활용할 수 있지”를 깊게 고민해야 한다.

두 번째, 데이터 QA와 로깅 작업은 항상 신경 쓰고 제대로 해야 한다. 모든 문제는 이벤트 로그가 없어서가 아니다. 로그 데이터를 신뢰할 수 없기 때문에 생기는 문제이기 때문이다.

세 번째, 이벤트 로그 설계한 내용을 잘 기록해 두어야 한다.

네 번째, 무작정 많은 데이터를 수집하기보다는 ‘필요한’ 데이터를 ‘정확’하게 수집해야 한다.

   

참고 자료

데이터 로그 설계, 데이터 로깅, 이벤트 로그 설계, 데이터 QA의 모든 것