실측 기록

수익을 재는 계기판을 직접 붙였다 — 하루치 기록

발행

이 사이트는 AI 수익화를 다룹니다. 그런데 정작 우리 사이트의 숫자를 우리가 못 보고 있었습니다. 2026-08-28에 그걸 고쳤고, 이 글은 그날의 기록입니다.

이건 조사가 아니라 실행 기록입니다. 잘된 것과 막힌 것을 같이 적습니다.

환경

항목
날짜2026-08-28 (KST)
사이트Next.js(App Router) · Cloudflare Workers 배포
붙인 것GA4 Data API (analyticsdata.googleapis.com/v1beta)
인증구글 클라우드 서비스 계정 (JWT → 액세스 토큰)

막힌 곳 ① — 「측정」과 「읽기」는 다른 열쇠다

화면에는 「Google Analytics 연결됨」이라고 떠 있었습니다. 측정 ID가 환경변수에 들어 있으니 코드가 그렇게 판단한 것입니다. 그런데 숫자는 어디에도 안 나왔습니다.

둘이 완전히 다른 것이었습니다.

측정 ID (G-XXXXXXX)50브라우저 → 구글. 공개돼도 된다
서비스 계정 키50우리 서버 → 구글. 절대 공개 금지

측정 ID는 보내는 값이라 HTML에 그대로 박혀 있습니다. 읽으려면 서비스 계정이 따로 있어야 하고, 그건 완전히 다른 절차입니다.

화면 문구를 고쳤습니다. 한 줄로 「연결됨」이라고 적으면 숫자가 나올 거라고 기대하게 됩니다. 「측정」과 「읽기」를 다른 줄로 갈랐습니다.

막힌 곳 ② — 합계가 조용히 0으로 나왔다

붙이고 나서 처음 받은 응답이 이랬습니다.

✅ GA 응답 받음 (최근 7일)
   사용자   : 0
   세션     : 0
   페이지뷰 : 0
   상위 페이지:
     54  /ko
     15  /ko/auth/sign-in
      5  /ko/auth/sign-up

상위 페이지는 54회인데 사용자는 0명. 앞뒤가 안 맞습니다.

원인은 요청에서 metricAggregations를 빼먹은 것이었습니다. 넣지 않으면 구글이 합계를 아예 보내지 않습니다. 그리고 우리 코드는 없는 값을 0으로 떨어뜨리고 있었습니다.

오류가 나지 않았습니다. 200이 왔고, 행도 정상이고, 합계만 0이었습니다. 이런 건 화면을 보고 「방문이 없나 보다」로 읽게 됩니다.

한 줄 고치고 다시 부르니 이렇게 나왔습니다.

   사용자   : 37
   세션     : 40
   페이지뷰 : 81

행을 더해서 합계를 만들 수도 없었습니다. 사용자와 세션은 페이지마다 중복되기 때문에 더하면 실제보다 부풀려집니다. 구글이 중복을 제거해 준 값을 받아야 했습니다.

뒤늦게 안 것 — 이미 등록돼 있었다

작업 전에 「Search Console 미등록」이라고 정리해 뒀습니다. 운영 HTML에 google-site-verification 메타태그가 없었기 때문입니다.

틀린 판단이었습니다. 도메인 속성은 DNS TXT로 인증하므로 메타태그가 없는 것이 정상입니다. 열어 보니 2026-08-16에 이미 등록돼 있었고 사이트맵도 제출돼 있었습니다.

배운 것

  • «없다»는 결론은 그 도구를 직접 열어서 확인한다
  • «측정된다»와 «읽을 수 있다»를 항상 갈라 적는다
  • 숫자가 0이면 «없다»인지 «못 읽는다»인지 먼저 가른다

하지 말 것

  • 간접 증거(메타태그 유무)로 등록 여부를 판단하지 않는다
  • 오류가 안 났다고 값이 맞다고 믿지 않는다
  • 행을 더해서 합계를 만들지 않는다 — 중복이 섞인다

이 기록이 남에게 쓸모 있는 지점

  1. 1

    당신의 «연결됨»도 확인해 보십시오

    분석 도구가 «연결됨»이라고 말할 때, 그게 «보내는 중»인지 «읽을 수 있음»인지 확인하십시오. 대개는 앞쪽입니다.

  2. 2

    0이 뜨면 두 가지를 의심하십시오

    «진짜 0»과 «못 읽는 0»은 다음에 할 일이 정반대입니다. 앞이면 유입을 늘려야 하고, 뒤면 설정을 고쳐야 합니다.

  3. 3

    서비스 계정에는 권한을 따로 줘야 합니다

    키를 만들었다고 읽히지 않습니다. GA4 «속성 액세스 관리»에 그 계정을 뷰어로 추가해야 합니다. 안 하면 403입니다.

걸린 시간과 한계

작업 자체는 오래 걸리지 않았습니다. 막힌 두 곳을 찾는 데 시간이 갔습니다 — 둘 다 오류를 내지 않고 조용히 틀린 값을 보여 주는 종류였기 때문입니다.

이 기록의 한계는 표본이 1이라는 것입니다. 우리 사이트 하나에서 있었던 일이고, 다른 환경에서 같은 곳에 막힌다는 보장은 없습니다.

수익 이야기가 아닙니다. 이 글에 나오는 숫자(사용자 37 · 세션 40 · 페이지뷰 81, 최근 7일)는 방문 수치이지 수익이 아닙니다. 이 사이트는 아직 광고도 결제도 켜지 않았고, 그래서 수익은 0입니다. 그 사실을 숨길 이유가 없습니다.

그래서 이 글이 여기 있습니다. 재는 것부터 못 하면 수익화는 시작도 안 됩니다.

목록으로 실측 기록