비즈니스 현실8 분 읽기

앱 유입의 63%는 내가 안 밀던 채널에서 왔다

여섯 달을 유튜브 쇼츠에 부었습니다. 앱 유입을 소스별로 처음 측정해 보니, 유튜브는 13%였고 거의 손 안 대던 Threads가 63%였습니다. 게다가 그 측정 도구는 이미 존재했는데 제 grep이 조용히 거짓말을 해서 하마터면 똑같은 걸 다시 만들 뻔했습니다.

#first-principles#analytics#reality-check#traffic#automation
개념 도식: 왼쪽은 공들인 유튜브가 앱 유입 13%, 오른쪽은 거의 안 밀던 Threads가 63%
가장 많이 투자한 채널이 가장 적게 데려왔다 — 측정하기 전까진 몰랐다.

유튜브 쇼츠 채널 여섯 개, 세로 영상 렌더 파이프라인, 매주 토큰 재발급, 채널 전화인증. 앱으로 사람을 데려오려고 여섯 달을 여기에 부었습니다. 그런데 어느 채널이 실제로 앱 방문을 만드는지 한 번도 소스별로 측정한 적이 없었습니다.

질문 하나 먼저 드립니다. 당신은 지금 어느 채널이 실제 유입을 만드는지 숫자로 아십니까, 아니면 "제일 공들인 채널이 제일 잘 되겠지"라고 믿고 있습니까? 저는 믿고 있었습니다. 틀렸습니다.

대시보드가 잰 건 활동이지 유입이 아니었다

제 대시보드들은 전부 활동을 쟀습니다. 조회수, 발행 편수, 팔로워. 정작 "이 조회수가 앱 방문으로 이어지는가"는 아무도 안 쟀습니다. 앱에 GA4 태그(gtag)는 붙어서 보내고는 있었는데, 그 데이터를 읽는 코드가 없었습니다. 보내기만 하고 아무도 안 읽는 계측 — 소리 없이 허공에 쌓이고 있었습니다.

그래서 소스별 유입 리더를 짓기로 했습니다. 그런데 여기서 두 번 넘어졌습니다.

grep이 거짓말을 했다

먼저 "이미 GA4 읽는 코드가 있나" 확인하려고 이렇게 쳤습니다.

grep -rlE "runReport|analyticsdata" . --include=*.py

결과: 아무것도 없음. "리더 없음, 새로 짜야겠다." 저는 스크립트를 다 짜고, GA4 접근용 OAuth 동의까지 준비했습니다.

그런데 이 명령은 아무것도 못 찾은 게 아니라, 아예 실행되지 않았습니다. zsh에서 --include=*.py*.py가 먼저 글로브 확장을 시도하다 매치가 없어 no matches found로 죽었고, grep 자체가 안 돌았습니다. 화면엔 그냥 결과 없음처럼 보였을 뿐. 빈 결과와 "명령이 죽음"을 구분하지 못한 겁니다.

기억을 뒤지니 이미 답이 있었습니다. 다른 대시보드가 이미 GA4를 읽고 있었고, 토큰도 이미 발급돼 있었습니다. 하마터면 (1)똑같은 리더를 중복으로 만들고 (2)이미 있는 토큰 놔두고 불필요한 OAuth 동의를 다시 할 뻔했습니다.

여기서 멈추고 여쭙겠습니다. 당신이라면? grep이 빈 결과를 뱉으면 "없구나" 하고 새로 짜겠습니까, 아니면 종료 코드부터 보겠습니까? 검색 도구가 "못 찾음"과 "안 돌아감"을 같은 화면으로 보여줄 때, 전자는 사실이지만 후자는 거짓입니다.

그래서 실제 숫자는

리더가 기존 자격 증명을 재사용해 곧장 돌았습니다. 최근 28일, 앱 전체 유입:

소스별 세션(175 총)
  Threads          110   (63%)
  직접              25   (14%)
  Facebook          14   ( 8%)
  YouTube 쇼츠       22   (13%)
  Instagram          4   ( 2%)
 
앱별
  ddi               128   (73%)
  나머지 6앱 합       47   (27%)

여섯 달 부은 유튜브가 13%. 거의 손 안 대던 Threads(텍스트 봇 하나)가 63%. 그리고 서른네 개 앱 중 **하나(ddi)가 73%**를 먹었습니다.

유튜브 쪽을 더 파 보니 더 아팠습니다. 일본어 쇼츠 채널은 조회 1만 4천인데, 그게 만든 앱 세션은 스물둘. 쇼츠→프로필 링크→앱으로 가는 길에서 거의 전부가 샜습니다. 도달(조회)은 있는데 유입 전환이 0에 가까웠습니다. 조회수는 활동이지 유입이 아니라는 걸 숫자가 그대로 보여줬습니다.

정직한 부분

이건 성공담이 아닙니다. 하루 6세션은 절대량으로 작습니다. 어느 채널도 아직 큰 승자가 아니에요. 하지만 상대 신호는 명확합니다: Threads ≫ 유튜브, ddi ≫ 나머지. 절대량이 작다고 상대 신호를 무시하면, 계속 13%짜리 채널에 여섯 달을 더 붓게 됩니다.

그리고 유튜브가 쓸모없다는 게 아닙니다 — 브랜드 인지도(나중에 상호명으로 구글에 검색해 들어오는 유입)는 유튜브가 만들 수 있습니다. 다만 직접 앱 유입이라는 하나의 축에선 13%라는 것, 그 하나가 측정 전엔 안 보였다는 것입니다.

병목은 콘텐츠를 더 찍는 게 아니라 되는 채널·되는 앱에 집중하는 것이었습니다. 측정하기 전엔 "더 만들자"가 답 같았고, 측정한 뒤엔 "안 밀던 데로 옮기자"가 답이었습니다.

당신의 유입을 지금 점검할 세 가지:

  1. 채널별 앱 유입을 소스로 갈라 본 적이 있는가, 아니면 조회수·팔로워(활동)만 보고 있는가?
  2. 계측을 보내기만 하고 읽는 쪽을 안 만든 건 없는가? (gtag 붙였다 ≠ 데이터 본다)
  3. 검색 도구가 "결과 없음"을 줄 때, 그게 빈 결과인지 죽은 명령인지 종료 코드로 확인했는가?

계측을 붙여만 두고 안 읽던 그 배선 이야기는 따로 적었고, 조회수와 실제 성과가 어긋나는 같은 함정은 Threads 5만 조회 편에도 있습니다. 도구가 조용히 거짓말하는 다른 사례는 진단 코드가 버그를 가린 편에.

지금 딱 하나만 해보세요. 당신 앱의 유입을 소스별로 한 번 뽑아 보세요. 제일 공들인 채널이 1등이 아닐 확률이, 생각보다 높습니다.

관련 글