왜 도구보다 이게 먼저인가. 지금 GA4 와 자체 이벤트가 둘 다 돌고 있는데
"어디서 깨지는지"를 아무도 말하지 못한다. 퍼널을 안 정하고 도구를 붙이면
숫자만 쌓이고 해석이 안 된다. 이 문서가 뭘 재야 하는지를 먼저 정한다.🚧 초안이다. 단계 이름과 경계는 대표가 고쳐야 한다. 특히 §2 의 "성공" 정의.
| 있는 것 | 상태 |
|---|---|
GA4 G-QSHEQZ8V9C |
gtag('config') 만. 페이지뷰는 잡히는데 커스텀 이벤트 0건 |
| 자체 이벤트 → KV(90일) | spike.js 가 22종 발사 |
/api/track/stats |
이벤트×일자 JSON. 게이트됨. 아무도 안 봄 |
spike.js 가 22종을 쏘는데 서버 허용목록에 12종만 있었다. 나머지는 조용히 버려졌다(로그도 없음).
버려진 것 중에 real_start·real_done·solo_convert 가 있었다 —
즉 "몇 명이 실전을 시작해 몇 명이 끝냈나"를 잴 데이터를 그동안 버리고 있었다.
→ 허용목록을 22종으로 맞췄다(2026-08-28). 🚫 track() 을 추가하면 src/index.js EVENTS 도 같이 고쳐라.
이벤트는 전부 spike.js(연습 앱) 안에서만 발사된다.
글·회사허브·공고·홈은 자체 이벤트 0건이다. GA4 페이지뷰만 있고 우리는 그걸 안 본다.
→ "검색으로 들어온 사람이 연습까지 가나"를 이을 수 없다. 퍼널의 앞쪽 절반이 통째로 비어 있다.
① 발견 검색·직접·형제사이트 → 어느 페이지로 들어왔나
↓ ✂ 이탈: 착지 후 아무것도 안 하고 나감
② 착지 이해 그 페이지에서 스크롤/체류 — "여기가 뭐 하는 데인지" 알았나
↓ ✂ 이탈: 읽기만 하고 나감 ← 콘텐츠 사이트의 정상 이탈
③ 시도 /spike 진입 — 연습을 해보기로 함
↓ ✂ 이탈: 들어왔는데 질문 하나도 안 답함 ← 여기가 제일 아플 것
④ 경험 질문 1개 이상 소리 내어 답함 + 거울(진단) 봄
↓ ✂ 이탈: 한 판 하고 안 돌아옴
⑤ 전환 재방문 / 이용권 결제
| 단계 | 재는 이벤트 | 상태 |
|---|---|---|
| ① 발견 | GA4 page_view + referrer/utm |
🟠 GA4 에만. 페이지 유형 구분 없음 |
| ② 착지 이해 | (없음) | 🔴 측정 안 됨 |
| ③ 시도 | room_view · taste_start · solo_start · real_start |
✅ (오늘부터 저장됨) |
| ④ 경험 | real_done · diag_done · diag_map |
✅ (오늘부터 저장됨) |
| ⑤ 전환 | paywall_view → paywall_click → redeem_ok · comeback |
✅ |
| 이탈 | abandon · silent · exit_x |
✅ |
②가 비어 있는 게 핵심이다. ①과 ③ 사이를 못 이으면
"검색으로 들어온 사람이 왜 연습을 안 하는지"를 영원히 모른다.
real_done) — 제품이 약속한 걸 경험한 순간. 초기에는 이게 맞다고 본다(c) 재방문(comeback) — 습관 형성
→ 초안 제안: 지금은 (b), 결제가 쌓이면 (a) 로 옮긴다
콘텐츠와 앱을 한 퍼널로 볼 것인가?
글 읽으러 온 사람과 연습하러 온 사람은 의도가 다르다.
→ 초안 제안: 두 퍼널로 나눈다. 콘텐츠 퍼널(글→스파이크)과 직접 퍼널(홈/공고→스파이크).
섞으면 "글은 잘 읽히는데 전환이 안 된다"를 못 본다
어느 이탈이 정상인가?
글만 읽고 나가는 건 콘텐츠 사이트에서 정상이다. 이걸 실패로 세면 글을 쓸수록 지표가 나빠진다.
→ 초안 제안: ②→③ 전환율은 "글 유입"에서 낮게, "공고·회사 유입"에서 높게 기대한다.
페이지 유형별로 기준선을 따로 잡는다
지금 이벤트는 "무슨 일이 일어났나"만 있고 "어디서" 가 없다.
track('real_start', { page_type: 'job', entry: 'search', ref_host: 'naver' })
page_type: home | job | company | article | prep | role | spikeentry: search | direct | sibling | social (첫 진입 시 sessionStorage 에 저장)land)을 심어 ①→③ 을 잇는다🚫 개인정보를 싣지 마라 — 페이지 유형·유입 출처까지다. URL 전문·검색어는 넣지 않는다.
이미 있는 gtag 로 같은 이벤트를 한 번 더 보낸다. 그러면 GA4 탐색 리포트에서 퍼널이 바로 보인다.
자체 KV 는 우리 것, GA4 는 교차검증용. 둘 다 있는 게 낫다 —
자체는 90일 제한·집계가 거칠고, GA4 는 세그먼트·퍼널 UI 가 있다.
🔑 GA4 Data API 는 GSC·색인 API 와 같은 서비스계정 키로 읽는다.
형이 한 번 만들 키 하나가 셋을 연다:
① 색인 API(구글에 URL 푸시) ② Search Console(색인 현황) ③ GA4(유입·퍼널)
→ 주간 크론이 "색인 몇 개 / 유입 몇 명 / 어느 단계에서 깨졌나"를 한 로그에 뽑는다.
셋업:scripts/GINDEX_SETUP.md(10분) — 지금 이 문서 전체의 병목이 이 파일 하나다.
GA4 는 몇 명이 어디서 나갔나를 준다. 왜 나갔는지는 안 준다.
Microsoft Clarity(무료·무제한·한국어)가 세션 녹화와 히트맵을 준다 —
스크롤이 어디서 멈추는지, 어느 버튼을 누르려다 말았는지가 보인다.
비용: JS 약 10KB 비동기 추가. ③→④ 이탈(제일 아플 구간)을 찾을 땐 이게 제일 빠르다.
→ 🚧 넣을지 대표 판단. 개인정보 처리방침에 한 줄 추가가 필요하다.
| 왜 | |
|---|---|
| GTM 도입 | 태그 관리 도구다. 우리 문제는 태그가 많아서가 아니라 뭘 잴지 정의가 없어서다. JS 만 늘고 답은 안 나온다. 자체 이벤트 파이프도 이미 있다(재발명 금지) |
| 새 분석 SaaS(Amplitude·Mixpanel 등) | 표본이 거의 0인 단계에서 도입 비용만 크다. 먼저 퍼널을 정하고 이벤트를 채운다 |
| 개인 식별 추적 | 🚫 "로그인 없음 · 답변 서버 미저장"이 제품 약속이다. 그걸 깨는 측정은 하지 않는다 |
측정 자체가 목적이 아니다. ③→④ 이탈률 하나만 정확히 알아도 다음에 뭘 고칠지가 정해진다.