3편은 자동화 이야기와 Adjust를 다룹니다.
트래킹 자동화는 어떻게 하셨나요?
먼저 트로스트 환경의 두가지 전제를 짚고 넘어가겠습니다.
1. 트로스트는 ReactJS 를 기반으로 컴포넌트화하여 관리자가 직접 UI 변경을 손쉽게 진행할 수 있습니다.
이는 API 를 통해서 팩토리패턴으로 구현되어 있습니다, (그래서 디자인이 자주 바뀌고 유연하게 바뀌어요)
2. 특정 동작이 발생했을 때에만 트래킹을 요합니다.
이러한 두가지 전제를 바탕으로 API 에서 트래킹 데이터를 제공 받고,
click handler 에 트래킹 함수에 파라미터로 데이터를 전달하였습니다.
추가적으로 admin 에서 UI 뿐 아니라 트래킹 데이터까지 입력하여 자동화를 완료할 수 있었습니다.
// onClickHandler
dataTrackingProperties.forEach((forEached) => {
const {
mixpanelEventName = '',
mixpanelEventData = {},
adjustTrackerID = '',
} = forEached;
if (mixpanelEventName) customEvent(mixpanelEventName, mixpanelEventData);
if (adjustTrackerID) adjustEvent(adjustTrackerID);
});
// 자동화에 도움주신 백엔드 개발자 T님 감사드립니다.
Adjust 는요?
Adjust 는 기존에 매출 추적용으로 잘 되어있었기 때문에 크게 손 볼 사항은 없었습니다 ..
사실 있었습니다.
특정 결제 부분에서 Web 에서는 결제액을 string 으로 보내고 App 에서는 결제액을 int 로 처리하고 있어, 매출액이 찍히지 않는 현상이 있었습니다.
이 부분은 TypeScript 를 적용함으로써 개선할 수 있었습니다.
또한 Adjust Tracker ID 를 상수 선언으로 모듈화를 진행하였습니다.
// adjustList.js
const 애드저스트가입완료 = 'abcdef';
/**
* https://{slackURL}
*/
const 애드저스트결제시작 = 'fedcba';
/**
* https://{slackURL}
*/
< 마치며 >
트래킹을 잘 해보겠다! 로 시작한 저의 2021-4 OKR 은 멀고 먼 길을 돌아오게 되었습니다.
저의 Key Results 는 기존+신규 트래커 100% 였습니다.
트로스트의 4분기 신규 트래커는 약 70여개, 기존 트래커는 약 80여개로 총 150개입니다.
이 중 100여개를 유지보수 및 신규개발하여 KR의 달성도는 70%입니다.
트래커의 의사소통 구조에 대해, 트래커의 코드레벨에 대해 시간을 투자하지 않고
막무가내로 작업하는 데에 시간을 쏟았다면 100%를 충분히 달성할 수 있었을 것 같습니다.
하지만 과연 달성도 자체가 가장 중요한 것일지에 대해 질문을 던지고자 합니다.
막무가내로 작업하여 100%를 달성했다면 무엇을 얻을 수 있었을까요?
일시적인 성취감과 단순반복노동으로 인한 피로감을 얻었을 것 같습니다.
또한 분기 OKR 을 끝낸 후에는 트래킹에 대한 개선사항이 없을 것 같습니다.
항상 '왜?' 라는 질문을 던져야한다고 생각합니다.
내가 왜 이러한 목표를 잡았는가?
저는 왜 트래커 100%를 목표로 잡았을까요?
단순히 트래커의 무결성을 높이고, 신규개발을 잘 하게 된다면 앞으로도 트래킹을 잘 할 수 있을까
트래킹이 어떠한 연유로 인해 중요한가
개발자로서의 성장이 있었을까
이 글을 읽는 독자분들께서도 항상 목표와 목표에 대한 '왜' 를 생각해시는 계기가 되셨으면 좋겠습니다.
긴 글 읽어주셔서 감사드립니다.
* 트로스트의 공식블로그, 공식글이 아닌 개인임을 밝힙니다.
** Notion 및 코드는 가공 혹은 컨펌을 받았습니다.
'일 이야기 > Trost' 카테고리의 다른 글
[Trost Dev] 사내 데이터 트래킹 정복하기 (2) (0) | 2021.12.16 |
---|---|
[Trost Dev] 사내 데이터 트래킹 정복하기 (1) (0) | 2021.12.16 |