지난 다섯 주 동안 저는 열심히 만들었어요. SNS 홈 피드, 매거진, Stories rail, 리더 모드, 카드뉴스. 커밋 로그는 빽빽했어요. 매주 뭔가가 배포됐고요. 그래서 잘 가고 있다고 믿었어요.
손이 바쁘면 앞으로 가는 것처럼 느껴지거든요.
그러다 이번에 처음으로 사이트에 Google Analytics를 제대로 붙였어요. 숫자를 열어봤고요. 그리고 느낌이 틀렸다는 걸 알았어요.
붙이는 것부터 만만치 않았어요
숫자를 세션 안에서 바로 보고 싶어서, GA4를 MCP로 붙이기로 했어요. 여기서 벽이 세 개 나왔어요.
첫째, 인증이요. 개인 계정으로 로그인하면 될 줄 알았어요. 그런데 GA를 읽는 권한은 구글이 "민감한 권한"으로 묶어놔서, 기본 방식으로는 동의 화면 자체가 막혀요. "확인 안 된 앱" 취급이거든요. 그래서 서비스 계정을 만들고, 키를 발급하고, 그 계정을 GA에 뷰어로 초대하는 정공법으로 돌아갔어요.
둘째, 인증이 엉뚱한 프로젝트로 새는 문제요. 제 컴퓨터에는 예전에 걸어둔 다른 프로젝트의 키가 환경변수로 살아 있었어요. 그게 모든 구글 인증을 조용히 가로채고 있었고요. 이 서버만 인증 파일을 따로 지정해서 풀었어요.
셋째, 이게 제일 웃겨요. 속성 이름이요. 계정을 열어보니 GA 속성이 다섯 개인데, 정작 사이트 트래픽이 들어오는 속성의 이름이 사이트 이름과 달랐어요. 이름만 보고 골랐으면 "데이터가 없네?" 하고 엉뚱한 결론을 냈을 자리예요. 이름 말고 숫자로 확인해야 했어요.
세 개를 다 넘고 나서야 대시보드가 열렸어요. 붙이는 데만 한 세션이 갔어요.
숫자는 5초 만에 저를 반박했어요
열자마자 두 개가 눈에 박혔어요.
하나. 유입의 80%가 검색이었어요. 제가 다섯 주 동안 공들인 SNS 표면에서 들어온 건 1%도 안 됐고요. 저는 트래픽의 1%도 안 되는 표면을 열심히 다듬고 있었던 거예요.
둘. 그 검색 유입이 직전보다 30% 빠져 있었어요. 천천히 내려가고 있었고, 시점을 맞춰보니 제가 SNS 홈으로 손을 옮긴 바로 그 주부터였어요. 사이트를 실제로 먹여 살리던 엔진은, 제가 다른 걸 만드는 동안 아무도 안 돌봐서 식고 있었어요.
계측이 없었으면 저는 이걸 몰랐을 거예요. 계속 몰랐을 거예요. 커밋 수랑 배포 빈도만 보면서, 정작 봐야 할 걸 안 보고 있었으니까요.
계측은 나중에 붙이는 게 아니에요
엔지니어링에서 관측은 보통 "일단 만들고, 문제 생기면 붙이는 것"으로 봐요. 로그, 메트릭, 알림. 사고가 나야 아쉬운 것들이요.
그런데 이번에 배운 건 조금 달라요. 계측은 사고 대응 도구이기 전에, 내가 지금 어느 엔진을 몰고 있는지 알려주는 계기판이에요. 그게 없으면 감으로 날게 돼요. 그리고 감은 "손이 바쁜 쪽"을 성장이라고 착각하게 만들어요. 만들기 좋은 표면과, 실제로 사람을 데려오는 표면은 자주 다른데도요.
제일 아팠던 건 이거예요. 다섯 주치의 정직한 노동이, 계기판 하나만 먼저 붙였어도 첫 주에 방향을 틀 수 있었어요. 코드가 부족했던 게 아니에요. 어떤 문제를 풀지 알려줄 숫자가 없었던 거예요.
그래서 로드맵의 첫 줄이 바뀌었어요
이번에 나온 결론은 신기능이 아니었어요. 다음 할 일 1순위는, 이 30% 하락이 공급이 굶은 건지 배포가 순위를 떨어뜨린 건지 가르는 거였어요. 둘은 처방이 정반대인데, 계기판 없이는 어느 쪽인지 모르니까요.
한 줄로 적으면 이래요. 안 보이면 못 키워요.
엔진을 튜닝하는 손보다, 그 엔진에 계기판을 붙이는 손이 먼저예요. 가장 싸고 가장 효과 큰 일은, 자주 기능이 아니라 그냥 보이게 만드는 일이었어요.

