2009-02-26 3 views

답변

4

그들은 자바 스크립트와 onload 및 onunload 이벤트 및/또는 setTimer를 사용하여 AJAX를 통해 웹 서비스와 통신합니다. 이렇게하면 사용자가 사이트를 방문하거나 사이트를 떠나는 시점을 파악할 수 있습니다. 브라우저가 웹 서비스에 "핑 (ping)"을 중지하면 사용자가 사이트를 떠난 것으로 간주됩니다.

나는 당신이 그것을하는 방법에 관계없이 약간의 오류 마진이있을 것이라고 확신하지만, 당신은 꽤 괜찮은 추정치를 얻을 수 있습니다.

+1

하지만 GA를 사용하는 모든 웹 사이트에서 '핑 (ping)'요청을 보지 못합니다. onbeforeunload는 페이지가 닫히기 전에 시간 내에 요청을 완료 할 수 없기 때문에 사용할 수 없습니다. – vsync

+0

@vsync - GA가 다음 페이지를로드 할 때 페이지를 떠날 때를 결정할 수 있습니다. 모든 페이지에 GA가 있다고 가정하면이 방법이 효과적입니다. 물론 사이트를 떠날 때를 제외하고. –

+0

귀하의 웹 사이트가 여러 탭에서 열리고 다른 웹 사이트로 이동하는 상황이있을 수 있습니다. 어쩌면 다른 상황이 생길 수도 있습니다. GA가 어떤 탭에서도 사용자가 사이트에 있는지 확인하기 위해 항상 ping을하지 않는 한이 방법이 효과가 없을 수 있습니다. 그러나 매우 추한 웹 관리자가 원하는 것은 무엇입니까? – vsync

1

나는 그들이 아마 반복하고 사용자 및 세션을 식별하기 위해 쿠키를 사용하여 각 루프에 콜백의 어떤 종류를 실행하는 타이머를 실행 의심

나는 물론 100 % 확신 할 수는 없지만, 내가 추측 할
2

브라우저를 닫거나 탐색 할 때 추적하지 않는다고 생각합니다. 그렇다고해도 100 %의 경우에는 작동하지 않습니다.

내 생각에 그들은 출구 페이지에서의 체류를 추정합니다. 이전 페이지 또는 모든 방문자의 해당 페이지 평균을 기준으로했을 것입니다. 몇 분 안에 세 페이지 조회가 발생하면 첫 번째 두 페이지에 대한 정확한 시청 시간을 갖지만 세 번째 페이지의 시청 시간은 알 수 없습니다. 페이지를 즉시 닫거나 나중에 그대로두고 읽을 수 있습니다.

통계적으로 볼 때 장기적으로 볼 때 정확하지만 실제로는 그렇지 않습니다. ;)

+0

나는 너의 대답을 좋아했다. – vsync

3

그냥이 같은 기능을 설정 : MM : SS, 또는 H : M : 경우에 S시/분/초 수

function track() 
{ 
    setTimeout(track ,1000); 
    now = new Date; 
    now_string = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds(); 
    (... whatever you want to do with this data) 
} 

자바 스크립트에서 해당 HH 말 문자열처럼 얻을 이

그냥이 당신의 창에 어딘가에 실행하고 (이 guaranteing하는 모든 페이지에) 당신이 얼마나 정확하게 얻을 세션과 연결 넣어를 arround 미만이 ​​개 문자

로 는

그러니 그냥 수학의 비트를 만들 일부 사용자가 귀하의 페이지에 있었던 시간.

편집 : 광산이었다 내가 거기에 있었다 기능을 제거해야하고 자바 스크립트 SRY에서되지 않습니다 : P

3

사용자가 페이지를 떠날 때 실행 onBeforeUnload라는 자바 스크립트 이벤트가 있습니다. 여기에는 창/탭을 닫거나 같은 사이트에 있더라도 다른 페이지로 이동하는 것이 포함될 수 있습니다. 페이지가로드 된 직후 시간을 가져오고 자바 스크립트를 사용하여 로딩과 탈퇴 사이의 시간차가있는 onBeforeUnload 동기 요청을 보내면 페이지에 소요 된 시간을 효과적으로 추적 할 수 있습니다. 나는 이것이 구글이하는 것이라고 생각할 것이다.

작업 코드 예제와 좀 더 자세한 정보를 보려면 this을 확인하십시오.