Bạn có thể kiểm tra phân tích google trên một địa chỉ localhost không?


279

Tôi phải kiểm tra tài khoản GA mới trên máy cục bộ của mình.

Điều này có hoạt động chỉ bằng cách sao chép đoạn mã tiêu chuẩn do Google cung cấp lên trang không?

Tôi không muốn mất 24 giờ để chờ xem nó sẽ hoạt động hay không.

Câu trả lời:


345

Câu hỏi này vẫn còn hiệu lực ngày hôm nay, tuy nhiên công nghệ đã thay đổi. Trình theo dõi Urchin cũ bị phản đối và lỗi thời. Mã theo dõi Google Analytics không đồng bộ mới sử dụng mã hơi khác nhau để đạt được kết quả tương tự.

Google Analytics Classic - Cú pháp không đồng bộ - ga.js

Cú pháp hiện tại để đặt tên miền theo dõi thành không có trên phân tích google trông như thế này:

_gaq.push(['_setDomainName', 'none']);

Google Analytics sau đó sẽ loại bỏ yêu cầu theo dõi _utm.gif trên localhost. Bạn có thể xác minh điều này bằng cách mở các công cụ dành cho nhà phát triển trong trình duyệt yêu thích của bạn và xem các yêu cầu mạng trong khi tải trang. Nếu nó hoạt động, bạn sẽ thấy một yêu cầu cho _utm.gif trong danh sách yêu cầu mạng.

Cập nhật 2013 cho Universal Analytics - analytics.js

Google đã phát hành một phiên bản phân tích mới gọi là "Universal Analytics" (cuối năm 2012 hoặc đầu năm 2013). Như tôi viết, chương trình này vẫn ở BETA nên mã trên vẫn được khuyến nghị cho hầu hết người dùng có cài đặt Google Analytics hiện có.

Tuy nhiên, đối với các phát triển mới sử dụng analytics.jsmã mới , Google Analytics, Cấu hình nâng cao - Tài liệu theo dõi web cho thấy chúng tôi có thể kiểm tra Universal Analytics trên localhost với mã mới này:

ga('create', 'UA-XXXX-Y', {
  'cookieDomain': 'none'
});

Kiểm tra tài liệu được liên kết để biết thêm chi tiết về cấu hình nâng cao của Universal Analytics.

Cập nhật 2019

Cả Thẻ trang web toàn cầu - gtag.jsvà Universal Analytics - analytics.jssẽ localhosttự động phát hiện . Bạn không cần thực hiện bất kỳ thay đổi nào đối với cấu hình.

Nếu gtag.js phát hiện ra rằng bạn đang chạy máy chủ cục bộ (ví dụ localhost), nó sẽ tự động đặt cookie_domainthành 'none'.

- developers.google.com


5
Chỉ cần tiết kiệm cho tôi rất nhiều thời gian. Cảm ơn
atmd

4
Bổ sung cho câu trả lời của Ben: bạn phải thêm dòng này sau _gaq.push(['_setAccount', 'UA-XXXXXXX-XX']);và trước _gaq.push(['_trackPageview']);. Thêm: liên kết
dmmd

2
@JamesMcMahon Google Analytics không được phiên bản theo năm. (Không có thứ gọi là "phân tích google 2013"). Có lẽ bạn đang đề cập đến "Universal Analytics" hiện đang ở BETA?
BenSwayne

1
@JamesMcMahon, đã dùng thử ngay hôm nay (với Phiên bản "Cổ điển", không phải bản beta "Universal Analytics") và nó hoạt động.
Liran Brimer

21
Bạn không đặt nó thành nonenữa. Tài liệu cho biết: "Ngoài ra, nếu analytics.js phát hiện ra rằng bạn đang chạy máy chủ cục bộ (ví dụ: localhost), nó sẽ tự động đặt cookieDomain thành 'none'."
mert

60

Cập nhật cho năm 2014

Điều này bây giờ có thể đạt được bằng cách chỉ cần đặt tên miền thành none.

ga('create', 'UA-XXXX-Y', 'none');

Xem: https://developers.google.com/analytics/devguides/collection/analyticsjs/domains#localhost


6
Tham số thứ ba thực sự nên được đặt thành 'none'thay vì 'auto'.
Stephen M. Harris

Điều này có áp dụng cho các tên miền cấp cao khác không? Tôi kiểm tra phần mềm cục bộ với các miền * .dev và những miền này dường như không hoạt động.
Bradley

4
Ngoài ra, có ai biết cách đặt cài đặt này nếu bạn định cấu hình GA thông qua Trình quản lý thẻ của Google không?
Bradley

Sẽ đặt cài đặt này thành 'không' cũng hoạt động trong môi trường sản xuất?
vanzylv

9
Tùy chọn 'auto'tự động thiết lập 'none'cho bạn trong một localhostmôi trường: Automatic cookie domain configuration sets the _ga cookie on the highest level domain it can. For example, if your website address is blog.example.co.uk, analytics.js will set the cookie domain to .example.co.uk. In addition, if analytics.js detects that you're running a server locally (e.g. localhost) it automatically sets the cookieDomain to 'none'. Xem tại đây
reinaldoluckman

15

Tôi có cùng một vấn đề và tất cả các giải pháp đều không hoạt động cho đến khi tôi làm hai việc:

Mã rõ ràng:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXXX-X']);
_gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);   
_gaq.push(['_trackPageview']);

Tôi đã thêm localhost một FQDN - tên miền. Tôi đã làm điều này trên Windows sistem bằng cách chỉnh sửa:

C:\Windows\System32\drivers\etc\hosts

và tôi đặt vào đây

127.0.0.1   my.domain.org

Sau đó, tôi đã đi đến địa chỉ http://my.domain.org/WebApp đang phục vụ trang có phân tích Google phân tích.

Nếu bạn đang sử dụng unix, hãy chỉnh sửa / etc / hosts cho cùng một kết quả.

Họ nghĩ rằng Google nên đặt cấu hình Intranet trong Câu hỏi thường gặp về GA. Họ chỉ nói rằng bạn cần FQDA. Có, bạn có, nhưng không cho họ truy cập vào bạn, bạn chỉ cần có thuộc tính Máy chủ trong yêu cầu HTTP.

Tôi nghĩ một lý do khác cho FQDN là COOKIES! Cookie được sử dụng để theo dõi dữ liệu và nếu bạn không có FQDN, cookie không thể được đặt và mã JS dừng và không nhận được gif.


15

Trả lời năm 2019

Thực hành tốt nhất là thiết lập hai thuộc tính riêng biệt cho quá trình phát triển / dàn dựng và máy chủ sản xuất của bạn. Bạn không muốn làm ô nhiễm dữ liệu Analytics của mình bằng thử nghiệm và việc thiết lập các bộ lọc không hề dễ chịu nếu bạn buộc phải làm điều đó.

Điều đó đang được nói, Google Analytics hiện có theo dõi thời gian thực và nếu bạn muốn theo dõi Chiến dịch hoặc Giao dịch, độ trễ là khoảng 1 phút cho đến khi dữ liệu được hiển thị trên trang, miễn là bạn chọn ngày hiện tại.

Ví dụ: bạn tạo Kiểm tra Trang web và Trang web và mỗi ha ha mã UA-XXXX-Y .

Trong logic ứng dụng của bạn, nơi bạn phục vụ JavaScript phân tích, hãy kiểm tra môi trường của bạn và để sản xuất sử dụng Trang web UA-XXXX-Y của bạn và để dàn dựng / phát triển, hãy sử dụng Kiểm tra trang web.

Bạn có thể có thiết lập này cho đến khi bạn tìm hiểu các phần mở rộng của GA, sau đó xóa nó hoặc giữ nó nếu bạn cần thay đổi liên tục (trước tiên bạn sẽ kiểm tra sự phát triển / dàn dựng).

Nguồn: kinh nghiệm cá nhân, bài viết khác nhau.


Bạn đề cập đến việc sử dụng hai quan điểm khác nhau. Vì vậy, tôi đã tạo một mục mới trong tab Tạo chế độ xem. Tuy nhiên, nó không cung cấp cho bạn ID theo dõi mới. Thay vào đó, tôi phải tạo một mục mới trong Tạo tài sản để tạo ID theo dõi mới. Tôi nghĩ đây là ý của bạn, nhưng Google đặt tên những thứ tương tự như lựa chọn từ của bạn và gây ra sự nhầm lẫn.
Breakpoint25

14

Bây giờ câu trả lời cho câu hỏi của bạn là có, nó sẽ chỉ hoạt động bằng cách sao chép đoạn mã chuẩn. Theo tài liệu , bây giờ đoạn mã tiêu chuẩn có cấu hình miền cookie tự động: ga('create', 'UA-XXXXX-Y', 'auto');nơi tên miền cookie được xác định tự động.

Ngoài ra, nếu analytics.js phát hiện ra rằng bạn đang chạy máy chủ cục bộ (ví dụ: localhost), nó sẽ tự động đặt cookieDomain thành 'none'.


Tôi đã kiểm tra cái này và có vẻ như cookieDomain của tôi được đặt thành "localhost" thay vì không có.
Shyamal Parikh


6

Sau khi dành khoảng hai giờ để cố gắng đưa ra giải pháp, tôi nhận ra rằng tôi đã chặn quảng cáo chặn cuộc gọi đến GA. Khi tôi tắt chúng, tôi rất tốt để đi.


5

Một công cụ dễ dàng hơn để theo dõi các thẻ theo dõi là sử dụng tiện ích mở rộng Chrome (có thể có sẵn hoặc tương đương với các trình duyệt khác) - Google Tag Assistant. Điều này sẽ cho thấy các thẻ đang bắn, những vấn đề mà nó đã tìm thấy và thậm chí phá vỡ những thứ như giá trị thương mại điện tử để dễ đọc. Cũng hoạt động với Trình quản lý thẻ của Google và có thể xử lý nhiều bộ thẻ trên trang.


3

Tôi chỉ muốn thêm vào những gì đã nói cho đến nay, nó có thể tiết kiệm rất nhiều vấn đề đau đầu, bạn không cần đợi 24 giờ để xem nó có hoạt động không, vâng, tổng quan mất 24 giờ, nhưng trong tab Báo cáo, có một liên kết ở bên trái với kết quả Thời gian thực và nó sẽ hiển thị nếu có ai hiện đang truy cập trang web của bạn, tôi cũng không phải thiết lập 'cookieDomain': 'none'để nó hoạt động trên localhost, cài đặt của tôi được bật 'auto'và nó hoạt động tốt (Tôi đang sử dụng MVC 5), trên hết tôi đã thêm tập lệnh ở cuối thẻ head như google đã nêu trong trang này :

Dán đoạn trích của bạn (không thay đổi, toàn bộ) vào mỗi trang web bạn muốn theo dõi. Dán nó ngay trước </head>thẻ đóng .

đây là thông tin thêm về cách kiểm tra xem liệu phân tích có hoạt động đúng không.


3

Theo dõi câu trả lời của Tường Lu Kim:

Giả định:

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

... nếu analytics.js phát hiện ra rằng bạn đang chạy máy chủ cục bộ (ví dụ: localhost), nó sẽ tự động đặt cookieDomain thành 'none'. ...

Đoạn trích từ:

Cấu hình miền cookie tự động đặt cookie _ga trên miền cấp cao nhất có thể. Ví dụ: nếu địa chỉ trang web của bạn là blog.example.co.uk, analytics.js sẽ đặt tên miền cookie thành .example.co.uk. Ngoài ra, nếu analytics.js phát hiện ra rằng bạn đang chạy máy chủ cục bộ (ví dụ: localhost), nó sẽ tự động đặt cookieDomain thành 'none'.

Đoạn mã theo dõi JavaScript được đề xuất đặt chuỗi 'tự động' cho trường cookieDomain:


Nguồn: https://developers.google.com/analytics/devguides/collection/analyticsjs/cookies-user-id#automatic_cookie_domain_configuration


2

Gần đây tôi đã gặp vấn đề này và tôi thấy thật hữu ích khi khám phá tài liệu mới của Google về việc gỡ lỗi Analytics . Nó thực sự không quan tâm đến việc gửi thông tin theo dõi tới Google Analytics, tôi chỉ muốn đảm bảo rằng các sự kiện được bắn chính xác và các công cụ gỡ lỗi đã cung cấp cho tôi thông tin tôi cần. YMMV, tôi nhận ra không trả lời chính xác câu hỏi.


0

Đối với những người sử dụng trình quản lý thẻ google để tích hợp với các sự kiện phân tích của google, bạn có thể thực hiện những gì mà những người được đề cập sắp đặt cờ cookie thành không có từ GTM.

nhập mô tả hình ảnh ở đây

mở GTM> biến> biến phân tích google> và đặt thẻ cookie thành không

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.