Cách hoạt động của analytics.js

Bạn có thể thực hiện hầu hết mọi việc cần đo lường bằng analytics.js bằng cách sử dụng hàng đợi lệnh ga(). Hướng dẫn này giải thích hàng đợi lệnh là gì, cách hàng đợi lệnh hoạt động và cách thực thi các lệnh để đo lường hoạt động tương tác của người dùng.

Hàng đợi lệnh ga

Thẻ Google Analytics xác định một hàm ga chung được gọi là "hàng đợi lệnh". Hàm này được gọi là hàng đợi lệnh vì thay vì thực thi các lệnh nhận được ngay lập tức, lệnh này sẽ thêm chúng vào hàng đợi để trì hoãn việc thực thi cho đến khi thư viện analytics.js được tải đầy đủ.

Trong JavaScript, hàm cũng là đối tượng, nghĩa là chúng có thể chứa các thuộc tính. Thẻ Google Analytics xác định một thuộc tính q trên đối tượng hàm ga dưới dạng một mảng trống. Trước khi thư viện analytics.js được tải, việc gọi hàm ga() sẽ nối danh sách các đối số được chuyển đến hàm ga() vào cuối mảng q.

Ví dụ: nếu bạn chạy thẻ Google Analytics và sau đó ghi ngay nội dung của ga.q vào bảng điều khiển, thì bạn sẽ thấy một mảng có độ dài gồm hai mục, chứa hai tập hợp đối số đã được truyền đến hàm ga():

console.log(ga.q);

// Outputs the following:
// [
//   ['create', 'UA-XXXXX-Y', 'auto'],
//   ['send', 'pageview']
// ]

Sau khi được tải, thư viện analytics.js sẽ kiểm tra nội dung của mảng ga.q và thực thi từng lệnh theo thứ tự. Sau đó, hàm ga() được định nghĩa lại, vì vậy, tất cả các lệnh gọi tiếp theo sẽ thực thi ngay lập tức.

Mẫu này cho phép nhà phát triển sử dụng hàng đợi lệnh ga() mà không phải lo lắng xem thư viện analytics.js đã tải xong hay chưa. Giải pháp này cung cấp một giao diện đơn giản, đồng bộ giúp loại bỏ hầu hết vấn đề phức tạp của mã không đồng bộ.

Đang thêm lệnh vào hàng đợi

Mọi lệnh gọi đến hàng đợi lệnh ga() đều có chung một chữ ký. Thông số đầu tiên, "command", là một chuỗi xác định một phương thức analytics.js cụ thể. Mọi tham số bổ sung đều là các đối số được chuyển đến phương thức đó.

Phương thức mà một lệnh cụ thể tham chiếu đến có thể là phương thức chung, như create, một phương thức trên đối tượng ga hoặc có thể là phương thức thực thể trên đối tượng công cụ theo dõi, chẳng hạn như send. Nếu hàng đợi lệnh ga() nhận được một lệnh mà hàng đợi không nhận ra, thì hàng đợi đó chỉ cần bỏ qua lệnh đó và thực hiện các lệnh gọi đến hàm ga() rất an toàn, vì các lệnh này hầu như không bao giờ gây ra lỗi.

Để biết danh sách đầy đủ tất cả lệnh có thể thực thi thông qua hàng đợi lệnh, hãy xem tài liệu tham khảo về hàng đợi lệnh ga().

Tham số lệnh

Hầu hết các lệnh analytics.js (và các phương thức tương ứng của chúng) chấp nhận các tham số ở một số định dạng khác nhau. Việc này giúp bạn thuận tiện trong việc truyền các trường thường dùng tới một số phương thức nhất định dễ dàng hơn.

Ví dụ: hãy xem xét 2 lệnh trong thẻ Google Analytics:

ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');

Trong lệnh đầu tiên, create chấp nhận các trường trackingId, cookieDomainname để tuỳ ý chỉ định làm tham số thứ hai, thứ ba và thứ tư tương ứng. Lệnh send chấp nhận tham số giây hitType (không bắt buộc).

Mọi lệnh đều chấp nhận tham số fieldsObject cuối cùng có thể dùng để chỉ định bất kỳ trường nào. Ví dụ: 2 lệnh trên trong thẻ có thể được viết lại thành:

ga('create', {
  trackingId: 'UA-XXXXX-Y',
  cookieDomain: 'auto'
});
ga('send', {
  hitType: 'pageview'
});

Hãy xem tài liệu tham khảo về hàng đợi lệnh ga() để biết danh sách đầy đủ các tham số không bắt buộc được phép sử dụng cho mỗi lệnh.

Các bước tiếp theo

Sau khi đọc hướng dẫn này, bạn sẽ hiểu rõ về cách thực thi các lệnh bằng analytics.js và cách hàng đợi lệnh hoạt động. Hướng dẫn tiếp theo sẽ trình bày cách tạo đối tượng trình theo dõi.