2014-12-19 19 views
9

Đây là ngữ cảnh của một ứng dụng một trang, nhưng tôi tin rằng nó cũng sẽ xảy ra trong các trường hợp khác. Trong khi trình theo dõi GA được cập nhật với các thay đổi trang tôi có thể thấy trong báo cáo thời gian thực mà người dùng vẫn còn sống. Nhưng khi người dùng không tương tác với trang trong một thời gian (trong khi phát video chẳng hạn), nó sẽ ngắt kết nối khỏi chế độ xem GA.Cách phân tích google phát hiện người dùng rời khỏi trang?

Tôi muốn hiểu rõ hơn cách GA hoạt động trong trường hợp này, có thể tôi cần gửi sự kiện để giữ cho người dùng còn sống.

+0

@canon no, nhưng tôi đã nghĩ đến việc gửi sự kiện đến GA, điều đó có khắc phục được sự cố không? Tôi sẽ đặt trước để hiểu cách họ triển khai thoát người dùng. –

Trả lời

13

Google Analytics không phát hiện khi ai đó rời khỏi trang. Không có cách nào đáng tin cậy để làm điều đó (các trình xử lý dỡ bỏ không kích hoạt khi ai đó chỉ đóng cửa sổ). Thay vào đó, Google đợi cho đến khi phiên kết thúc - sau 30 phút mà không có sự tương tác (có thể được điều chỉnh trong Universal Analytics trong cài đặt thuộc tính), phiên kết thúc và người so sánh đã rời xa như các báo cáo có liên quan (có thể anh ta đã rời đi sớm hơn rất nhiều) , nhưng thời gian sau lần tương tác cuối cùng không được theo dõi trong GA).

Thêm phiên có thể có tối đa 500 tương tác ở mức tối đa, do đó không có cách nào để giữ cho phiên hoạt động vô thời hạn.

+0

Cảm ơn bạn đã trả lời, có ý nghĩa. Tôi đề xuất thêm liên kết cho câu trả lời của bạn mà tôi đã tìm thấy khi thay đổi cài đặt trong trình theo dõi như bạn đã đề xuất: https://support.google.com/analytics/answer/2795871?hl=vi –

0

Trình xử lý sự kiện beforeunload sẽ chạy ngay trước khi trang được đóng.

window.addEventListener('beforeunload', function(e) { 
    //run some code 
    //OPTIONAL: if you use the following, a navigate confirmation box will appear 
    return "Are you sure you want to leave"; 
}); 

Hoặc, bạn có thể sử dụng sự kiện pagehide, sự kiện này cũng kích hoạt khi trang được tải. Tuy nhiên, điều này được kích hoạt sau một thời gian sau sự kiện beforeunload, vì vậy nếu bạn muốn thực hiện một số tính toán nặng hơn, tôi khuyên bạn nên sử dụng beforeunload thay thế.

Nếu bạn muốn làm cho thời gian phiên ra sau khi rời khỏi trang hoạt động quá lâu, bạn có thể sử dụng một setTimeout đó là mỗi lần reset người dùng tương tác với trang:

window.idleTimer = 0; 
function resetIdleTimer() { 
    clearTimeout(window.idleTimer); //reset the previous timer 
    window.idleTimer = setTimeout(function() { //set another one right away 
     //kill the connection 
    }, 30*60*1000); //30 minutes = 3600000ms 
} 
resetIdletimer(); //initialise the timer 
window.addEventListener('focus', resetIdleTimer); 
window.addEventListener('mousemove', resetIdleTimer); 
+0

Từ mô tả của OP, có vẻ như trang không được tải nhưng phiên hết hạn do không hoạt động. – canon

+0

@canon ah yes sau khi đọc kỹ hơn, đó thực sự là những gì OP yêu cầu. Tôi sẽ cập nhật câu trả lời của mình. – Joeytje50

1

Eike Pierstorff đã đưa ra câu trả lời hay cho câu hỏi của tôi, chỉ muốn thêm một số chi tiết được tìm thấy trên tài liệu Google Analytics và giải pháp bổ sung để tinh chỉnh thời gian chờ của cookie phiên.

Bên cạnh việc thiết lập timeout session cookie trên các thiết lập tài khoản dưới: quản trị> property> theo dõi thông tin> Cài đặt phiên

Nó cũng có thể được đặt trên thời gian chạy:

_gaq.push(['_setSessionCookieTimeout', 1800000]); 

Bạn có thể tìm thấy biết thêm chi tiết về số google documentation.

_setSessionCookieTimeout (cookieTimeoutMillis)

Thiết lập thời gian chờ cookie phiên làm việc mới trong mili giây. Theo mặc định, thời gian chờ của phiên được đặt thành 30 phút. Thời gian chờ của phiên được sử dụng để tính lượt truy cập, vì lượt truy cập kết thúc sau 30 phút không hoạt động của trình duyệt hoặc khi thoát khỏi trình duyệt. Nếu bạn muốn thay đổi định nghĩa của "phiên" cho nhu cầu cụ thể của bạn , bạn có thể vượt qua số mili giây để xác định giá trị mới. Điều này sẽ ảnh hưởng đến báo cáo Lượt truy cập trong mỗi phần trong đó số lượt truy cập được tính và số lượt truy cập được sử dụng trong các số tính toán các giá trị khác.Ví dụ: số lượt truy cập sẽ tăng nếu bạn rút ngắn thời gian chờ của phiên và sẽ giảm nếu bạn tăng thời gian chờ của phiên. Bạn có thể thay đổi thời gian chờ hết hạn thành 0 để cho biết rằng cookie này sẽ bị xóa khi trình duyệt bị chặn .

+0

Rất tốt, nhưng chỉ có thể sử dụng * * nếu sử dụng 'ga.js', trên' universal' sẽ bị bỏ qua và phải được thiết lập trong trang quản trị. [Nâng cấp: ga.js/dc.js lên analytics.js] (https://developers.google.com/analytics/devguides/collection/upgrade/reference/gajs-analyticsjs) – gmo

Các vấn đề liên quan