本指南說明如何使用 analytics.js 評估時段。
總覽
研究顯示,縮短網頁載入時間可改善網站的整體使用者體驗。Google Analytics (分析) 提供數種強大的報表,可自動評估網頁載入時間並產生報表。不過,你也可以評估自訂時間資訊,評估網站的特定成效。
開發人員可利用使用者時間功能,使用 analytics.js 程式庫評估一段時間。開發人員要測量延遲時間或花費的時間、提出 AJAX 要求及載入網路資源,因此這項功能特別實用。
導入作業
您可以使用 send
指令,並指定 timing
的 hitType 來傳送使用者時間命中。send
指令的 timing
命中類型有下列簽章:
ga('send', 'timing',[timingCategory]
,[timingVar]
,[timingValue]
,[timingLabel]
, [fieldsObject]);
使用者時間欄位
下表摘要說明使用者時間欄位:
欄位名稱 | 值類型 | 需要 | 說明 |
---|---|---|---|
timingCategory |
text | 是 | 將所有使用者時間變數分類到邏輯群組 (例如 'JS Dependencies' ) 的字串。 |
timingVar |
text | 是 | 用於識別所記錄變數的字串 (例如 'load' )。 |
timingValue |
整數 | 是 | 向 Google Analytics (分析) 回報經過的時間 (毫秒),例如 20 。 |
timingLabel |
text | 否 | 這個字串可讓您靈活在報表中呈現使用者時間 (例如 'Google CDN' )。 |
示例:
下列指令會將使用者時間命中傳送至 Google Analytics (分析),指出目前網頁需要 3549 毫秒才能載入所有外部 JavaScript 依附元件:
ga('send', 'timing', 'JS Dependencies', 'load', 3549);
請注意,與所有 send
指令一樣,在 fieldsObject
中也可以指定便利參數中傳遞的欄位。上述指令可重新撰寫為:
ga('send', {
hitType: 'timing',
timingCategory: 'JS Dependencies',
timingVar: 'load',
timingValue: 3549
});
測量時間
傳送使用者時間資料時,請在 timingValue
參數中指定花費的毫秒數。您可以自行編寫程式碼,以便擷取這段期間的資料。
最簡單的做法是建立一段時間的時間戳記,然後在該時段結束時建立另一個時間戳記。然後,您可以擷取兩個時間戳記之間的差異來擷取時間。
大多數新式瀏覽器都支援 Navigation Timing 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 Analytics (分析) 會在處理期間取樣命中次數,確保系統資源能以公平的方式發布這項功能。
系統取樣命中時間的頻率,取決於資源前一天獲得的網頁瀏覽命中總數。下表概述了時間取樣率的決定方式:
網頁瀏覽命中總數 (前一天) | 處理時間命中數上限 |
---|---|
0 - 1,000 | 100 |
1,000 位到 100,000 位 | 總網頁瀏覽命中數的 10% |
100,000 - 1,000,000 | 10,000 |
超過 1,000,000 人 | 佔總網頁瀏覽命中的 1% |
限制傳送的命中數量
為避免系統傳送無法處理的 Google Analytics (分析) 命中,analytics.js 可讓您控制透過 sampleRate
和 siteSpeedSampleRate
設定選項傳送的命中百分比。這些欄位會分別預設為 100% 和 1%。您可以調整這些值,更貼近 Google Analytics (分析) 根據每日平均網頁瀏覽量處理的命中次數。