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

Bạn có thể hoàn thành hầu hết mọi việc cần đo lường bằng analytics.js bằ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 thức hoạt động của hàng đợi này 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 gọi là "hàng đợi lệnh". Lệnh 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 các lệnh đó 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, có nghĩa là chúng có thể chứa các thuộc tính. Thẻ Google Analytics xác định 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ẽ thêm danh sách các đối số được truyền vào hàm ga() vào cuối mảng q.

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

console.log(ga.q);

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

Sau khi tải thư viện analytics.js, thư viện này 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 về việc thư viện analytics.js đã tải xong hay chưa. Lớp này cung cấp một giao diện đơn giản, có tính đồng bộ, giúp tóm tắt hầu hết vấn đề phức tạp của mã không đồng bộ.

Thêm lệnh vào hàng đợi

Tất cả 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 pháp analytics.js cụ thể. Mọi tham số bổ sung đều là các đối số được truyền đến phương thức đó.

Phương thức mà một lệnh cụ thể tham chiếu đến có thể là một phương thức chung (như create), một phương thức trên đối tượng ga hoặc có thể là một 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à nó không nhận ra, nó sẽ 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ì những lệnh này gần như sẽ không bao giờ dẫn đến lỗi.

Để biết danh sách đầy đủ tất cả cá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à phương thức tương ứng của các lệnh đó) đều chấp nhận các thông số ở một số định dạng khác nhau. Việc này là để thuận tiện cho việc chuyển các trường thường dùng đến một số phương thức nhất định một cách 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ố thứ hai hitType (không bắt buộc).

Tất cả các 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ụ: hai 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 từng lệnh.

Các bước tiếp theo

Sau khi đọc hướng dẫn này, chắc hẳn bạn đã 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 thiết bị theo dõi.