이 코드와 내 프로젝트를 특징으로 웹 사이트에 다운로드 버튼 클릭 추적하고 있습니다 :을 분석하여 이벤트와 다운로드 버튼 클릭을 추적
function trackDownload(link) {
try {
_gaq.push(['_trackEvent', 'Downloads', 'Click', 'Setup executable']);
setTimeout('document.location = "' + link.href + '"', 100);
} catch (err) {}
return false;
}
그리고 버튼을 뭔가로 :
<a href="files/setup.exe" onclick="return trackDownload(this);">Download</a>
사용자가 클릭하면 이벤트가 애널리틱스로 푸시되고 사용자가 파일로 리디렉션됩니다.
이 내용은 외부 링크 추적에도 적용됩니다. 차이는 없습니다.
그리고 지금 내 질문. 사용자가 리디렉션되기 전에 애널리틱스 이벤트가 '처리'되었는지 확인할 수 있습니까? 그렇지 않으면 리디렉션으로 인해 이벤트가 손실됩니까? 현재 이벤트가 추적되고 있지만 그 중 모두가 개임을 확신 할 수 없습니다.
_gaq.push(function() { document.location = link.href; });
을하지만이 작동하는지는 분명하지 않다거나 이전에 단지 동등의 경우 :
나는 나는 또한 웹 로그 분석 큐에 재 지정 기능을 밀어 조금 다른 무언가를 시도 할 수 있습니다 읽어 보시기 바랍니다. 사실, here"_gaq.push [...] 호출시 명령이 실행될 때 실행됩니다"입니다.
내가 게시 한'_gaq'에서 리다이렉션을 푸시 한 다음 'catch'블록과 더 지연된'setTimeout' (1 ~ 2 초)에서 반복 할 수 있을지도 모릅니다. 그래서'_gaq'로 무엇인가 잘못되면 사용자가 조속히 리디렉션 될 것이라는 확신을 가질 수 있습니다. –
지연된 setTimeout이 분석이없는 경우를 처리하는 방법에 동의합니다.그러나, 나는 아마 1 초 또는 2 초가 약간 빠르다고 생각한다. 또한, 방금 catch 블록이 필요하지 않은 것으로 나타났습니다 - 나는 내 대답을 업데이트 할 것입니다. –
사실, 왜'try..catch' 블록을 넣었는지 기억이 안납니다 :) timeout에 대해서 : 나는 클릭 할 때 더 긴 것을 (5 초) 설정하고 스피너를 설정할 수 있습니다. 그래서 빠른 사용자는 아무 일도 일어나지 않는다는 느낌을 가지지 않을 것입니다 ... –