Trình liên kết

Trình bổ trợ trình liên kết giúp đơn giản hoá quá trình triển khai tính năng đo lường trên nhiều miền như mô tả trong Hướng dẫn đo lường trên nhiều miền cho analytics.js.

Tổng quan

Tính năng đo lường trên nhiều miền hoạt động bằng cách chia sẻ một mã ứng dụng khách duy nhất giữa miền nguồn và miền đích. Đây là quy trình gồm 2 bước:

  1. Miền nguồn cần đảm bảo tất cả URL trỏ đến miền đích đều chứa ID ứng dụng khách của miền nguồn.
  2. Miền đích cần biết để kiểm tra sự hiện diện của ID ứng dụng khách trong URL khi người dùng chuyển đến đó.

Trình bổ trợ trình liên kết thực hiện việc này bằng cách thêm thông số trình liên kết vào các URL trỏ đến miền đích. Thông số trình liên kết chứa ID ứng dụng khách cũng như dấu thời gian hiện tại và siêu dữ liệu trình duyệt được mã hóa trong đó. Dấu thời gian và siêu dữ liệu được dùng để tránh các vấn đề khi chia sẻ URL.

Thông số trình liên kết sẽ có dạng như sau:

_ga=1.199239214.1624002396.1440697407

Trên miền đích, hệ thống sẽ cung cấp trường allowLinker khi true hướng dẫn analytics.js kiểm tra thông số trình liên kết trong URL. Nếu tìm thấy thông số trình liên kết và hợp lệ, thì thông số này sẽ trích xuất mã ứng dụng khách từ thông số và lưu trữ mã đó.

Trình bổ trợ Trình liên kết cho phép thêm thông số trình liên kết theo cách tự động và thủ công vào các URL trong các đường liên kết và biểu mẫu trên trang. Trong hầu hết các trường hợp, bạn nên sử dụng cách tự động.

Tự động thêm thông số trình liên kết

Để thiết lập tính năng tự động liên kết nhiều miền trên miền nguồn cho các URL trỏ đến miền đích, bạn phải require trình bổ trợ trình liên kết và gọi phương thức autoLink.

Bạn có thể gọi phương thức autoLink thông qua hàng đợi lệnh.

Sau khi chạy, analytics.js sẽ theo dõi các lượt nhấp vào các đường liên kết trỏ đến (hoặc các miền) đích, đồng thời thêm thông số trình liên kết vào các đường liên kết đó ngay trước khi bắt đầu điều hướng. Bạn cần chờ cho đến khi người dùng nhấp vào một đường liên kết để thêm thông số trình liên kết vì các thông số trình liên kết sẽ hết hạn sau 2 phút.

Bạn phải chỉ định tham số decorateForms (không bắt buộc) và đặt thành true nếu có biểu mẫu trên trang web trỏ đến miền đích.

Cách sử dụng

ga('[trackerName.]linker:autoLink', domains, [useAnchor], [decorateForms]);

Tham số

Tên Loại Bắt buộc Nội dung mô tả
domains Array[RexExp|string] Một mảng chuỗi hoặc biểu thức chính quy để so khớp với hostname của URL cho biết nên áp dụng tính năng tự động liên kết nào. Nếu một chuỗi được truyền, analytics.js sẽ thực hiện so khớp chuỗi con, nghĩa là example.com sẽ so khớp các đường liên kết trỏ đến blog.example.com.
useAnchor boolean no Khi đúng, thông số trình liên kết sẽ được thêm vào phần liên kết của URL thay vì phần truy vấn.
decorateForms boolean no Nếu đúng, trình bổ trợ trình liên kết sẽ thêm thông số trình liên kết để gửi biểu mẫu trỏ đến các đích đến khớp với thông số domain.

Ví dụ:

// Loads the Linker plugin
ga('require', 'linker');

// Instructs the Linker plugin to automatically add linker parameters
// to all links and forms pointing to the domain "destination.com".
ga('linker:autoLink', ['destination.com'], false, true);

Thêm thông số trình liên kết theo cách thủ công

Bạn có thể thêm thông số trình liên kết vào một phần tử <a> hoặc <form> cụ thể theo cách thủ công thông qua phương thức decorate. Phương thức này chỉ cần thiết khi không sử dụng phương thức autoLink được mô tả ở trên.

decorate

Bạn có thể gọi phương thức decorate thông qua hàng đợi lệnh.

Điều quan trọng là phải đảm bảo phương thức trang trí được gọi càng gần với thời điểm điều hướng sẽ xảy ra càng tốt vì tham số trình liên kết hết hạn sau 2 phút. Thường thì phương thức này sẽ được gọi trong trình xử lý sự kiện.

Cách sử dụng

ga('[trackerName.]linker:decorate', element, [useAnchor]);

Tham số

Tên Loại Bắt buộc Nội dung mô tả
element HTMLElement Phần tử <a> hoặc <form> để thêm thông số trình liên kết vào.
useAnchor boolean no Khi đúng, thông số trình liên kết sẽ được thêm vào phần liên kết của URL thay vì phần truy vấn.

Ví dụ:

// Loads the Linker plugin
ga('require', 'linker');

// Gets a reference to a link pointing to an external domain.
var destinationLink = document.getElementById('destination-link');

// Adds click handler that decorates `destinationLink`.
destinationLink.addEventListener('click', function() {
  ga('linker:decorate', destinationLink);
});

linkerParam

Ngoài phương thức decorate, bạn có thể lấy thông số trình liên kết mà trình theo dõi sẽ sử dụng theo cách thủ công thông qua trường linkerParam.

ga(function(tracker) {
  var linkerParam = tracker.get('linkerParam');
});

Định cấu hình trang web để chấp nhận các tham số trình liên kết

Khi người dùng đến một trang trên tên miền đích có thông số trình liên kết trong URL, analytics.js cần biết để tìm thông số đó.

Bạn có thể hướng dẫn trang đích tìm các thông số trình liên kết bằng cách đặt trường allowLinker thành true khi tạo trình theo dõi:

ga('create', 'UA-XXXXXX-X', 'auto', {
  allowLinker: true
});

Đo lường trên nhiều miền hai chiều

Là một luồng người dùng, trong đó người dùng luôn bắt đầu trên miền nguồn và chỉ sau đó mới chuyển sang miền đích trong phương pháp đo lường trên nhiều miền một chiều. Các hướng dẫn ở trên giả định kiểu luồng người dùng này.

Trong trường hợp không biết miền nào mà người dùng của mình sẽ truy cập đầu tiên, bạn phải triển khai tính năng đo lường trên nhiều miền hai chiều, trong đó mỗi miền được định cấu hình để hoạt động dưới dạng nguồn hoặc đích.

Để triển khai tính năng đo lường trên nhiều miền hai chiều, bạn cần bật tính năng tự động liên kết trên cả hai miền và định cấu hình cả hai miền để chấp nhận các thông số trình liên kết.

Vào ngày source.com:

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['destination.com']);

Vào ngày destination.com:

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['source.com']);

Sử dụng một đoạn mã duy nhất trên tất cả các tên miền

Để đơn giản hoá việc này hơn, bạn có thể liệt kê tất cả các miền có thể có mà bạn muốn đo lường trong phương thức autoLink, qua đó cho phép bạn sử dụng cùng một đoạn mã trên mọi miền:

ga('create', 'UA-XXXXX-Y', 'auto', {allowLinker: true});
ga('require', 'linker');
ga('linker:autoLink', ['source.com', 'destination.com']);