GTM 스크롤 추적 설정: 트리거·GA4 전송·검증 3단계 기준
GTM 스크롤 추적은 단순히 "몇 %까지 내렸는지"를 세는 기능이 아닙니다. 클릭과 전환 사이에서 랜딩페이지의 어느 구간에서 사용자가 이탈하는지 보여주는 진단용 데이터입니다.
GTM 스크롤 추적 설정에서 가장 중요한 건 트리거를 켜는 일이 아닙니다. 어떤 구간을 왜 측정하는지 먼저 정하고, GA4 기본 스크롤 이벤트와 겹치지 않게 보내는 것이 먼저입니다. 이 순서를 건너뛰면 숫자는 쌓이는데 아무 판단도 못 하는 데이터만 남습니다.
아래에서 트리거 설계, GA4 전송, 검증과 활용까지 3단계 기준으로 설명합니다.
1. GTM 스크롤 추적 설정 전에 정할 것: 측정 기준과 GA4 기본값
GTM을 열기 전에 먼저 확인할 것이 있습니다.
GA4에는 이미 향상된 측정(Enhanced Measurement)의 스크롤 이벤트가 기본으로 켜져 있다는 점입니다.
① GA4 기본 스크롤 이벤트의 한계
GA4 향상된 측정의 스크롤 이벤트는 페이지 하단 90% 지점에 처음 도달했을 때 딱 한 번만 발생합니다.
이벤트 이름은 scroll이고, 매개변수 percent_scrolled에는 항상 90이 들어갑니다.
즉 "끝까지 봤는지"만 알 수 있고, 어디에서 멈췄는지는 알 수 없습니다.
상세페이지가 긴 이커머스나 설명이 많은 리드 수집 랜딩에서는 이게 치명적입니다.
90% 도달률이 낮다는 건 알 수 있지만, 사용자가 첫 화면에서 나간 건지 가격 영역에서 나간 건지 구분할 수 없거든요.
-> 구간별 이탈을 보려면 GTM 스크롤 깊이 트리거로 직접 설정해야 합니다.
② 측정 기준: 퍼센트 vs 픽셀
GTM의 스크롤 깊이 트리거는 두 가지 단위를 지원합니다.
구분 | 퍼센트(%) 기준 | 픽셀(px) 기준 |
|---|---|---|
기준 | 페이지 전체 높이 대비 비율 | 페이지 상단부터의 절대 거리 |
장점 | 페이지 길이가 달라도 비교 가능 | 특정 섹션 도달 여부를 정확히 측정 |
단점 | 페이지가 길면 한 구간이 너무 넓음 | 기기·해상도별로 같은 px가 다른 위치 |
적합한 상황 | 여러 랜딩 간 비교, 일반 콘텐츠 | 레이아웃이 고정된 단일 상세페이지 |
실무 기본값 | 25, 50, 75, 90 | 섹션 시작 위치 기준 3~5개 |
실무에서는 대부분 퍼센트 기준 25/50/75/90으로 시작합니다.
다만 상세페이지가 모바일에서 세로로 매우 긴 경우, 25% 한 구간 안에 후기·성분·가격이 다 들어가 버려 해석이 어려워집니다.
이럴 때는 퍼센트를 10단위(10, 20, 30…)로 쪼개거나, 핵심 섹션 위치를 기준으로 판단하는 편이 낫습니다.
③ 섹션 도달이 목적이라면 스크롤보다 요소 공개 트리거
여기서 자주 놓치는 지점이 있습니다.
"가격 영역까지 본 사람"을 알고 싶은 거라면, 사실 스크롤 깊이보다 요소 공개(Element Visibility) 트리거가 더 정확합니다.
스크롤 %는 페이지 길이가 바뀌면 같은 50%가 다른 섹션을 가리키게 됩니다.
반면 요소 공개 트리거는 특정 CSS 선택자나 ID가 화면에 보였는지를 기준으로 하기 때문에, 레이아웃이 바뀌어도 "가격 영역 노출"이라는 의미가 유지됩니다.
-> 전체 흐름의 이탈 구간은 스크롤 깊이로, 특정 섹션 도달은 요소 공개로 나눠 쓰는 것이 기본 원칙입니다.
2. GTM 스크롤 깊이 트리거·태그 설정 순서
측정 기준이 정해졌다면 이제 GTM에서 실제로 세팅합니다.
순서는 변수 → 트리거 → 태그 → GA4 맞춤 측정기준 4개 단계입니다.
1단계: 기본 제공 스크롤 변수 활성화
GTM 작업공간에서 [변수] → [기본 제공 변수 구성]으로 들어가 스크롤 관련 변수 3개를 체크합니다.
Scroll Depth Threshold: 도달한 기준값 (25, 50 등)
Scroll Depth Units: 단위 (percent 또는 pixels)
Scroll Direction: 방향 (vertical 또는 horizontal)
이 변수를 켜지 않으면 트리거는 작동해도 "몇 %에 도달했는지" 값을 태그에 넘길 수 없습니다.
실제로 이벤트는 잘 들어오는데 매개변수가 비어 있는 경우, 대부분 이 단계가 빠진 경우입니다.
2단계: 스크롤 깊이 트리거 생성
[트리거] → [새로 만들기] → 트리거 유형 스크롤 깊이를 선택합니다.
세로 스크롤 깊이 체크
비율:
25,50,75,90(쉼표로 구분)활성화 시점: 기본값 '창 로드(gtm.load)' 유지 권장
실행 조건: 측정할 페이지만 지정 (예: Page Path 포함
/product/)
활성화 시점은 그대로 두는 걸 권합니다.
'컨테이너 로드'나 'DOM 준비'로 바꾸면 이미지가 다 불러와지기 전에 페이지 높이를 계산하기 때문에, 실제보다 짧은 페이지로 인식되어 기준값이 앞당겨 발생할 수 있습니다.
그리고 전체 페이지가 아니라 측정할 페이지만 지정해 두는 것이 좋습니다.
블로그·고객센터·마이페이지까지 전부 스크롤 이벤트를 보내면 이벤트 수만 늘고, 정작 광고 랜딩 데이터는 묻혀 버립니다.
3단계: GA4 이벤트 태그 생성
[태그] → [새로 만들기] → Google 애널리틱스: GA4 이벤트를 선택합니다.
측정 ID 또는 구글 태그 연결
이벤트 이름:
scroll_depth(★scroll사용 금지)이벤트 매개변수:
percent_scrolled→{{Scroll Depth Threshold}}page_location→{{Page URL}}(필요 시)트리거: 2단계에서 만든 스크롤 깊이 트리거
이벤트 이름을 scroll로 하면 GA4 향상된 측정의 기본 이벤트와 이름이 같아져서, 90% 지점에서는 같은 이벤트가 두 번 집계됩니다.
해결 방법은 두 가지입니다.
① 이벤트 이름을 scroll_depth처럼 다르게 짓는다
② GA4 데이터 스트림에서 향상된 측정의 '스크롤 수' 항목을 끈다
두 리포트를 동시에 보는 팀이 있다면 ①이 안전하고, 스크롤 데이터를 GTM 한 곳에서만 관리하고 싶다면 ②가 깔끔합니다.
어느 쪽이든 둘 중 하나는 반드시 정리해야 합니다.
4단계: GA4 맞춤 측정기준 등록
이 단계를 빠뜨리는 경우가 정말 많습니다.
GA4는 직접 보낸 매개변수를 자동으로 보고서 측정기준으로 만들어주지 않습니다.
[관리] → [맞춤 정의] → [맞춤 측정기준 만들기]에서
범위: 이벤트
이벤트 매개변수:
percent_scrolled
로 등록해야 탐색 보고서에서 "25% 도달 몇 명, 50% 도달 몇 명"을 나눠 볼 수 있습니다.
등록 이전에 쌓인 데이터는 소급 적용되지 않으니, 태그를 게시하는 날 함께 등록하는 것이 원칙입니다.
구글 태그 설치 순서: 광고 성과 측정 전 확인할 4단계 기준
3. GTM 스크롤 추적 검증과 데이터가 틀어지는 5가지 예외 케이스
태그를 게시했다고 끝이 아닙니다.
스크롤 데이터는 이벤트가 들어오는 것처럼 보여도 실제로는 틀린 값인 경우가 많습니다.
① 미리보기 모드로 발생 순서 확인
GTM 미리보기(Tag Assistant)를 켠 상태로 측정 페이지에 들어가 천천히 스크롤합니다.
왼쪽 이벤트 목록에 Scroll Depth가 25 → 50 → 75 → 90 순서로 하나씩 찍히는지 봅니다.
동시에 GA4 [관리] → [DebugView]에서 scroll_depth 이벤트와 percent_scrolled 값이 같이 들어오는지 확인합니다.
-> GTM에서는 발생하는데 GA4에 안 들어온다면 태그의 측정 ID·구글 태그 연결 문제, 둘 다 들어오는데 값이 비어 있다면 1단계 변수 활성화 문제입니다.
② 예외 1 — 짧은 페이지에서 25·50·75%가 동시에 발생
페이지가 짧으면 처음 로드되는 순간 이미 화면에 페이지의 75%가 보이는 경우가 있습니다.
이때 GTM은 로드와 동시에 25, 50, 75%를 한꺼번에 발생시킵니다.
모바일 이벤트 랜딩처럼 짧은 페이지에서 75% 도달률이 비정상적으로 높게 찍힌다면 이 현상일 가능성이 큽니다.
이런 페이지는 스크롤 %가 의미 없으니 측정 대상에서 빼거나, 요소 공개 트리거로 바꾸는 편이 맞습니다.
③ 예외 2 — 무한 스크롤·지연 로딩으로 페이지 길이가 변함
상품 목록이 아래로 계속 붙는 페이지나, 이미지를 지연 로딩하는 상세페이지는 스크롤하는 동안 페이지 높이가 계속 늘어납니다.
그러면 처음에 50%였던 지점이 나중엔 30% 지점이 되면서 기준이 흔들립니다.
이런 구조라면 퍼센트 대신 픽셀 기준이나 요소 공개 트리거로 바꾸는 것이 정확합니다.
④ 예외 3 — 내부 스크롤 영역(div)은 잡히지 않음
GTM 스크롤 깊이 트리거는 브라우저 창(window) 전체의 스크롤만 측정합니다.
페이지 안의 특정 박스(팝업, 모달, 고정 높이 영역)가 따로 스크롤되는 구조라면 아무리 내려도 이벤트가 발생하지 않습니다.
일부 랜딩 빌더나 앱 내 웹뷰가 이런 구조인 경우가 있으니, 미리보기에서 이벤트가 전혀 안 찍힌다면 이 부분부터 확인해야 합니다.
⑤ 예외 4 — SPA(단일 페이지 앱)에서 페이지 이동 후 재발생 안 됨
React·Vue 기반으로 페이지 새로고침 없이 화면만 바뀌는 사이트는, 페이지가 바뀌어도 GTM 입장에서는 같은 페이지로 인식될 수 있습니다.
그러면 첫 페이지에서 이미 발생한 기준값이 다음 페이지에서는 다시 발생하지 않는 문제가 생깁니다.
SPA라면 미리보기에서 페이지 이동 후에도 25%부터 다시 찍히는지 반드시 따로 확인하고, 안 된다면 개발 측과 기록 변경(History Change) 기반으로 구성을 다시 잡아야 합니다.
⑥ 예외 5 — 페이지별 1회 발생이라 "횟수"로 읽으면 안 됨
스크롤 깊이 트리거는 한 페이지 조회에서 각 기준값마다 한 번씩만 발생합니다.
올렸다 내렸다를 반복해도 다시 세지 않습니다.
그래서 스크롤 이벤트 수를 "관심도"처럼 읽으면 안 되고, 페이지 조회 대비 각 구간 도달 비율로 읽어야 합니다.
⑦ 실무 판독 예시: 구간별 도달률로 이탈 지점 찾기
한 브랜드의 상세페이지를 25/50/75/90으로 측정했을 때 이런 흐름이 나왔다고 가정해 보겠습니다.
구간 | 해당 구간 섹션 | 판독 포인트 |
|---|---|---|
0 → 25% | 첫 화면, 메인 카피 | 여기서 대거 이탈 → 광고 소재와 랜딩 첫 화면 메시지 불일치 |
25 → 50% | 후기, 사용 장면 | 완만하게 감소 → 정상 흐름 |
50 → 75% | 성분, 상세 스펙 | 급감 → 정보 과다, 순서 재배치 검토 |
75 → 90% | 가격, 구매 버튼 | 도달자 대비 구매 전환 낮음 → 가격 제시 방식 문제 |
여기서 핵심은 가장 크게 꺾이는 구간 하나를 찾는 것입니다.
예를 들어 50→75% 구간에서 도달률이 절반 이하로 꺾인다면, 그 구간에 있는 섹션을 앞뒤로 옮기거나 줄이는 것이 첫 번째 가설이 됩니다.
반대로 0→25%에서 크게 빠진다면 랜딩보다 광고 소재가 약속한 내용과 첫 화면이 맞는지부터 봐야 합니다.
같은 랜딩이라도 소재에 따라 첫 구간 이탈이 크게 달라지는 경우가 실무에서 흔하기 때문에, 가능하면 GA4 탐색 보고서에서 캠페인·소재(utm_content) 단위로 나눠서 보는 것이 좋습니다.
⑧ 광고 운영에 연결하는 방법
스크롤 데이터는 보고서에서 끝나지 않고 광고 타겟으로도 쓸 수 있습니다.
GA4:
scroll_depth이벤트 중percent_scrolled75 이상인 사용자로 잠재고객 생성 → 구글 광고 리마케팅에 연결메타: 같은 스크롤 깊이 트리거로 메타 픽셀 맞춤 이벤트(예:
Scroll75)를 발생시켜 웹사이트 맞춤 타겟 생성
이렇게 만든 "75% 이상 본 미구매자"는 단순 방문자보다 관심도가 높은 모수라서, 리타겟팅 예산을 좁게 쓸 때 유용합니다.
다만 모수가 작아지는 만큼, 일정 규모가 쌓이기 전에는 전체 방문자 리타겟팅과 병행하는 것이 안전합니다.
GTM 메타 픽셀 설치 기준: 태그·트리거·중복 방지 3단계
자주 묻는 질문
GTM 스크롤 추적이 GA4에 안 들어오는 이유는?
GTM 미리보기에서는 트리거가 발생하는데 GA4에 없다면, GA4 이벤트 태그의 측정 ID나 구글 태그 연결이 잘못된 경우가 대부분입니다. 미리보기 자체에서 Scroll Depth 이벤트가 안 찍힌다면 트리거의 실행 페이지 조건이나 내부 스크롤 영역 구조를 먼저 확인해야 합니다.
GA4 기본 스크롤 이벤트와 GTM 스크롤 이벤트를 같이 써도 되나요?
같이 쓸 수는 있지만 이벤트 이름이 같으면 90% 지점이 중복 집계됩니다. GTM 쪽 이벤트 이름을 scroll_depth처럼 다르게 짓거나, GA4 향상된 측정의 스크롤 항목을 꺼서 한쪽으로 정리해야 합니다.
GA4 보고서에서 스크롤 퍼센트별로 보려면 어떻게 하나요?
GA4 [맞춤 정의]에서 percent_scrolled를 이벤트 범위 맞춤 측정기준으로 등록해야 합니다. 등록 이후 데이터부터 보이므로, 태그 게시와 동시에 등록하는 것이 좋습니다.
스크롤 추적은 퍼센트와 픽셀 중 무엇이 좋나요?
여러 페이지를 비교하거나 처음 세팅한다면 퍼센트 기준 25/50/75/90이 무난합니다. 지연 로딩·무한 스크롤로 페이지 길이가 바뀌거나 특정 섹션 도달을 알고 싶다면 픽셀 기준이나 요소 공개 트리거가 더 정확합니다.
스크롤 75% 도달 사용자로 리타겟팅이 가능한가요?
가능합니다. GA4에서 해당 조건의 잠재고객을 만들어 구글 광고에 연결하거나, 같은 트리거로 메타 픽셀 맞춤 이벤트를 보내 웹사이트 맞춤 타겟을 만들 수 있습니다. 모수가 작을 수 있으니 초기에는 전체 방문자 타겟과 병행하는 편이 안전합니다.
마무리
GTM 스크롤 추적 설정 자체는 30분이면 끝납니다.
차이는 그 전후에서 납니다.
설정 전: GA4 기본 90% 이벤트로 충분한지, 구간별 이탈이 필요한지 먼저 정하기
설정 중: 변수 활성화 → 측정 페이지만 지정한 트리거 →
scroll과 겹치지 않는 이벤트 이름 → 맞춤 측정기준 등록설정 후: 짧은 페이지·지연 로딩·내부 스크롤·SPA 예외부터 걸러내고, 가장 크게 꺾이는 구간 하나를 찾아 가설로 만들기
스크롤 데이터는 "많이 봤다, 적게 봤다"를 확인하는 숫자가 아닙니다.
광고가 데려온 사람이 랜딩 어디에서 마음을 접는지 알려주는 숫자입니다.
그 지점을 찾고, 고치고, 다시 측정하는 흐름을 반복하면 같은 광고비로도 랜딩의 전환 효율을 꾸준히 끌어올릴 수 있습니다.