사용자 시간

이 가이드에서는 analytics.js를 사용하여 기간을 측정하는 방법을 설명합니다.

개요

연구 결과, 페이지 로드 시간을 줄이면 사이트의 전반적인 사용자 환경이 개선됩니다. Google 애널리틱스에는 페이지 로드 시간을 자동으로 측정 및 보고하는 효과적인 보고서가 많이 있습니다. 그러나 맞춤 시간 정보를 측정하여 사이트에 맞게 성능을 측정할 수도 있습니다.

사용자 시간을 통해 개발자는 analytics.js 라이브러리를 사용하여 기간을 측정할 수 있습니다. 이는 개발자가 AJAX 요청을 실행하고 웹 리소스를 로드하는 데 걸리는 시간(지연 시간)을 측정하는 데 특히 유용합니다.

구현

사용자 시간 조회는 send 명령어를 사용하고 timinghitType을 지정하여 전송할 수 있습니다. timing 조회 유형에 대한 send 명령어의 서명은 다음과 같습니다.

ga('send', 'timing', [timingCategory], [timingVar], [timingValue], [timingLabel], [fieldsObject]);

사용자 시간 필드

다음 표에는 사용자 시간 필드가 요약되어 있습니다.

필드 이름 값 유형 필수 설명
timingCategory 텍스트 모든 사용자 시간 변수를 논리적 그룹(예: 'JS Dependencies')으로 분류하기 위한 문자열입니다.
timingVar 문자 기록 중인 변수를 식별하는 문자열입니다(예: 'load').
timingValue 정수 Google 애널리틱스에 보고하기까지 경과한 시간(밀리초)입니다(예: 20).
timingLabel 문자 아니요 보고서에서 사용자 시간을 시각화할 때 유연성을 더하기 위해 사용할 수 있는 문자열입니다(예: 'Google CDN').

예시:

다음 명령어는 현재 웹페이지가 모든 외부 JavaScript 종속 항목을 로드하는 데 3,549밀리초가 소요되었음을 나타내는 사용자 시간 조회를 Google 애널리틱스로 전송합니다.

ga('send', 'timing', 'JS Dependencies', 'load', 3549);

모든 send 명령어와 마찬가지로, 편의 매개변수에 전달된 필드는 fieldsObject에 지정될 수도 있습니다. 위의 명령어를 다음과 같이 다시 작성할 수 있습니다.

ga('send', {
  hitType: 'timing',
  timingCategory: 'JS Dependencies',
  timingVar: 'load',
  timingValue: 3549
});

시간 측정

사용자 시간 데이터를 전송할 때 timingValue 매개변수에 소요된 시간(밀리초)을 지정합니다. 이 기간을 캡처하는 코드는 개발자가 직접 작성해야 합니다.

가장 쉬운 방법은 기간이 시작될 때 타임스탬프를 만들고 기간이 끝날 때 다른 타임스탬프를 만드는 것입니다. 그러면 두 타임스탬프 간의 차이를 통해 소요 시간을 얻을 수 있습니다.

대부분의 최신 브라우저는 Navigation Timing API를 지원합니다. 이 API에는 고해상도 시간 데이터를 통해 웹페이지의 성능을 측정하는 window.performance 객체에 관한 메서드가 포함되어 있습니다.

다음 예시에서는 페이지가 처음 로드되기 시작한 후 경과한 시간을 반환하는 performance.now() 메서드를 사용합니다.

// Feature detects Navigation Timing API support.
if (window.performance) {
  // Gets the number of milliseconds since page load
  // (and rounds the result since the value must be an integer).
  var timeSincePageLoad = Math.round(performance.now());

  // Sends the timing hit to Google Analytics.
  ga('send', 'timing', 'JS Dependencies', 'load', timeSincePageLoad);
}

샘플링 고려사항

Google 애널리틱스는 이 기능에 대한 시스템 리소스의 균등한 배포를 보장하기 위해 처리 과정에서 시간 조회를 샘플링합니다.

시간 조회의 샘플링 레이트는 해당 속성에 대해 전날에 수신한 총 페이지 조회수에 의해 결정됩니다. 다음 표에는 시간 샘플링 레이트가 결정되는 방식이 요약되어 있습니다.

총 페이지 조회수(전날) 처리할 최대 시간 조회수
0~1,000 100
1,000~100,000 총 페이지 조회수의 10%
100,000~1,000,000 10,000
100만 이상 총 페이지 조회수의 1%

전송되는 조회수 제한

처리되지 않는 Google 애널리틱스 조회를 전송하지 않도록 analytics.js를 사용하면 sampleRatesiteSpeedSampleRate 구성 옵션을 통해 전송되는 조회의 비율을 조정할 수 있습니다. 기본적으로 이 필드는 각각 100% 및 1%로 설정됩니다. 이 값을 조정하면 평균 일일 페이지 조회수를 기반으로 Google 애널리틱스에서 처리할 시간 조회수에 보다 가까워질 수 있습니다.