Google 애널리틱스에서 비활성 상태를 기준으로 세션을 정의하고 엄격하게 제한하는 방법을 비롯하여 사용자 및 세션 범위에 대한 개념적 개요는 측정기준 및 측정항목: 애널리틱스 세션 정보 및 트래픽 소스 측정기준의 범위 가이드를 참고하세요.
이 가이드에서는 세션 구성 및 수동 추적을 관리하기 위한 개발자별 과제와 권장사항을 설명합니다.
페이지 수준 측정기준과 세션 측정항목 페어링
가장 일반적인 보고서의 미묘한 차이 중 하나는 페이지 범위 측정기준(예: 페이지 경로 및 화면 클래스)을 세션 수준 세션수 측정항목과 페어링할 때 발생합니다.
세션 및 뷰 정의
세션은 특정 페이지 경로가 한 번 이상 로드된 고유한 기간을 집계합니다.
조회수(페이지 조회수)는 페이지 경로가 로드된 총 누적 횟수를 집계합니다.
예
사용자 탐색 경로가 /home → /products → /home → 종료인 단일 세션을 가정해 보겠습니다.
이 세션이 유일한 세션인 경우 페이지 경로 및 화면 클래스와 세션 또는 조회수 측정항목으로 구성된 보고서에는 다음이 표시됩니다.
| 페이지 경로 | 세션 | 조회수 |
|---|---|---|
/home |
1 | 2 |
/products |
1 | 1 |
| 합계(Google 애널리틱스 중복 삭제) | 1 | 3 |
행을 합산하면 세션이 2개이지만 실제 속성 총계는 중복 삭제되어 1개입니다.
맞춤설정 규칙
- 페이지 경로가 있는 세션은 경로를 한 번 이상 방문하는 순 세션을 의미합니다.
- 방문 페이지가 있는 세션은 경로에서 시작하는 순 세션을 나타냅니다. 방문 트래픽을 보려면 항상 페이지 경로가 있는 세션이 아닌 방문 페이지 + 쿼리 문자열을 사용하세요.
- 조회수는 항상 총 로드 빈도를 집계합니다.
개발자 및 분석가를 위한 권장사항
- 범위 일관성 유지: 세션 실적을 파악하는 것이 목표인 경우 사용자 범위 트래픽 측정기준(예: 신규 사용자 기본 채널 그룹)을 세션 범위 측정항목(예: 평균 세션 시간)과 혼합하지 마세요.
- DebugView에서
session_start검증: 품질 보증 및 확인 단계에서 Google 애널리틱스 DebugView와 같은 표준 디버깅 도구를 사용하여 세션 시작 시session_start가 올바르게 실행되는지 확인합니다.
세션 만료 시간 관리를 위한 권장사항
Google 애널리틱스 세션의 기본 시간은 30분입니다.
비활성 시간 제한을 방지하기 위해 Google 애널리틱스에 주기적으로 '핑'을 보내는 맞춤 코드를 구현하지 않는 것이 좋습니다. 세션 측정항목을 인위적으로 부풀리면 사용자 행동 데이터가 왜곡됩니다. 대신 기본 제공되는 Google 애널리틱스 기능을 활용하거나 의미 있는 참여 이벤트를 타겟팅하여 더 깔끔한 솔루션을 제공하세요.
일반적인 '연결 유지' 핑이 권장되지 않는 이유
- 핵심 측정항목 왜곡: 사용자가 탭에서 벗어나면 실제로 비활성 상태가 됩니다. 세션을 강제로 열어두면 '좀비 세션'이 생성되고 평균 세션 시간이 잘못 부풀려집니다. 이로 인해 사용자가 관심을 잃거나 사이트를 이탈하는 실제 지점이 가려집니다.
- 참여 세션에 미치는 영향: Google 애널리틱스에서는 참여 세션을 10초 이상 지속되거나, 페이지 조회수가 2회 이상이거나, 주요 이벤트(이전의 전환 이벤트)를 트리거하는 세션으로 정의합니다. 세션을 인위적으로 열어두면 세션이 참여 중인 것으로 표시되어 참여율이 부풀려집니다.
- 데이터 비대화 및 비용: 빈 백그라운드 핑 이벤트를 지속적으로 실행하면 이벤트 수 노이즈가 증가하고 Google 애널리틱스 데이터를 BigQuery로 내보내는 경우 데이터 웨어하우스 비용이 증가합니다.
수동 참여를 추적해야 하는 경우(및 추적 방법)
사용자가 콘텐츠에 적극적으로 참여하지만 표준 Google 애널리틱스 상호작용 이벤트(예: 클릭 또는 페이지 변경)를 트리거하지 않는 정당한 시나리오가 있습니다. 이러한 경우 일반적인 연결 유지 핑 대신 사용자가 시작한 의미 있는 진행 상황 이벤트를 캡처합니다.
- 긴 형식 동영상 콘텐츠: 삽입된 45분 길이의 동영상을 시청하는 사용자는 30분 넘게 수동적인 상태로 유지되며 세션이 만료될 위험이 있습니다.
- 심층 분석 도움말: 사용자가 기술 가이드를 이해하는 데 40분을 소비하고 천천히 스크롤하지만 탐색 작업을 트리거하지 않을 수 있습니다.
- 대화형 웹 애플리케이션: 실시간 피드, 주식 시세 표시기 또는 데이터 대시보드를 모니터링하는 사용자는 클릭 없이 수동적으로 정보를 소비합니다.
사용자가 브라우저 창을 최소화하거나 탭을 전환하면 백그라운드 핑이 중지되어야 합니다.
코드 예시: 공개 상태 인식 이벤트 핑
다음 JavaScript 패턴은 수동적 참여를 추적하고 탭 공개 상태를 존중하는 방법을 보여줍니다. 동영상의 일반적인 길이 또는 긴 형식의 기사와 같은 특정 사용 사례에 따라 추적 간격 및 매개변수 값(예: 5분 또는 300,000ms)을 조정합니다.
const TRACKING_INTERVAL_MILLIS = 5 * 60 * 1000;
let engagementInterval;
function startEngagementTracking() {
// Prevent duplicate intervals if tab becomes visible
if (engagementInterval) return;
engagementInterval = setInterval(() => {
gtag('event', 'passive_engagement', {
'engagement_time_msec': TRACKING_INTERVAL_MILLIS
});
}, TRACKING_INTERVAL_MILLIS);
}
function stopEngagementTracking() {
if (engagementInterval) {
clearInterval(engagementInterval);
engagementInterval = null;
}
}
// Start tracking initially if the page is visible
if (!document.hidden) {
startEngagementTracking();
}
// Stop tracking when tab is hidden, resume when visible
document.addEventListener('visibilitychange', () => {
if (document.hidden) {
stopEngagementTracking();
} else {
startEngagementTracking();
}
});
Google 애널리틱스 향상된 측정과 맞춤 추적 비교
Google 애널리틱스에는 향상된 측정 기능이 있어 일부 수동 추적 시나리오를 자동으로 처리하지만, 특정 제한사항이 있습니다.
| 상호작용 유형 | 향상된 측정으로 처리되나요? | 요구사항/작업 항목 |
|---|---|---|
| YouTube 동영상 삽입 | 예 | 10%, 25%, 50%, 75%에서 video_start, video_complete, video_progress 마일스톤을 자동으로 실행합니다(JS API 지원이 사용 설정되어 있어야 함). |
| YouTube 이외의 동영상(HTML5, Vimeo) | 아니요 | 커스텀 구현이 필요합니다. gtag.js를 사용하여 프로그래매틱 방식으로 이벤트를 실행하거나 Google 태그 관리자(GTM)를 사용하여 트리거를 관리합니다. |
| 표준 페이지 스크롤 | Partial | 사용자가 페이지의 90% 지점에 도달한 경우에만 단일 scroll 이벤트를 실행합니다. |
| 읽기 진행 상황 점진적 개선 | 아니요 | 기본 Google 애널리틱스 스크롤 추적을 사용 중지하고 프로그래매틱 방식으로 또는 GTM에서 맞춤 스크롤 기준점(예: 25%, 50%, 75%)을 구현합니다. |
가장 깔끔한 대안: Google 애널리틱스 세션 만료 시간 한도 조정
웹사이트가 자연스럽게 긴 형식의 콘텐츠, 동영상 과정 또는 지속적인 앱 사용을 중심으로 하는 경우 맞춤 스크립트 해킹을 삽입할 필요가 없습니다. Google 애널리틱스 인터페이스 내에서 기본 30분 기준을 최대 7시간 55분까지 조정할 수 있습니다. 자세한 내용은 세션 만료 시간 조정을 참고하세요.