3

Google 웹 로그 분석 이벤트 추적에 문제가 있습니다. 은 Chrome에만 표시되고 다른 브라우저에는 표시되지 않습니다.Chrome에서만 여러 계정에 대해 Google 웹 로그 분석 이벤트 추적이 실행되지 않습니다.

나는 다음과 같은 Google 웹 로그 분석 추적 코드가 앵커 링크를 클릭 내 사이트에 발사가 : 나는 첫 번째가 발사되는 것을 볼 수있는 웹 프록시 도구를 사용하여

_gaq.push(['_trackEvent', 'Basket Remove', product_name, product_code, product_price, false]);   
_gaq.push(['rollup._trackEvent', 'Basket Remove', product_name, product_code, product_price, false]);  

하지만, 두 번째는 아니다. 이 클릭이 다른 페이지로 연결되는 링크입니다 _trackEvent 클릭 수의 경우 것으로 보인다, 내가 말했듯이 구글 크롬에서 명백한 입니다.

그것은 크롬 자바 스크립트의 실행을 완료하기 전에 멀리 앵커에 링크 리디렉션하기로 결정했다처럼 거의이다. IE 또는 FF에서이 문제가 발생하지 않았습니다.

난 후 setTimeout을 고집 시도했습니다

하고 통화 사이지만 아무 소용이.

setTimeout('document.location="' + link.href + '"', 500); 

답변

8

문제는 현재 창에서 새 페이지를로드하기위한 요청이있을 때 크롬 (그리고 다른 브라우저) 보류중인 이미지 요청을 취소 할 것입니다. 두 번째 _trackEvent 중에 추가 처리가 진행되기 때문에 첫 번째 _trackEvent 요청이 기록되는 것이 좋습니다. 그렇지 않으면 기본 동작은의 setTimeout 함수가 발생하기 전에 링크를 따라 - 링크에 지연을 추가 할 때

, 당신은 실행에서 링크의 기본 동작을 계속 확인해야합니다. 링크를 새 창에서 여는 경우

다음 코드 여부를 확인합니다 - 그렇지 않은 경우는 150ms의로 링크를 지연 : 여기에 도착하고 제안 된 대답은하지 않았다 사람들을 위해

function track(link) { 
    _gaq.push(['_trackEvent', 'Basket Remove', product_name, product_code, product_price, false]);   
    _gaq.push(['rollup._trackEvent', 'Basket Remove', product_name, product_code, product_price, false]); 
    if ('_blank' == link.target) return true; 
    var url = link.href; 
    setTimeout(function(){ document.location = url; }, 150); 
    return false; 
} 

<a href="someURL" onclick="return track(this);">ClickMe</a> 
+0

절대적으로 주목하자면, 이것이 내가 필요로했던 것입니다. 나는'setTimeout'을 사용하는 몇 가지 다른 버전을 시도했지만, 이것은 하나의 치료법입니다! – crmpicco

+0

이 답이 도움이되지 않는다면 나에게 도움이되지 않았기 때문에 결국 나를 도왔다. 건배! – Leon

1

그들을 위해 일하는 :

나는 setTimeout 함수 내에서 추적 코드 (예 : _gaq.push()을 배치하고, 매개 변수로에서 1500ms을주고 있었다 했는가

내가 analytics.js 작업 및 내 코드 리를 보인다. 이 경우 :

setTimeout(function(){ga('send', 'event', 'click' , 'label',2);}, 1500); 

본질적으로 나는 추적을 통해 내 사이트의 자연스러운 사용을 방해하지 않습니다. 사용자가 이미 수행 한 작업 이후에 보고서 추적을 수행합니다.

+0

Hi Leon, 'ga' 기능을 기반으로 유니버설 애널리틱스를 사용하고있는 것 같습니다. 맞습니까? 저는 기존의 Google Analytics를 사용하고 있었기 때문에 이것이 왜 당신을 위해 작동하지 않았는지를 설명해줍니다. – crmpicco

+0

예, 맞습니다.하지만 GA가 analytics.js로 바뀌 었음을 언급하는 동안 가치가 있다고 생각했습니다. – Leon