티스토리 방문통계를 칸별로 대조해봤습니다 — 되는 칸, 오히려 나아지는 칸, 영원히 안 되는 칸
블로그를 세 곳 굴리고 있습니다. 하나는 직접 만든 정적 사이트고 둘은 티스토리입니다. 티스토리 관리자에는 방문통계 화면이 있고, 제가 실제로 열어보던 값은 결국 하나였습니다 — 어떤 글에 몇 명이 들어왔나. 이걸 서버 없이, 쿠키 없이, 돈 안 들이고 가져갈 수 있는지 재봤습니다.
처음 세운 질문은 「티스토리 통계를 대체할 수 있나」였습니다. 이 질문으로는 답이 안 나옵니다. 「대체로 됩니다」 같은 말밖에 안 나오는데, 그 말은 정작 안 되는 칸을 만났을 때 아무 도움이 안 됩니다.
그래서 화면을 항목 단위 12칸으로 쪼개고 칸마다 따로 판정했습니다. 쪼개고 나니 답이 세 종류로 갈렸습니다. 되는 칸, 오히려 나아지는 칸, 도구를 바꿔도 영원히 안 되는 칸.
12칸 판정표
| 티스토리 항목 | 대체 | 판정 | 비고 |
|---|---|---|---|
| 개별 글 조회수 | Path 차원 | 완전대체 | 티스토리 URL이 /51 같은 숫자라 제목이 아니라 글번호로 뜹니다 |
| 인기글 | Path 정렬 | 완전대체 | 전용 탭이 아니라 표 정렬로 봅니다 |
| 블로그별 분리 | Host 차원 | 완전대체 | Site 가 아닙니다 (아래) |
| 국가·기기·브라우저·OS | 기본 차원 | 완전대체 | 티스토리보다 넓습니다 |
| 여러 블로그를 한 화면에 | 계정 집계 뷰 | 얻는 것 | 티스토리엔 없던 기능입니다 |
| 통계 백업·이관 | API | 얻는 것 | 티스토리 백업에는 통계가 안 담깁니다 |
| 유입 경로(리퍼러) | Referer 차원 | 부분 | 대시보드는 호스트까지, 경로는 API에서만 |
| 조회수 정확도 | — | 부분 | 광고 차단 + 7일 뒤 샘플링 |
| 방문자 수 | — | 부분 | Visits 는 사람 수가 아닙니다 |
| 유입 검색어 | 검색엔진 콘솔 | 가장 크게 잃는 칸 | 다음·빙은 불가 |
| 「이 글 × 이 검색어」 | 서치 콘솔 실적 | 부분 | 구글 한정, 클릭·노출이지 방문자가 아님 |
| 댓글·공감·구독자 | 없음 | 대체 대상 아님 | 티스토리에서 계속 봅니다 |
여덟 칸이 완전대체 또는 얻는 것이고, 세 칸이 부분이고, 한 칸이 못 넘어옵니다. 「대체로 된다」와 이 표는 정보량이 다릅니다.
두 칸은 대체가 아니라 오히려 얻는 것이었습니다
티스토리는 블로그마다 관리자에 따로 들어가야 했습니다. 세 곳이면 세 번, 다섯 곳이면 다섯 번입니다. 계측 토큰 하나를 여러 사이트가 공유하면 대시보드를 여는 순간 합산이 뜨고 거기서 블로그별로 쪼갭니다. 없던 기능이 생기는 쪽입니다.
두 번째는 백업입니다. 티스토리 백업 파일을 받아보면 글과 첨부는 들어 있는데 통계는 안 들어옵니다. 플랫폼을 떠나는 순간 지난 방문 기록은 같이 못 나옵니다. 바깥 계측으로 옮기면 그 값이 API로 빠집니다.
앞선 글에서 티스토리 쪽 비콘이 POST 404를 돌려주는 데서
막혔고, 남은 가설 하나를 미확인으로 남겨뒀습니다 — 사이트가 자동 설치 모드라
수동 수집 경로가 안 열려 있다는 가설이었습니다.
그 가설이 맞았습니다. 관리 화면에서 스니펫 설치 방식으로 바꾸니
세 호스트 전부 204로 바뀌었습니다.
다만 curl 재현은 전환 뒤에도 404였습니다. 손으로 만든 요청이 브라우저와
어딘가 다르다는 뜻이라, 최종 확인은 개발자 도구로 했습니다.
그리고 여기서 축을 잘못 적어뒀던 게 드러났습니다
「블로그별로 나눠 본다」 칸을 저는 Site 차원으로 적어뒀습니다.
사이트를 구분하는 차원이니 당연히 그걸로 나뉠 거라고 생각했습니다.
아닙니다. 토큰 하나를 여러 호스트가 공유하면 그 전부가 같은 Site 값 하나로 들어옵니다.
실제 분리축은 Host 입니다. 그러니 이건 표기 실수가 아니라 택일 구조였습니다.
| 통합 뷰 | 블로그별 분리 | 비고 | |
|---|---|---|---|
토큰 1개 + Host 로 분리 | 된다 | 된다 | 「한 곳에서 본다」는 이쪽 |
토큰 N개 + Site 로 분리 | 안 된다 | 된다 | 대시보드를 N번 연다 |
둘 다 「블로그별로 보인다」까지는 같아서, 차원 이름만 보고는 차이가 안 드러납니다.
차이는 통합 뷰를 잃느냐에서 납니다.
그리고 제가 원래 원했던 게 정확히 그 통합 뷰였습니다.
Site 로 적어둔 채 진행했으면 토큰을 사이트마다 새로 발급했을 것이고,
얻으려던 칸을 스스로 버린 상태로 「대체 완료」라고 적었을 겁니다.
유입 검색어는 도구를 바꿔도 안 풀립니다
이 칸만 다른 칸과 성질이 다릅니다. 도구 선택 문제가 아니라 구조입니다. 세 겹으로 막혀 있습니다.
하나, 계측 쪽이 쿼리스트링을 아예 안 받습니다. 제공되는 차원은 열 종입니다 —
Country · Host · Path · Referer · Device type · Browser · OS · Site · Exclude Bots ·
Navigation type. 이 목록에 쿼리스트링도 UTM도 없습니다. 민감정보 회피가 이유라
API로 내려받아도 나오지 않습니다. (Navigation type 은 2026-04-30에 추가된 차원인데
문서 로드 방식 진단용이라 유입 분석에는 기여가 없습니다.)
둘, 다른 도구로 갈아타도 그 칸이 없습니다. GA4에는 「구글 오가닉 검색어」 차원이
없습니다. GA4의 Search term 은 사이트 내부 검색어고, Manual term 은 utm_term 입니다.
이름이 비슷해서 있는 줄 알기 딱 좋게 생겼습니다.
셋, 애초에 브라우저가 안 보냅니다. 구글의 referrer-policy 가
strict-origin-when-cross-origin 이라 리퍼러에 오리진까지만 실립니다.
검색어는 거기에 실려 있질 않습니다.
그러니 검색어는 검색엔진이 자기 콘솔로 되돌려주는 경로로만 옵니다. 구글은 서치 콘솔, 네이버는 서치어드바이저입니다. 다음과 빙은 어디에서도 못 봅니다. 티스토리는 전 검색엔진 키워드를 한 화면에 섞어서 보여줬으므로, 이 칸은 무엇을 붙여도 완전히는 복구되지 않습니다.
콘솔로 오는 값도 같은 값이 아닙니다. 클릭·노출·순위지 방문자가 아니고, 글별 검색어 교차도 구글 한정입니다.
「방문자 수」로 읽던 지표가 사람 수가 아니었습니다
여기가 조용히 틀리기 쉬운 칸입니다. 이 계측의 Visits 는 쿠키를 쓰지 않고,
리퍼러가 자기 호스트와 다른 페이지뷰를 셉니다. 방문자 수라는 이름이 붙어 있지만
사람 수가 아닙니다. 사람 수에 가까운 값은 GA4의 Total users 인데
그건 2년짜리 쿠키를 씁니다.
⇒ 「쿠키 없이 방문자 수」는 이 스택 어디에서도 얻을 수 없습니다.
이 칸을 티스토리 「방문자」 옆에 나란히 놓고 늘었다·줄었다를 말하면 그 문장은 그냥 틀린 문장입니다.
대체하는 쪽의 한계도 먼저 적어둡니다
| 항목 | 값 |
|---|---|
| 보관 | 6개월 (하드캡) |
| 샘플링 | 최근 7일은 무샘플, 이후 약 10%로 축소 |
| UTM·쿼리스트링 | 미수집 |
| 커스텀 이벤트 | 미지원 |
| 광고 차단 | 차단됨 — 비율의 공개 자료 없음 |
| 사이트 상한 | 프록시 없는 사이트 10개 소프트 리밋 |
| 비용 | 무료 · 쿠키 없음 |
보관 6개월은 「작년 이맘때」를 영영 못 본다는 뜻입니다. 백업 칸을 얻는 것으로 판정해놓고 백업을 안 돌리면 그 이득은 없는 것과 같습니다.
지금 아니면 영영 못 재는 값이 하나 있습니다
광고 차단으로 얼마나 잃는지입니다. 차단된다는 것 자체는 확정입니다 — 공개 필터 목록에 비콘 호스트를 막는 규칙이 있고(6579행), 경로 단위 규칙도 따로 있습니다(566·568·569행).
여기서 또 하나 틀렸습니다. 저는 자동 설치가 퍼스트파티 경로로 나가니 차단을 덜 탈 거라고 생각했습니다. 위의 경로 규칙들이 도메인과 무관하게 걸려서 자동 설치도 똑같이 막힙니다. 이 축에서 자동과 수동은 우열이 없습니다.
비율은 1차 자료가 존재하지 않습니다. 만든 쪽도 「차단된다」까지만 인정하고 숫자를 낸 적이 없습니다. 그런데 지금 제 손에 대조군이 있습니다. 티스토리 자체 통계는 플랫폼이 자기 쪽에서 세므로 차단을 안 타고, 바깥 비콘은 브라우저에서 도니 차단을 탑니다. 두 계측이 같은 블로그에 동시에 붙어 있는 지금, 같은 기간 수치를 대조하면 이 블로그들의 실제 손실률이 나옵니다.
티스토리를 접으면 대조군은 사라집니다. 그리고 안 재두면, 나중에 숫자가 낮게 나올 때 「트래픽이 줄었다」로 오독하게 됩니다.
확인하지 못한 것
- 비교 대상의 절반을 문서로만 봤습니다. 티스토리 통계 화면을 전수로 뜯는 작업이 컴퓨터 절전으로 끊겼습니다. 그래서 위 표 왼쪽 열에서 1차로 확인한 범위는 고객센터 문서 두 건에 적힌 다섯 항목 — 조회수/방문자 · 유입 경로 · 유입 키워드 · 개별 글 통계 · 인기글 — 까지입니다. 실시간 로그나 누적 합계 같은 세부, 그리고 백업에 통계가 담기는지는 그 목록 밖이라 확인 강도가 다릅니다. 비교표를 그리면서 비교 대상을 눈으로 안 본 셈이고, 이건 이 글의 약한 지점입니다.
- GA4 보관 기간도 잘못 적어뒀습니다. 「무료는 14개월밖에 못 본다」고 써뒀는데, 2/14개월 설정은 탐색 분석 쪽에 걸리고 표준 집계 보고서에는 영향이 없습니다. 글별 조회수를 표준 보고서로 보는 한 그 컷에 안 걸립니다. 다만 API·대시보드 도구 경로까지 같은지는 확인하지 못했습니다. 같은 자리에서 한국어 화면 이름도 헷갈렸습니다 — 「유입경로 보고서」는 퍼널이고, 트래픽 소스는 「트래픽 획득」입니다. 번역된 메뉴 이름으로 판단하면 정반대로 갑니다.
- API의 리퍼러 경로에 쿼리스트링이 포함되는지. 포함되면 검색어 일부가 나올 여지가 있는데, 「쿼리스트링 미수집」 원칙이 리퍼러 경로에도 적용되는지 명시를 못 찾았습니다.
- 네이버 유입에서 리퍼러가 실제로 전달되는지. 안 오면 네이버 유입이 전부 direct 로 뭉쳐서, 「국내 검색이 얼마나 오나」를 못 봅니다.
- 광고 차단 실제 비율. 위에 적은 대로 아직 안 쟀습니다.
정리
- 「대체할 수 있나」를 통째로 묻지 말고 칸으로 쪼개서 물으면 답이 갈립니다. 여덟 칸은 되고, 두 칸은 나아지고, 한 칸은 안 됩니다
- 유입 검색어는 도구 문제가 아닙니다. 계측·GA4·브라우저 세 겹이라 갈아타도 안 풀립니다
- 분리축은
Site가 아니라Host였습니다. 토큰을 사이트마다 새로 발급하면 얻으려던 통합 뷰를 스스로 버립니다 Visits는 사람 수가 아닙니다. 플랫폼 「방문자」와 나란히 놓지 마십시오- 대조군은 없어지기 전에 써야 합니다. 두 계측이 같이 붙어 있는 기간은 다시 안 옵니다