Google 웹 로그 분석으로 앵커 태그를 추적하는 방법
-
06-07-2019 - |
문제
새로운 요청이 발생하지 않는 Google 웹 로그 분석을 통해 클릭을 추적하려고합니다. 구체적으로, jQuery UI 탭 위젯. 코드의 이전 버전 ( 'Urchin Tracker')을 사용하고 있는데 클릭을 다시 기록하려고합니다.
$('.ui-tabs-nav li a').click(function() {
val = "/tab/" + $(this).attr('href');
// when uncommented, the following line reports, for example:
// /tab/#main
// as expected.
// console.log(val);
res = urchinTracker(val);
});
다른 예에서는 내가 알 수있는 한 중요한 차이만이 문자열에 해시 (#) 기호가 없다는 것입니다. 그 문자는 다음에 의해 추적 된 문자열에서 허용되지 않습니까? urchinTracker()
, 또는 다른 원인이있을 수 있습니다 (아무도 링크를 클릭 한 사람 이외)?
해결책
기본적으로 Google 웹 로그 분석은 비활성화됩니다 앵커 태그 추적. 레거시 추적 코드를 활성화하려면 다음 양식을 사용하십시오.
_uanchor = 1;
urchinTracker(val);
변수로 값을 설정합니다 _uanchor
호출 방법과 같습니다 _setAllowAnchor
최신 GA 코드 기반을 사용할 때. (당신은 자세한 비교를 찾을 수 있습니다 Google Analytics 추적 코드 마이그레이션 안내서 - 이 링크는 구식입니다).
방법 _setAllowAnchor
다음에 설명되어 있습니다 Google 참조 사이트.
다른 팁
요컨대, Google Analytics는 '#'문자가 포함 된 페이지 링크를 추적 할 수 없습니다. index.html#foo를 클릭하면 '#'가 무시한 후 모든 것을 index.html에 대한 클릭으로 간단히 처리합니다.
'#'문자를 탈출하는 것을 고려할 수 있습니다.
$('.ui-tabs-nav li a').click(function() {
val = new String("/tab/" + $(this).attr('href')).replace('#', '&');
// when uncommented, the following line reports, for example:
// /tab/#main
// as expected.
// console.log(val);
res = urchinTracker(val);
});
당신의 예에서 이것은 페이지보기를 기록합니다. /tab/?main
, Google Analytics에서 제대로 작동해야합니다.
인 페이지 앵커 클릭을 추적하려면 다음이 전 세계적으로 작동합니다.
window.onhashchange = function() {
_gaq.push(['_trackPageview', location.pathname + location.search + location.hash]);
}
구체적인 경우에주의하십시오 onclick
다음과 같은 핸들러
$('#someid a').click(function(event){
event.preventDefault();
var target = $(this).attr('href');
// some more clever stuff
});
해시를 수동으로 배경해야합니다. onhashchange
$('#someid a').click(function(event){
event.preventDefault();
var target = $(this).attr('href');
// triggers onhashchange
location.hash = target;
// some more clever stuff
});
당신이 원하는 것 같습니다 Google 웹 로그 분석 이벤트 추적 예제는 onclick = ""쓰레기를 사용하지만 jQuery 클릭 이벤트에도 바인딩 할 수있을 것입니다.
나는 사용 시도했다
_uanchor = 1;
방법. 저것 하지 않습니다 일하다. 작동하지 않는 이유는 Google 웹 로그 분석 매개 변수를 해시 값으로 보내도록 설계 되었기 때문입니다. 당신의 해시 가치.가이드에서 인용되었습니다 Török Gábor의 답변에서, 설정
_uanchor
하나는 다음과 같은 영향을 미칩니다.활성화 된 경우 사용합니다
#
기본 대신?
요청 스템을 쿼리 문자열에서 분리하려면이것은 '캠페인 추적'섹션에 있습니다.
Rob Knight의 대답 잘 작동하지만 작은 수정을했습니다. 의사 코드 :
if (href contains ?) { href = href.replace('#', '&'); } else { href = href.replace('#', '?'); }
URL과 같은 URL을 갖는 것이 실제로 중요한지 확실하지 않습니다. foo.html&bar=baz
그러나 그것은 단지 나에게 더 깨끗해 보였다.
https://developers.google.com/analytics/devguides/collection/gajs/methods/gajsapicampaigntracking
_gaq.push(['_setAllowAnchor', true]);