Đo lường thời gian của người dùng bằng gtag.js

Việc giảm thời gian tải trang có thể cải thiện trải nghiệm người dùng tổng thể của trang web. Trang này mô tả cách gửi thông tin thời gian người dùng đến Google Analytics.

Triển khai

Dùng lệnh event để gửi một sự kiện timing_complete:

gtag('event', 'timing_complete', {<timing_parameters>});

trong đó <timing_parameters> là một hoặc nhiều cặp thông số-giá trị. Phân cách từng cặp bằng dấu phẩy. Ví dụ: lệnh này sẽ gửi một sự kiện thời gian người dùng đến Google Analytics, cho biết rằng trang web hiện tại mất 3549 mili giây để tải tất cả phần phụ thuộc JavaScript bên ngoài.

gtag('event', 'timing_complete', {
  'name' : 'load',
  'value' : 3549,
  'event_category' : 'JS Dependencies'
});

Tham số thời gian người dùng

Bảng này tóm tắt các tham số thời gian của người dùng:

Tên thông số Loại dữ liệu Bắt buộc Nội dung mô tả
name string Một chuỗi xác định biến đang được ghi lại (ví dụ: 'load').
value integer Số mili giây đã trôi qua để báo cáo cho Google Analytics (ví dụ: 20).
event_category string Không Một chuỗi để phân loại tất cả biến thời gian của người dùng thành các nhóm logic (ví dụ: 'JS Dependencies').
event_label string Không Một chuỗi có thể được sử dụng để tăng sự linh hoạt trong việc trực quan hoá thời gian của người dùng trong báo cáo (ví dụ: 'Google CDN').

Thời gian đo

Sự kiện timing_complete yêu cầu một tham số value chỉ định thời gian đã trôi qua tính bằng mili giây. Bạn cần viết mã ghi nhận giá trị này.

Cách dễ nhất để thực hiện việc này là tạo một dấu thời gian ở đầu một khoảng thời gian và tạo một dấu thời gian khác ở cuối giai đoạn đó. Sau đó, hãy tính thời gian đã trôi qua giữa các dấu thời gian.

Hầu hết các trình duyệt hiện đại đều hỗ trợ API Navigation Timing, trong đó có các phương thức trên đối tượng window.performance để đo hiệu suất của các trang web thông qua dữ liệu thời gian có độ phân giải cao.

Ví dụ sau sử dụng phương thức performance.now(), phương thức này sẽ trả về khoảng thời gian đã trôi qua kể từ khi trang bắt đầu tải lần đầu tiên:

// 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 event to Google Analytics.
  gtag('event', 'timing_complete', {
    'name': 'load',
    'value': timeSincePageLoad,
    'event_category': 'JS Dependencies'
  });
}

Những điều cần cân nhắc về việc lấy mẫu

Google Analytics sẽ lấy mẫu các sự kiện xác định thời gian để đảm bảo phân bổ tài nguyên hệ thống một cách công bằng cho tính năng này.

Tỷ lệ thời điểm các sự kiện được lấy mẫu được xác định bằng tổng số lượt xem trang nhận được trong ngày trước đó cho tài sản. Bảng sau đây trình bày cách xác định tốc độ lấy mẫu theo thời gian:

Tổng số lượt xem trang (ngày trước đó) Số sự kiện định giờ tối đa sẽ được xử lý
0 - 1.000 100
1.000 – 100.000 10% tổng số lượt xem trang
100.000 – 1.000.000 10.000
Hơn 1.000.000 1% tổng số lượt xem trang