Lấy và cài đặt dữ liệu trường

Đôi khi, để tải và thiết lập dữ liệu trường trên một trình theo dõi, bạn phải tham chiếu đến chính đối tượng đó. Vì các lệnh được thêm vào hàng đợi lệnh ga() sẽ thực thi không đồng bộ và không trả về giá trị, đồng thời các trình theo dõi thường được tạo bằng lệnh create, nên việc tham chiếu đến một đối tượng trình theo dõi sẽ yêu cầu bạn phải đợi cho đến khi lệnh create được thực thi. Bạn có thể thực hiện việc này thông qua lệnh gọi lại sẵn sàng.

Lệnh gọi lại sẵn sàng

Lệnh gọi lại sẵn sàng là một hàm mà bạn có thể thêm vào hàng đợi lệnh ga(). Hàm này sẽ được gọi ngay khi thư viện analytics.js được tải đầy đủ và tất cả các lệnh đã thêm vào hàng đợi trước đó đã được thực thi.

Vì tất cả các lệnh trong hàng đợi đều được thực thi theo thứ tự, nên việc thêm một lệnh gọi lại sẵn sàng vào hàng đợi sau khi thêm lệnh create sẽ đảm bảo rằng lệnh gọi lại sẵn sàng được thực thi sau khi trình theo dõi được tạo. Nếu trình theo dõi mặc định được tạo khi một lệnh gọi lại sẵn sàng được gọi, thì trình theo dõi này sẽ được chuyển làm đối số đầu tiên (và duy nhất) của lệnh gọi lại.

Mã sau đây cho biết cách truy cập vào đối tượng trình theo dõi mặc định và ghi nhật ký đối tượng đó vào bảng điều khiển:

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

ga(function(tracker) {
  // Logs the tracker created above to the console.
  console.log(tracker);
});

Tải trình theo dõi thông qua các phương thức ga Object

Nếu đang không sử dụng trình theo dõi mặc định hoặc nếu có nhiều trình theo dõi trên trang, bạn có thể truy cập vào những trình theo dõi đó thông qua một trong các phương thức đối tượng ga.

Sau khi thư viện analytics.js được tải đầy đủ, thư viện này sẽ thêm các phương thức bổ sung vào chính đối tượng ga. getByNamegetAll được dùng để truy cập vào các đối tượng trình theo dõi trong số đó.

getByName

Nếu biết tên của thiết bị theo dõi mà bạn muốn truy cập, bạn có thể truy cập bằng cách sử dụng phương thức getByName:

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

ga(function() {
  // Logs the "myTracker" tracker object to the console.
  console.log(ga.getByName('myTracker'));
});

getAll

Để nhận một mảng gồm tất cả các trình theo dõi đã tạo, hãy sử dụng phương thức getAll:

ga('create', 'UA-XXXXX-Y', 'auto', 'tracker1');
ga('create', 'UA-XXXXX-Z', 'auto', 'tracker2');

ga(function() {
  // Logs an array of all tracker objects.
  console.log(ga.getAll());
});

Nhận dữ liệu được lưu trữ trên thiết bị theo dõi

Sau khi tham chiếu đến một đối tượng trình theo dõi, bạn có thể sử dụng phương thức get của đối tượng đó để truy cập vào giá trị của bất kỳ trường nào hiện đang được lưu trữ trên trình theo dõi.

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

ga(function(tracker) {
  // Logs the trackers name.
  // (Note: default trackers are given the name "t0")
  console.log(tracker.get('name'));

  // Logs the client ID for the current user.
  console.log(tracker.get('clientId'));

  // Logs the URL of the referring site (if available).
  console.log(tracker.get('referrer'));
});

Cập nhật dữ liệu

Bạn có thể cập nhật các đối tượng công cụ theo dõi bằng phương thức set. Phương thức set của trình theo dõi có thể được gọi trên chính đối tượng trình theo dõi hoặc bằng cách thêm lệnh set vào hàng đợi lệnh ga().

Vì việc tham chiếu đến một đối tượng trình theo dõi yêu cầu phải sử dụng lệnh gọi lại sẵn sàng, nên bạn nên cập nhật trình theo dõi bằng hàng đợi lệnh ga().

Hàng đợi lệnh ga()

Có thể gọi lệnh set theo 2 cách: bằng cách truyền hai tham số, một trường và giá trị tương ứng của trường đó hoặc bằng cách truyền một đối tượng của các cặp trường/giá trị.

Ví dụ sau đây đặt trường page thành '/about' trên trình theo dõi mặc định:

ga('set', 'page', '/about');

Ví dụ sau đặt các trường pagetitle cùng lúc:

ga('set', {
  page: '/about',
  title: 'About Us'
});

Sử dụng thiết bị theo dõi được đặt tên

Nếu đang sử dụng một trình theo dõi được đặt tên thay vì trình theo dõi mặc định, bạn có thể chuyển tên của trình theo dõi đó vào chuỗi lệnh.

Lệnh gọi sau đây đặt trường page trên trình theo dõi có tên là "myTracker":

ga('myTracker.set', 'page', '/about');

Trên chính đối tượng công cụ theo dõi

Nếu tham chiếu đến đối tượng trình theo dõi, bạn có thể gọi trực tiếp phương thức set của trình theo dõi đó:

ga(function(tracker) {
  tracker.set('page', '/about');
});

Cú pháp ký hiệu và

Các trường công cụ theo dõi thường được nhận và thiết lập bằng cách sử dụng tên trường của chúng. (Hãy xem tài liệu tham khảo về trường để biết danh sách đầy đủ các trường analytics.js và tên của các trường đó.)

Một cách khác để lấy và đặt các trường là tham chiếu đến các trường đó bằng tên tên thông số Measurement Protocol tương ứng.

Ví dụ: hai biểu thức console.log sau đây đều ghi nhật ký tiêu đề tài liệu vào bảng điều khiển:

ga(function(tracker) {
  // Gets the title using the analytics.js field name.
  console.log(tracker.get('title'));

  // Gets the title using the measurement protocol
  // parameter name, prefixed with an ampersand.
  console.log(tracker.get('&dt'));
});

Nói chung, bạn không nên sử dụng ký hiệu và cú pháp, và chỉ nên sử dụng ký hiệu và cú pháp khi tên trường analytics.js cho một thông số Measurement Protocol không tồn tại (điều này thường xảy ra nếu một tính năng mới được thêm vào Measurement Protocol trước khi được triển khai trong analytics.js).

Các bước tiếp theo

Bây giờ, bạn đã biết cách tạo trình theo dõi và cập nhật dữ liệu được lưu trữ trên đó, bước tiếp theo là tìm hiểu cách gửi dữ liệu đó đến Google Analytics để xử lý.