Google 애널리틱스에서 비활성으로 인해 세션을 정의하고 엄격하게 제한하는 방법을 비롯하여 사용자 및 세션 범위의 개념적 개요는 측정기준 및 측정항목: 애널리틱스 세션 정보 및 트래픽 소스 측정기준 범위 가이드를 참고하세요.
이 가이드에서는 세션 구성 및 수동 추적을 관리하기 위한 개발자 관련 문제와 권장사항을 다룹니다.
페이지 수준 측정기준과 세션 측정항목 페어링
가장 일반적인 보고서의 미묘한 차이 중 하나는 페이지 범위 측정기준 (예: 페이지 경로 및 화면 클래스)을 세션 수준 세션 측정항목과 페어링할 때 발생합니다.
세션 및 조회수 정의
세션 은 지정된 페이지 경로가 한 번 이상 로드된 고유한 기간을 집계합니다.
조회수 (페이지 조회수)는 페이지 경로가 로드된 누적 횟수를 집계합니다.
예
다음 사용자 탐색 경로가 있는 단일 세션을 고려해 보겠습니다. /home → /products → /home → 종료
이 세션만 있는 경우 페이지 경로 및 화면 클래스 와 세션 또는 조회수 측정항목으로 구성된 보고서에 다음이 표시됩니다.
| 페이지 경로 | 세션 | 조회수 |
|---|---|---|
/home |
1 | 2 |
/products |
1 | 1 |
| 총계 (Google 애널리틱스 중복 삭제됨) | 1 | 3 |
행을 합하면 세션이 2개이지만 실제 속성 총계는 중복 삭제되어 1개입니다.
맞춤설정 규칙
- 페이지 경로가 있는 세션 은 경로를 한 번 이상 방문하는 고유한 세션을 나타냅니다.
- 방문 페이지가 있는 세션 은 경로에서 시작하는 고유한 세션을 나타냅니다. 방문 페이지 트래픽을 보려면 페이지 경로가 있는 세션 대신 항상 방문 페이지 + 쿼리 문자열 을 사용하세요.
- 조회수 는 항상 총 로드 빈도를 집계합니다.
개발자 및 분석가를 위한 권장사항
- 범위 일관성 유지: 세션 실적을 파악하는 것이 목표인 경우 사용자 범위 트래픽 측정기준 (예: 신규 사용자 기본 채널 그룹)을 세션 범위 측정항목(예: 평균 세션 시간)과 혼합하지 마세요.
- DebugView에서
session_start확인: QA 및 확인 단계에서 Google 애널리틱스 DebugView와 같은 표준 디버깅 도구를 사용하여 세션이 시작될 때session_start이 올바르게 실행되는지 확인합니다.
세션 시간 제한을 관리하기 위한 권장사항
Google 애널리틱스 세션의 기본 기간은 30분 입니다.
비활성 시간 제한을 방지하기 위해 Google 애널리틱스를 주기적으로 '핑'하는 맞춤 코드를 구현하지 않는 것이 좋습니다. 세션 측정항목을 인위적으로 부풀리면 사용자 행동 데이터가 왜곡됩니다. 대신 기본 제공 Google 애널리틱스 기능을 활용하거나 의미 있는 참여 이벤트의 타겟팅을 통해 더 깔끔한 솔루션을 제공하세요.
일반적인 '연결 유지' 핑이 좋지 않은 이유
- 왜곡된 핵심 측정항목: 사용자가 탭에서 벗어나면 실제로 비활성 상태가 됩니다. 세션을 강제로 열어 두면 '좀비 세션'이 생성되고 평균 세션 시간 이 잘못 부풀려집니다. 이렇게 하면 사용자가 관심을 잃거나 사이트를 이탈하는 실제 시점이 가려집니다.
- 참여 세션에 미치는 영향: Google 애널리틱스에서는 10초 이상 지속되거나, 페이지 조회수가 2회 이상이거나, 주요 이벤트 (이전의 전환 이벤트)를 트리거하는 세션을 참여 세션으로 정의합니다. 세션을 인위적으로 열어 두면 세션이 참여한 것처럼 표시되어 참여율이 부풀려집니다.
- 데이터 증가 및 비용: 빈 백그라운드 핑 이벤트를 계속 실행하면 이벤트 수 노이즈가 증가하고 Google 애널리틱스 데이터를 BigQuery로 내보내는 경우 데이터 웨어하우스 비용이 증가합니다.
수동 참여를 추적해야 하는 경우 (및 방법)
사용자가 콘텐츠에 적극적으로 참여하지만 클릭 또는 페이지 변경과 같은 표준 Google 애널리틱스 상호작용 이벤트를 트리거하지 않는 합법적인 시나리오가 있습니다. 이러한 경우 일반적인 연결 유지 핑 대신 의미 있는 사용자 시작 진행 이벤트를 캡처합니다.
- 긴 형식의 동영상 콘텐츠: 삽입된 45분 동영상을 시청하는 사용자는 30분 이상 수동 상태로 유지되며 세션이 만료될 위험이 있습니다.
- 심층 분석 기사: 사용자는 기술 가이드를 이해하는 데 40분을 소비하고 천천히 스크롤하지만 탐색 작업을 트리거하지 않을 수 있습니다.
- 대화형 웹 애플리케이션: 실시간 피드, 주식 시세 또는 데이터 대시보드를 모니터링하는 사용자는 클릭 없이 수동으로 정보를 소비합니다.
사용자가 브라우저 창을 최소화하거나 탭을 전환하면 백그라운드 핑이 중지되어야 합니다.
코드 예: 공개 상태를 인식하는 이벤트 핑
다음 자바스크립트 패턴은 수동 참여를 추적하고 탭 공개 상태를 준수하는 방법을 보여줍니다. 동영상 또는 긴 형식의 기사의 일반적인 기간과 같은 특정 사용 사례에 따라 추적 간격 및 매개변수 값 (예: 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)를 사용하여 트리거를 관리합니다. |
| 표준 페이지 스크롤 | 일부 | 사용자가 페이지의 90% 에 도달할 때만 단일 scroll 이벤트를 실행합니다. |
| 증가하는 읽기 진행률 | 아니요 | 기본 Google 애널리틱스 스크롤 추적을 사용 중지하고 프로그래매틱 방식으로 또는 GTM에서 맞춤 스크롤 한도 (예: 25%, 50%, 75%)를 구현합니다. |
가장 깔끔한 대안: Google 애널리틱스 세션 만료 시간 조정
웹사이트가 긴 형식의 콘텐츠, 동영상 과정 또는 지속적인 앱 사용을 중심으로 자연스럽게 구성되어 있다면 맞춤 스크립트 해킹을 삽입할 필요가 없습니다. Google 애널리틱스 인터페이스 내에서 기본 30분 한도를 최대 7시간 55분 까지 조정할 수 있습니다. 자세한 내용은 세션 만료 시간 조정을 참고하세요.