문제

새로운 요청이 발생하지 않는 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 클릭 이벤트에도 바인딩 할 수있을 것입니다.

  1. 나는 사용 시도했다 _uanchor = 1; 방법. 저것 하지 않습니다 일하다. 작동하지 않는 이유는 Google 웹 로그 분석 매개 변수를 해시 값으로 보내도록 설계 되었기 때문입니다. 당신의 해시 가치.

    가이드에서 인용되었습니다 Török Gábor의 답변에서, 설정 _uanchor 하나는 다음과 같은 영향을 미칩니다.

    활성화 된 경우 사용합니다 # 기본 대신 ? 요청 스템을 쿼리 문자열에서 분리하려면

    이것은 '캠페인 추적'섹션에 있습니다.

  2. Rob Knight의 대답 잘 작동하지만 작은 수정을했습니다. 의사 코드 :

    if (href contains ?) {
    href = href.replace('#', '&');
    } else {
    href = href.replace('#', '?');
    }
    

URL과 같은 URL을 갖는 것이 실제로 중요한지 확실하지 않습니다. foo.html&bar=baz 그러나 그것은 단지 나에게 더 깨끗해 보였다.

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