2009-10-24 2 views
2
나는이에 게시

를 통해로드 할 때 작동하고, 더 많은 연구를 수행하고 문제를 진행하기 때문에,하지만 난 아직 해결책이없는하지 않습니다Google 웹 로그 분석 샘플링 비율이 기능은 ... 얼마 전에 AJAX

나는 많은 링크가 AJAX를 통해로드되는 사이트 (www.seatgeek.com)를 가지고있다. 사용자가 이러한 링크 중 하나를 클릭하면이를 목표로 계산하기를 원하므로 link의 onClick 속성에 pageTracker._trackPageview()를 연결하려고 시도했습니다. 하지만 GA는 이러한 클릭 수를 기록하지 않고 있으며 그 이유는 모르겠습니다. 다음은 이러한 링크 중 하나에 대한 코드입니다 : 내가 링크를 AJAX를 통해로드되지 않은 상황에서 위의 코드를 시도했습니다

<a href="<?php echo $tickets[$x][3] ?>" target = "_blank" class="buyTicketsLink" onClick="pageTracker._trackPageview('/outgoing/event4.php');">BUY TICKETS</a> 

는하고 그것을 잘 작동, 그래서 그것은 확실히 AJAX와 관련된 문제입니다. 또한이 문제를 해결하기 위해 시도 할 때 프로그래밍 방식으로 onclick 이벤트를 추가하려고 시도했습니다. 예 :

<script> 
function attach_goal_tracking() { 
var links = document.getElementsByClassName("buyTicketsLink"); 
for(var i=0; i<links.length; i++) { 
links[i].onclick = record_goal; 
} 
} 

function record_goal() { 
pageTracker._trackPageview('/event/outgoing'); 
} 
</script> 

이 중 하나가 작동하지 않습니다. 그러나 record_goal() 함수에 테스트 경고 상자를 추가하면 함수가 실행 중임을 알 수 있습니다. 예를 들어 함수를 다음과 같이 변경 한 경우 :

function record_goal() { 
alert('Hello'); 
pageTracker._trackPageview('/event/outgoing'); 
} 

링크를 클릭하면 'Hello'경고 상자가 표시됩니다. 그러나 '/ event/outgoing'페이지 뷰는 아직 기록되지 않습니다.

저는이 문제를 일으키는 것으로 완전히 당황하고 있습니다. 모든 조언을 크게 주시면 감사하겠습니다.

+1

이전 질문을 편집하는 대신 별도의 질문을 게시 하시겠습니까? http://stackoverflow.com/questions/1554486/google-analytics-doesnt-track-links-generated-with-ajax –

답변

1

Prototype과 같은 JavaScript 라이브러리를 사용하고 있습니까? document.getElementsByClassName은 표준 자바 스크립트 DOM 메소드가 아닙니다.

자바 스크립트 오류가 발생합니까? 예 : Firebug 또는 Firefox 오류 콘솔을 엽니 다.

콘솔에 pageTracker;을 입력하면 pageTracker은 분명히 기능이며 undefined이 아님을 알 수 있습니까?

+0

(1) 예, 프로토 타입을 사용합니다. 하지만 나는 document.getElementByClassName이 경고 ('Hello')가 작동 할 때 작동하기 때문에이 경우에 작동합니다. (2) 아니요, 자바 스크립트 오류가 발생하지 않습니다. (3) Firebug를 사용하여 링크를 검사 한 다음 DOM 탭을 클릭하면 pageTracker의 값은 "Object b = window r = 1256426203 s = UA-XXXXXXX-9"입니다. 네가 말하는거야? – Jack7890

+0

그래, 모든 소리 괜찮아요. GA _is_가 시작되었으며 자바 스크립트가 오류를 생성하지 않습니다. 그런 다음 문제는 다른 것입니다. – Premasagar

+0

그래, 고마워, 네 말이 맞아. 나는 "그 밖의 무엇인가"가 무엇인지 알 수 없다. – Jack7890

1

당신의 trackPageView() 호출 후 "false를 돌려"추가 시도, 그래서 ...

onClick="pageTracker._trackPageview('/outgoing/event4.php'); return false"> 

우리의 분석 담당자는 나에게이 추천하고 그것이 마치 마법처럼 일했다. "return false"는 보통 "href는 href에주의하지 않는다"라고 말하지만 (어쨌든), 구현은 잘 작동합니다.

희망이 도움이됩니다. 여전히 Google 웹 로그 분석을로드하는 비동기 방법을 사용하는 경우

1

, 다음 코드는 동일한 작업을 수행합니다 :

 
_gaq.push(['_trackPageview', '/anything']); 

또는 (@Lauren 코드) 한 이유는

 
onClick="_gaq.push(['_trackPageview', '/outgoing/event4.php']); return false">