Đổi tên đối tượng ga

Trong một số trường hợp, bạn muốn thêm analytics.js vào trang của mình, nhưng biến ga đã được sử dụng cho một mục đích khác. Để xử lý vấn đề này, analytics.js cung cấp cơ chế đổi tên đối tượng ga chung.

Đổi tên đối tượng toàn cục

Thẻ Google Analytics cho phép bạn đổi tên đối tượng ga chung bằng cách thay đổi thông số cuối cùng được truyền vào hàm rút gọn. Bạn cũng cần cập nhật tất cả lệnh gọi của hàng đợi lệnh từ ga() thành bất kỳ tên nào bạn chọn.

Ví dụ: nếu muốn đổi tên đối tượng ga thành analytics, bạn có thể thay đổi thẻ như sau:

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','analytics');

analytics('create', 'UA-XXXXX-Y', 'auto');
analytics('send', 'pageview');
</script>
<!-- End Google Analytics -->

Đổi tên đối tượng toàn cục theo cách thủ công

Việc đổi tên đối tượng chung sẽ hoạt động vì khi tải, analytics.js sẽ tìm một chuỗi được lưu trữ trên biến toàn cục có tên là GoogleAnalyticsObject. Nếu tìm thấy biến đó, công cụ sẽ sử dụng tên chuỗi làm tên mới cho hàng đợi lệnh chung.

Ví dụ: nếu đang sử dụng phương thức $.getScript của jQuery để tải analytics.js, thì bạn có thể đổi tên đối tượng chung bằng mã sau:

<script>
// Instructs analytics.js to use the name `analytics`.
window.GoogleAnalyticsObject = 'analytics';

// Use jQuery to load analytics.js.
$.getScript('//www.google-analytics.com/analytics.js', function() {

  // Creates a tracker and sends a pageview using the renamed command queue.
  analytics('create', 'UA-12345-1', 'auto');
  analytics('send', 'pageview');
});
</script>

Thẻ không đồng bộ thay thế

Không giống như thẻ Google Analytics chuẩn, thẻ không đồng bộ thay thế không hỗ trợ mặc định để đổi tên đối tượng ga chung.

Tuy nhiên, bằng kỹ thuật mô tả ở trên, bạn có thể đổi tên đối tượng ga toàn cục mà vẫn nhận được tất cả lợi ích tải trước của thẻ không đồng bộ thay thế.

Phiên bản đã sửa đổi sau đây của thẻ không đồng bộ thay thế đặt biến GoogleAnalyticsObject thành analytics, đồng thời đổi tên tất cả bản sao của ga thành analytics:

<!-- Google Analytics -->
<script>

// Instructs analytics.js to use the name `analytics`.
window.GoogleAnalyticsObject = 'analytics';

// Creates an initial analytics() function.
// The queued commands will be executed once analytics.js loads.
window.analytics = window.analytics || function() {
  (analytics.q = analytics.q || []).push(arguments)
};

// Sets the time (as an integer) this tag was executed.
// Used for timing hits.
analytics.l = +new Date;

// Creates a default analytics object with automatic cookie domain configuration.
analytics('create', 'UA-12345-1', 'auto');

// Sends a pageview hit from the analytics object just created.
analytics('send', 'pageview');
</script>

<!-- Sets the `async` attribute to load the script asynchronously. -->
<script async src='//www.google-analytics.com/analytics.js'></script>
<!-- End Google Analytics -->