GA4 페이지뷰 오류: 방문하지 않은 페이지의 조회수가 잡히는 원인

구글 애널리틱스 GA4에서 방문한 적 없는 페이지의 페이지뷰가 잡히는 현상을 추적한 기록입니다. GA4 페이지뷰 오류 현상으로 인해 추측 로딩과 사이트 코드를 먼저 의심했지만, 실제 원인은 모바일 브라우저에 열어둔 채 잠들어 있던 탭이 복귀 시 다시 로딩되면서 페이지뷰를 발생시킨 것이었습니다.
특정 페이지에 들어갈 때마다, 열지도 않은 다른 페이지의 조회수가 GA4에 같이 찍히는 일이 있었습니다. 원인을 찾는 데 며칠이 걸렸고 결국 사이트 문제가 아니었기 때문에, 같은 상황을 겪는 분들을 위해 과정을 그대로 남깁니다.
1️⃣ GA4 페이지뷰 오류 증상
모바일에서 A 페이지에 진입하면, 약 0.2초 뒤에 B 페이지의 페이지뷰가 함께 기록됐습니다.
GA4 페이지뷰 오류의 특징이 두 가지 있었습니다. 첫 번째 진입에서만 발생하고, 이어서 5~6번 다시 들어갔을 때는 재현되지 않았습니다. 그리고 화면을 건드리지 않고 페이지를 열기만 해도 발생했습니다. 손가락이 링크를 스친 것도 아니었다는 뜻입니다.
2️⃣ GA4 페이지뷰 오류로 인해 먼저 의심했던 것들
🔲 추측 로딩
브라우저가 다음에 누를 것 같은 링크를 미리 불러오는 기능입니다. 이 중 prerender 방식은 보이지 않는 곳에서 페이지를 통째로 실행하기 때문에, 그 페이지의 GA4 태그까지 같이 실행됩니다. 증상과 가장 잘 맞아 떨어지는 후보였습니다.
크롬 개발자 도구에서 확인하는 방법은 두 가지입니다.
첫 번째는 페이지 소스에서 직접 찾아보는 것입니다. 문제가 발생한 페이지를 크롬에서 열고 Ctrl + U 를 누르면 소스 보기 창이 뜹니다. 여기서 Ctrl + F 로 speculationrules 를 검색하면 됩니다. 결과가 나오면 speculationrules 타입의 script 블록이 있다는 뜻이고, 그 안의 mode 값이 prefetch 인지 prerender 인지 보면 됩니다.
두 번째는 크롬 개발자 도구입니다. F12 로 개발자 도구를 열고 Application 탭 → 좌측 Background services(백그라운드 서비스) → 추측 로드(Speculative loads) 항목을 펼치면 됩니다. 여기에 미리 불러온 주소와 그 방식이 표로 표시됩니다. 이 패널은 현재 열려 있는 페이지 기준으로 기록되므로, 조회수가 찍힌 페이지가 아니라 출발지 페이지를 열어둔 상태에서 봐야 합니다. 도착지 페이지에서 보면 아무것도 안 나옵니다.


검색 결과는 0건이었습니다. 사이트가 내보내는 규칙 자체가 없었습니다.
🔲 클릭 추적 스크립트
제휴 링크 클릭을 잡으려고 넣어둔 스크립트가 있었습니다. 다만 이 코드는 지정한 이벤트 하나만 전송하고 페이지뷰는 발생시키지 않습니다. 판별 조건에 걸리지 않는 주소는 아예 전송 자체가 일어나지 않습니다. 무관했습니다.
🔲 헤더 메뉴
B 페이지 주소가 헤더 메가 메뉴 안에 들어 있었습니다. 메뉴는 사이트 전역에 붙으니, 이게 원인이면 다른 글에서도 똑같이 재현돼야 합니다.
다른 글에서는 한 번도 발생하지 않았습니다. 이 가설도 탈락입니다.
3️⃣ 실제 원인
GA4 페이지뷰 오류의 단서는 엉뚱한 곳에 있었습니다. 브라우저에 B 페이지 탭이 열린 채 계속 남아 있었다는 점입니다.
모바일 브라우저는 메모리 확보를 위해 오래 안 본 탭을 잠재웁니다. 그리고 브라우저로 돌아와 그 탭이 다시 활성화되는 순간, 페이지를 처음부터 다시 불러옵니다. 이때 그 페이지에 심어둔 GA4 태그도 함께 실행되면서 페이지뷰가 하나 쌓입니다.
A 페이지에 들어간 것과 B 페이지 조회수가 찍힌 것은 인과관계가 아니라, 브라우저를 켜는 시점이 겹쳤을 뿐이었습니다. 첫 진입에서만 발생하고 이후 재진입에서는 안 나온 이유도 이걸로 설명됩니다. 재로딩은 한 번만 일어나니까요.
사이트 코드는 무죄였고, 수정할 것도 없었습니다.
4️⃣ 같은 증상이라면 확인 순서
- 크롬에서 Ctrl + U → Ctrl + F 로 speculationrules 검색: 나오면 추측 로딩 쪽입니다.
- 다른 글에서도 재현되는지 확인 :
→ 재현되면 헤더·푸터 등 전역 요소, 안 되면 그 페이지 고유 문제이거나 사이트 밖 원인입니다. - 브라우저에 열려 있는 탭을 전부 닫고 재현 — 여기서 증상이 사라지면 잠자던 탭 재로딩입니다.
5️⃣ 테스트하면서 같이 확인한 것
지역 정보는 위치 판별에 못 씁니다. 화성에서 접속했는데 GA4에는 서울로 표기됐습니다. 모바일 데이터로 접속하면 통신사 IP를 타기 때문입니다. 본인 세션을 골라내려면 지역이 아니라 기기와 접속 시각으로 봐야 합니다.
테스트용으로 열어둔 시크릿 탭은 이번 집계에 잡히지 않았습니다. 다만 시크릿 모드라고 해서 GA4 추적이 원천 차단되는 것은 아니라, 이건 일반화할 만한 결론은 아닙니다.
정리하면, GA4 페이지뷰 오류의 원인은 사이트를 상시 열어놓고 확인하는 운영자 본인의 브라우저 환경이 만든 데이터였습니다. 방문자 수가 적은 초기 단계일수록 자기 세션 몇 개가 전체 그림을 흔들기 때문에, 내부 트래픽 필터를 먼저 걸어두는 편이 이런 추적 시간을 줄여줍니다.
ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.