문제

Google Analytics는 'Site on Site'를 추적합니다. 어떻게 그렇게 효과적으로 하시겠습니까? 사용자가 브라우저를 닫거나 탐색 할 때 실제로 추적됩니까?

생각?

도움이 되었습니까?

해결책

물론 100% 확실하지는 않지만 ajax를 통해 웹 서비스와 통신하기 위해 JavaScript와 Onload 및 OnOnload 이벤트 및/또는 settimer를 사용한다고 생각합니다. 이렇게하면 사용자가 사이트에 페이지를 떠나는시기를 알아낼 수 있습니다. 브라우저가 웹 서비스를 "핑"하지 않으면 사이트를 떠난 것으로 가정합니다.

나는 당신이 어떻게 그렇게하더라도 오류의 여백이 관련되어 있다고 확신하지만, 그런 식으로 꽤 괜찮은 추정치를 얻을 수 있습니다.

다른 팁

JavaScript 이벤트가 있습니다 onBeforeUnload 사용자가 페이지를 떠날 때 실행됩니다. 여기에는 Windows/Tab을 닫거나 다른 페이지로 이동하는 것이 포함될 수 있습니다 (동일한 사이트에 있더라도). 페이지로드 직후에 시간을 얻고 JavaScript를 사용하여 동기 요청을 보냅니다. onBeforeUnload 로드와 떠나는 시간의 차이로 인해 페이지에서 소비 된 시간을 효과적으로 추적 할 수 있습니다. 이것이 Google이하는 일이라고 생각합니다.

작업 코드 예제와 약간의 정보를 원한다면 확인하십시오. 이것 밖으로.

다음과 같은 기능을 설정합니다.

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

JavaScript에서는 HH : MM : SS 또는 H : M : S라는 문자열이 2 자 미만인 경우를 대비하여 문자열을 얻습니다.

그래서 약간의 수학을 만들어냅니다

이 작업을 창문 어딘가에 놓고 세션과 연관 시키면 (모든 페이지에 보장) 일부 사용자가 귀하의 페이지에 얼마나 많은 시간을 얻었는지 정확히 알 수 있습니다.

편집 : 내 것이었던 기능을 제거해야했고 JavaScript Sry : P에서 비롯된 것입니다.

브라우저를 닫거나 탐색 할 때 추적한다고 생각하지 않으며, 그렇지 않더라도 100%에서는 작동하지 않습니다.

내 생각에 그들은 출구 페이지에서의 체류를 추정 할 것입니다. 몇 분 안에 3 페이지 히트를 받으면 처음 두 페이지에 대한 정확한 시청 시간이 있지만 세 번째 페이지가 얼마나 오래 보는 지 알 수 없습니다. 아마도 페이지를 바로 닫거나 열어두고 나중에 읽을 수 있습니다.

그것은 통계이므로 장기적으로는 일반적으로 다소 정확하지만 실제로는 결코 진실이 아닙니다. ;)

쿠키를 사용하여 각 루프에서 일종의 콜백을 반복하고 실행하는 타이머를 실행하여 사용자와 세션을 식별하는 타이머를 실행할 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top