이 가이드에서는 analytics.js를 사용하여 기간을 측정하는 방법을 설명합니다.
개요
연구 결과, 페이지 로드 시간을 줄이면 사이트의 전반적인 사용자 환경이 개선됩니다. Google 애널리틱스에는 페이지 로드 시간을 자동으로 측정 및 보고하는 다양한 효과적인 보고서가 있습니다. 그러나 맞춤 시간 정보를 측정하여 사이트에 맞게 성능을 측정할 수도 있습니다.
사용자 시간을 통해 개발자는 analytics.js 라이브러리를 사용하여 기간을 측정할 수 있습니다. 이는 개발자가 AJAX 요청을 실행하고 웹 리소스를 로드하는 데 걸리는 시간(지연 시간)을 측정하는 데 특히 유용합니다.
구현
사용자 시간 조회는 send
명령어를 사용하고 timing
의 hitType을 지정하여 전송할 수 있습니다. timing
조회 유형에 대한 send
명령어의 서명은 다음과 같습니다.
ga('send', 'timing',[timingCategory]
,[timingVar]
,[timingValue]
,[timingLabel]
, [fieldsObject]);
사용자 시간 필드
다음 표에는 사용자 시간 필드가 요약되어 있습니다.
필드 이름 | 값 유형 | 필수 | 설명 |
---|---|---|---|
timingCategory |
문자 | 예 | 모든 사용자 시간 변수를 논리적 그룹(예: 'JS Dependencies' )으로 분류하기 위한 문자열입니다. |
timingVar |
문자 | 예 | 기록 중인 변수를 식별하는 문자열입니다(예: 'load' ). |
timingValue |
정수 | 예 | Google 애널리틱스에 보고하기까지 경과한 시간(밀리초)입니다(예: 20 ). |
timingLabel |
문자 | 아니요 | 보고서에서 사용자 시간을 시각화할 때 유연성을 더하기 위해 사용할 수 있는 문자열입니다(예: 'Google CDN' ). |
예시:
다음 명령어는 현재 웹페이지가 모든 외부 자바스크립트 종속 항목을 로드하는 데 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를 사용하면 sampleRate
및 siteSpeedSampleRate
구성 옵션을 통해 전송되는 조회의 비율을 조정할 수 있습니다. 기본적으로 이 필드는 각각 100% 및 1%로 설정됩니다. 이 값을 조정하면 평균 일일 페이지 조회수를 기반으로 Google 애널리틱스에서 처리할 시간 조회수에 보다 가까워질 수 있습니다.