Tôi nên đặt JS của Google Analytics ở <head> hay ở cuối <body>?


123

Google cung cấp cho tôi một đoạn javascript và yêu cầu tôi đưa nó vào <head>.

Tôi có thể đặt nó ở cuối <body>hay sẽ xảy ra một số tác dụng phụ nếu tôi làm điều đó?


3
Họ không nói đặt nó trước thẻ đóng </body> sao? Hay điều này đã thay đổi?
Marko

Câu trả lời:


155

Đặt nó ở cuối <head>phần giúp đảm bảo các chỉ số của bạn được theo dõi ngay cả khi người dùng không để trang tải xong.

Họ thường bảo bạn đặt nó ở cuối trang, trước khi họ thêm hỗ trợ để xử lý tải một phần trang.

Trực tiếp từ Google:

Một trong những ưu điểm chính của đoạn mã không đồng bộ là bạn có thể đặt nó ở đầu tài liệu HTML. Điều này làm tăng khả năng beacon theo dõi sẽ được gửi trước khi người dùng rời khỏi trang. Theo thói quen, bạn nên đặt mã JavaScript trong <head>phần và chúng tôi khuyên bạn nên đặt đoạn mã ở cuối phần để có hiệu suất tốt nhất.

Xem Trợ giúp Google Analytics : Thêm mã theo dõi trực tiếp vào trang web của bạn


8
Vì vậy, nó là tốt nếu tôi đặt nó ở dưới cùng? Tôi muốn các trang của mình tải nhanh bằng cách đặt mọi thứ ở dưới cùng (và css ở trên cùng để hiển thị phù hợp) - chỉnh sửa - tổng cộng của nó để đưa js lên đó.

2
Vâng, nó là tốt để làm như vậy; Tôi thực sự có một sự kết hợp, nhưng chủ yếu đã chuyển sang đặt nó trên đầu vì những lý do đã đề cập.
Chris Arguin

6
Tại sao đây là một lợi thế? Đối với tôi, dường như tôi không muốn tính số lần tải trang một phần bởi vì những người dùng như vậy về cơ bản nói rằng họ đã mắc lỗi khi đến đó ngay từ đầu. Ngay cả khi họ cố tình ở đó, tôi không muốn bắt họ phải đợi thêm một phần nghìn giây để xem nội dung của tôi.
Melinda Green

3
Việc tải một phần trang cũng có thể có ý nghĩa đối với chủ sở hữu trang web mà họ cần phải sửa chữa. Hãy tưởng tượng ai đó bước vào cửa hàng của bạn, chỉ để nhận ra rằng bên ngoài đã lừa họ vào. Bạn muốn sửa lại quảng cáo của mình để khắc phục điều đó.
Optimus

2
Một cập nhật nhỏ cho điều này: thay vì ở cuối <head>trang, trang được liên kết đến giờ cho biết "Thêm thẻ ngay sau thẻ mở <head> trên mỗi trang."
Brandon

6

Bạn có thể đặt nó ở bất cứ đâu bạn muốn. Tôi luôn đặt mã theo dõi ở cuối trang và tôi chưa bao giờ gặp vấn đề gì.


2
Tại sao bạn muốn phát hiện một người dùng tải một phần trang của bạn và rời đi trong vòng mili giây?
João Pimentel Ferreira

@ JoãoPimentelFerreira vì nó cũng là thông tin có giá trị, bạn có thể muốn đo lường% lượt xem là như vậy
jangorecki

3

Bạn có thể đặt nó ở bất cứ đâu bạn muốn trên trang và sẽ chạy ở bất cứ đâu trên trang cho dù đó là phần đầu hay phần thân. Nhưng theo bộ phận hỗ trợ của Google ( Thêm mã theo dõi trực tiếp vào trang web của bạn ), bạn nên dán mã vào thẻ head, dán ngay trước </head>thẻ đóng .

Đoạn sau từ một bài báo hay giải thích lý do tại sao nên đặt mã trong thẻ head

Số lần xem trang chỉ được ghi lại sau khi mã đó được tải lên. Vì vậy, bạn tải mã càng sớm thì Số lần xem trang đó được ghi lại càng sớm. Giả sử bạn có một trang blog lớn và trang này tải chậm, thậm chí mất 10 đến 20 giây để tải mọi thứ lên. Nếu Mã Google của bạn không bắt đầu cho đến cuối trang, nó có thể được giữ lại, giống như mã không đồng bộ cũ được sử dụng để chứa các dòng mã KHÁC. Ngoại trừ bây giờ nó đang giữ mã theo dõi. Nếu một khách truy cập vào trang web của bạn truy cập trang và sau đó rời khỏi trang trước khi mã theo dõi kích hoạt Lượt xem trang, thì bạn sẽ mất khách truy cập đó. Bây giờ họ trở thành một truy cập trực tiếp mới vào bất kỳ trang nào của trang web mà họ đã truy cập. Điều này có thể làm cho tất cả các loại dữ liệu trên trang web của bạn không chính xác.


0

Trong phần đầu, ngay trước thẻ đóng </ head>, khi đó bạn sẽ không gặp bất kỳ vấn đề nào khi xác minh trang web của mình trong Công cụ quản trị trang web.


0

Thêm mã sau (được gọi là "đoạn mã theo dõi JavaScript") vào các mẫu trang web của bạn là cách dễ nhất để bắt đầu sử dụng analytics.js.

Mã phải được thêm vào gần đầu thẻ và trước bất kỳ tập lệnh hoặc thẻ CSS nào khác và chuỗi 'UA-XXXXX-Y' phải được thay thế bằng ID thuộc tính (còn được gọi là "ID theo dõi") của Google Analytics tài sản bạn muốn theo dõi.

<!-- 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','https://www.google-analytics.com/analytics.js','ga');

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

Đoạn mã trên thực hiện bốn điều chính:

  1. Tạo phần tử bắt đầu tải xuống không đồng bộ thư viện JavaScript analytics.js từ https://www.google-analytics.com/analytics.js

  2. Khởi tạo một hàm ga toàn cục (được gọi là hàng đợi lệnh ga ()) cho phép bạn lập lịch chạy các lệnh khi thư viện analytics.js được tải và sẵn sàng hoạt động.

  3. Thêm lệnh vào hàng đợi lệnh ga () để tạo đối tượng trình theo dõi mới cho thuộc tính được chỉ định thông qua tham số 'UA-XXXXX-Y'.

  4. Thêm một lệnh khác vào hàng đợi lệnh ga () để gửi một lượt xem trang đến Google Analytics cho trang hiện tại.


Chúng ta hãy xem xét kỹ hơn một chút, bởi vì việc gọi nó là "hàng đợi lệnh" đang khiến nó trở nên quá tệ. Mã chưa được nén chặt chẽ chấp nhận một số đối số mà nó sử dụng để giải nén một số thứ và có được một xử lý cho một Array.pushhàm bị ràng buộc . Các ga"chức năng" là hoàn toàn mà bị ràng buộc push. Như vậy, lời gọi ngay lập tức có thể được tối ưu hóa vị: thay vì xây dựng một mảng rỗng nếu không tìm thấy ( []), cư nó với "lý lẽ" mảng cho mỗi gacuộc gọi: [['create', 'UA-XXX', 'auto'], ['send', 'pageview']]...
amcgregor

-3

Mã bạn phải luôn được thêm vào gần đầu thẻ và trước bất kỳ tập lệnh hoặc thẻ CSS nào khác và chuỗi 'UA-XXXXX-Y'phải được thay thế bằng thuộc tính ID(còn được gọi là "ID theo dõi") của thuộc tính Google Analytics mà bạn muốn theo dõi.


2
Điều này không trả lời câu hỏi. Câu hỏi đặt ra là tác dụng phụ của việc không làm như bạn nói là gì.
Peter Hall,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.