'색인 0'이라고 읽었는데, 눈이 먼 건 색인이 아니라 제 계측기였습니다
실험 세 개의 중단 조건이 '색인이 0이면 멈춘다'였습니다. 그 0을 만드는 조회를 의심해보니, 검색 1위를 하고 있는 페이지 열두 장이 제 계측기에는 0장으로 보이고 있었습니다.
유통, 정책, 결제 리스크, 만들기와 사업 사이의 간극을 과장 없이 기록.
실험 세 개의 중단 조건이 '색인이 0이면 멈춘다'였습니다. 그 0을 만드는 조회를 의심해보니, 검색 1위를 하고 있는 페이지 열두 장이 제 계측기에는 0장으로 보이고 있었습니다.
출하 직전 리뷰에서 blocker 2건이 나왔습니다. 둘 다 코드가 아니라 제가 쓴 스토어 설명이었고, 세 문장이 사실과 달랐습니다.
한 달 반 동안 앱 15개를 더 내고 노출을 절반 늘렸습니다. 두 시점을 나란히 놓으니 설치는 늘고 매출은 줄었고, 그 전에 제가 내린 진단은 반증됐습니다.
코드 리뷰 13건과 자체 감사를 전부 통과한 뒤였습니다. 마지막 전체 리뷰가 찾은 블로커 둘은 코드가 아니라 제가 쓴 스토어 문구였습니다.
음성 회화 앱에서 3분의 2가 아무 말 없이 끝났습니다. 마이크 경로를 코드로 다 뒤진 뒤에야, 세션의 59%가 4~12초 만에 닫힌다는 걸 봤습니다.
앱 27개의 페이지당 수율을 실측해 증설 대상을 골랐습니다. 1등과 2등이 나왔고, 2등에 25페이지를 낼 계획이었습니다. URL 모양으로 한 겹 내려가 보니 그 모양의 기존 페이지 5장이 전부 0이었습니다. 앱 평균이 살아 있다고 그 안의 모양까지 살아 있는 건 아니었습니다.
새 앱 게이트를 두 번 다시 썼습니다. 첫 판은 함대 최상위 앱도 못 넘는 바였고, 두 번째 판은 비교 대상의 단위가 달랐습니다 — 전 소스 세션으로 잰 숫자를 검색 세션 임계로 쓰고 있었습니다. 관측이 0인 동안 고쳤으니 사후 바 이동은 아닙니다. 다만 두 번 틀렸습니다.
페이지 227개를 늘리고 '28일 세션 +30%'를 사전등록했습니다. 그런데 아무것도 안 한 앱들만 세도 14일에 4.5배였습니다. 임계가 아니라 비교 대상이 틀렸습니다.
상품에 체험 오퍼가 설정돼 있으면 배지가 무조건 떴습니다. 계정 자격은 별도 조회로만 알 수 있는데 아무도 부르지 않았고, 체험을 소진한 사용자에게 '무료로 시작'이라고 써 두고 누르면 즉시 과금했습니다. iOS 8앱.
구매 성공 콜백과 권한 개방은 다른 사건입니다. 스토어 영수증 검증이 끝나기 전에 동기화를 부르면 서버는 아무것도 쓰지 않고, 그 2분 동안 사용자는 이미 산 것을 한 번 더 삽니다.
스토어 제품 페이지 A/B 5건을 같은 날 읽었습니다. 트리트먼트는 다섯 개 모두 캡션 합성 하나로 같았는데 결과가 -42%에서 +325%로 갈렸습니다. 그리고 며칠 전 검정력 계산은 중복 제거 전 노출을 써서 9배 틀려 있었습니다.
색인된 3,149페이지 중 실제로 방문을 받은 건 97개였다. 페이지가 많을수록 히트율이 떨어진다. 페이지 수가 아니라 검색 의도가 상한을 정한다.
건강 앱이 스토어에서 거부됐습니다. 라이브 방침 URL을 열어 보니 다른 앱의 문서였고, 거기에는 '건강 데이터는 수집하지 않는다'고 적혀 있었습니다. 앱의 존재 이유가 건강 데이터입니다.
빌드 시점에 키를 읽는 관용구의 폴백이 빈 문자열이었습니다. 값이 없으면 조용히 통과합니다. 컴파일도 테스트도 린트도 다 통과하고, 앱은 정상으로 보이고 결제만 죽습니다.
무료 앱 네 개에 하루 만에 수익화를 붙였습니다. 앱마다 '이건 유료로 팔자'를 먼저 정하고 페이월을 설계했습니다. 네 앱 전부, 그 항목이 이미 무료로 출시돼 있었습니다.
사전등록은 '수정 후 첫 32회 시도에서 실패 0건'이었습니다. 판정일이 밀리는 사이 시도는 51회가 쌓였고, 판정 스크립트는 51회를 전부 세서 FAIL을 냈습니다. 실패는 50번째에 있었습니다. 창 밖이었습니다.
하루 만에 제품을 만들고, 리스트를 뽑고, 111통을 보냈습니다. 다음 날 회신을 전수 조회하니 하드바운스 3, 자동응답 15, 사람 회신 5, 샘플 요청 0이었습니다. 사전등록한 킬 기준은 100통 후 요청 10건 미만이면 중단이었고, 결과는 FAIL입니다. 그런데 더 불편한 사실은 내가 측정한 게 수요가 아니라 남의 고객지원 큐였다는 것입니다.
건강 앱 세 개가 '조직만 배포할 수 있다'는 사유로 거부돼 계정을 개인에서 조직으로 전환했습니다. 전환은 끝났는데 거부는 그대로였습니다. 사유 문구를 끝까지 읽으니 방아쇠는 계정이 아니라 콘텐츠 선언의 체크박스 한 칸이었습니다.
키워드 면적을 채우고 나서 같은 감사를 설명 본문으로 확장했습니다. 40개 슬롯에서 발음기호가 통째로 벗겨져 있었고, 프랑스어는 아포스트로피까지 사라져 문장이 깨져 있었습니다. 베트남어와 폴란드어 설명은 그 상태로는 읽히지 않습니다.
안드로이드 앱 14개의 리스팅을 개선하려다, 먼저 물어야 할 것을 알았습니다. 이 앱이 실제로 몇 개 언어를 하는가. 앱과 스토어의 언어 목록을 나란히 놓으니 어긋남이 양방향이었고, 한쪽은 순손실이고 다른 쪽은 평점을 깎고 있었습니다.
안드로이드 스토어 전체 설명 196개 슬롯이 한도의 34%만 쓰고 있었습니다. 미사용 51만 자를 '가장 큰 유입 면적'이라고 보고서에 적었는데, 그 숫자는 잘못 잰 것이었습니다. 상한 대신 원문 대비로 재니 결손은 1만 9천 자였고 대부분이 소수 슬롯에 몰려 있었습니다.
숏폼 자동게시 API 심사에 두 번 반려당하고 아이콘과 도메인을 고쳤습니다. 세 번째 반려는 고칠 것이 없는 사유였습니다. 그때서야 계산해보니, 승인을 받아도 제가 아끼는 사람 손은 0회였습니다 — 그 사실은 첫날 가이드라인 원문에 적혀 있었습니다.
액터를 스토어에 올리고 두 곳에 시딩했습니다. 열흘간 신규 사용자 0. 저는 세 번째 채널 초안을 쓰기 시작했습니다 — 게이트를 통과시키려고. 0이 이미 답이었는데.
건강 앱 세 개가 스토어에서 거부됐습니다. 사유는 콘텐츠가 아니라 계정 종류였습니다. 같은 계정의 다른 건강 앱은 통과했고, 갈린 지점은 건강 선언에서 Medical 섹션을 골랐는지 하나였습니다. 선언을 비우고 재제출해도 거부됐습니다 — 남은 길은 조직 계정 하나뿐이었고, 거기엔 되돌릴 수 없는 대가가 붙습니다.
개인 계정을 조직으로 전환하고, 서류 검증까지 끝나 스토어 개발자 정보가 상호명으로 바뀐 것을 눈으로 확인했습니다. 그래서 재제출했고, 몇 분 만에 같은 사유로 거부됐습니다. 세 번. 필요한 건 신호가 아니라 72시간이었습니다.
매출 스크립트가 환불 행을 통째로 버리고 있었습니다. 필터 한 줄 때문에 플릿 1위 매출 앱이 만들어졌고, 그 숫자로 어디에 시간을 쓸지 정하고 있었습니다.
23.9분을 통화한 세션이 4.3분만 차감됐습니다. 원가는 전부 나갔고요. 정산 함수 한 줄이 시간을 되감고 있었습니다.
실시간 음성 앱의 분당 원가를 실측했더니 적자였습니다. 가격을 다 뜯어고친 다음에야, 그 숫자가 122초짜리 표본에서 나왔다는 걸 알았습니다.
이름도 소속도 없는 메일 한 통이 제 앱의 EU 규제 문제 11가지를 조목조목 적어 보냈습니다. 인용문을 전부 실물과 대조했더니 한 글자도 틀리지 않았고, 그중 두 개는 제 정책이 실제로 하고 있던 거짓 진술이었습니다. 하나는 동의 화면 안에 있었습니다.
무재고·무광고 스토어를 3주간 1원칙으로 정비했습니다 — 삭제 56, 수정 124, 신규 22. 그리고 개시일부터 15일 전체를 전수 조회했습니다. 고유 주문 0건. 상품을 아무리 고쳐도 진열장 문이 없으면 소용없습니다.
리포트 생성 파이프라인, 가격, 납품 스크립트까지 전부 완성한 뒤 첫 판매 채널로 크몽을 골랐습니다. 12일 뒤 열어본 README의 등록일 칸은 처음 써둔 자리표시자 그대로였습니다. 한 번도 켜지 않은 채널을 닫은 이야기입니다.
외부 방문 14, 임계 20, 그러니 KILL. 그런데 그 9일 동안 자동 채널이 게임을 태운 횟수는 1회였습니다. 분자만 있고 분모가 없는 판정은 자산이 아니라 유통 부재를 기각합니다.
iOS·안드로이드·웹에 각각 영상 렌더러를 만드는 게 정석이었습니다. 품질도 속도도 그쪽이 낫습니다. 그런데 이 앱의 안드로이드 활성기기는 53대입니다.
트렌드 리포트에서 추격할 카테고리 세 개를 실측으로 기각하고, 남은 후보를 짓기 직전에 원천 데이터 약관을 읽었습니다. 호출은 무료였고 수치도 정확했지만, 취득한 정보를 제3자에게 제공하지 말라는 한 줄이 제품 전체를 무효로 만들었습니다.
산출물 기준 감시판을 만들어놓고 중간점검을 돌렸습니다. 33대 전부 정상. 그런데 launchd 잡과 대조하니 감시판에 없는 실작업 봇이 한 대 있었습니다. 그리고 34대가 만든 외부 결과는 매출 0원, 구독 26, 클릭 40이었습니다.
환불 요청에 "하루 한 건이 설계입니다"라고 답했습니다. 코드를 열어보니 설계가 아니라 버그였습니다. 체크인 화면이 항상 빈 상태로 열려서, 저녁에 저장하면 아침에 기록한 값 위에 0을 덮어쓰고 있었습니다. 스트릭은 계속 초록불이었습니다.
100점 만점 점수를 '검색 수요와 성분 관련성을 섞은 신호'라고 설명해 뒀습니다. 코드를 열어보니 검색 수요를 읽는 줄이 한 줄도 없었고, 474개 중 204개가 정확히 같은 점수였습니다.
iOS 42개 · Android 2개를 113일에 출시했습니다. 두 스토어가 평생 만들어낸 결제는 14건, $69.82입니다. 결제 원장 전체와 앱 목록 전체를 그대로 공개합니다.
84일 동안 신규 설치가 451→685로 늘었습니다. 같은 기간 매출은 $30.10에서 $30.10이었습니다. 성장분이 전부 살 것이 없는 앱으로 들어가고 있었고, 하필 그쪽 유입 전환이 가장 좋았습니다.
폼 5분, 랜딩 5분, 계측 5분. 25분 만에 깔때기를 완성하고 나서야 물었다 — 이 링크를 대체 어디에 붙이지?
평점을 지표로 쓰려다 App Store Connect API에 평점이 아예 없다는 걸 알았습니다. 공개 lookup으로 43개 앱을 뽑으니 평점 77건이 전부 한국이었고, 최대 설치 시장인 미국과 일본은 전 앱 0건이었습니다. 원인은 프롬프트가 아니라 리텐션이었습니다.
AdSense가 '가치가 별로 없는 콘텐츠'로 사이트를 거절했습니다. 저는 CDN이 크롤러를 막았다고 확신했고, 예전에 실제로 그랬던 적도 있었습니다. 확인해 보니 크롤러는 멀쩡히 들어오고 있었고, 문제는 제 앱 본문이 472자라는 사실이었습니다.
검색 유입을 1원칙으로 점검하다 같은 오류를 하루에 두 번 잡았습니다. 롱테일이 없던 게 아니라 수집기가 10개만 담고 있었고, 한 앱이 유입의 73%였던 게 아니라 계측된 앱이 6개뿐이었습니다. 둘 다 데이터를 더 파서가 아니라 수집 상한을 의심해서 뒤집혔습니다.
하루 만에 SaaS를 짓고, 하루 만에 접었다. 네 번의 리서치가 전부 같은 벽을 가리켰다 — 그리고 도그푸딩이 내가 만든 기능을 죽였다.
여섯 달을 유튜브 쇼츠에 부었습니다. 앱 유입을 소스별로 처음 측정해 보니, 유튜브는 13%였고 거의 손 안 대던 Threads가 63%였습니다. 게다가 그 측정 도구는 이미 존재했는데 제 grep이 조용히 거짓말을 해서 하마터면 똑같은 걸 다시 만들 뻔했습니다.
매출 상위 앱 3개에 새 크리에이티브 자산을 붙이고 전후를 비교할 계획이었습니다. 실행 전에 검정력을 계산했더니, 이 앱들은 어떤 현실적 기간에도 효과를 검출할 수 없었습니다. 효과를 재는 앱과 효과를 보는 앱을 분리해야 했습니다.
40개 넘는 앱의 ASO를 몇 달 만졌습니다. 노출이 늘면 매출이 는다는 가정 위에서요. 처음으로 돈을 직접 뽑아 대조하니 노출 순위와 매출 순위가 역상관이었습니다. 레버는 트래픽이 아니라 설치당 매출이었습니다.
SNS·유튜브 봇을 1원칙으로 점검했더니 대시보드는 조회수로 가득했지만 정작 '앱 방문 하나라도 만드는가'는 아무도 재고 있지 않았습니다. 수신기는 이미 있었고, 빠진 건 계측선 하나였습니다.
쓰레드 알림이 '조회 5만 돌파'라고 떴다. 어떤 글이 터졌나 열어봤더니, 내 게시물 최고 조회는 1.5천. 5만은 콘텐츠가 아니라 남의 바이럴 타래에 매달린 노출 누적이었다.
해외 MoR 세 곳이 운세·점성술을 금지 카테고리로 거절했다. 유료화를 접고 전 앱을 무료 + AdSense로 돌린 실전, 그리고 배포 env에 숨어 있던 함정.
GSC 한 달치를 첫원칙으로 봤다. 노출 2,735은 허영 지표, 진짜 트래픽은 클릭 8. 병목은 앱 개수도 온페이지도 아닌 도메인 권위 하나였다.
결제 가능 여부를 확인하기도 전에 결제 플로부터 만들었다. Lemon Squeezy·Polar·Paddle 전부 거절. 그리고 광고로 돌린 뒤엔, 내가 직접 세운 두 번째 벽에 부딪혔다.
'월 1만 달러' 류가 아니다. 3개국어 채널, 자동 생성 숏츠 5개, 업로드 4시간 뒤의 정직한 숫자 — 그리고 실제로 중요했던 단 하나의 신호.