2013-08-13 6 views
1

사용자가 가입 양식에서 제출 버튼을 클릭하면 이벤트를 추적하려고합니다. 양식이 제출 될 때 _trackEvent가있는 Google 웹 로그 분석 이벤트 추적

나는이 내 페이지에 다음 코드 :

Google 웹 로그 분석 - 바로 내 닫기 전에 </head> 태그 :

<script type="text/javascript"> 

    var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXXXX-XX']); 
    _gaq.push(['_trackPageview']); 

    (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
    })(); 

</script> 

양식 이벤트 추적 :

<input onclick="_gaq.push(['_trackEvent', 'Forms', 'Submit', 'mylist', , false]);" name="submit" id="af-submit-image-873297158" type="image" class="image img-responsive" style="background: none;" alt="Submit Form" src="img/orange_free_instant_access_button.png" tabindex="503"> 

모든 페이지를로드하고 양식을 클릭하면 이벤트가 로그됩니다. d를 클릭하십시오. 이것은 잘 작동하는 것으로 보이지만, 지난 24 시간 동안 100 건이 넘는 알려진 가입이 있었지만, 소수만 기록됩니다. (전체 12 개, 대부분 내 자신의 테스트 제출물이었습니다).

이벤트가 Google에 전송되지 않는다고 가정 할 수 있지만 코드가 정상적으로 표시되는 것을 볼 수 있으며 GA 디버깅 플러그인을 사용하여 콘솔을 통해 전송되는 이벤트를 볼 수도 있습니다.

jQuery 호출을 통해 이벤트를 트리거 해 보았습니다. onmousedown & 같은 실제 이벤트 제출 이벤트와 같은 다양한 이벤트를 시도했지만 아무것도하지 않았습니다. (나는 analytics.js에서 ga.js로 롤백하여 새로운 프로필을 만들었는데, 이는 베타 버전의 문제 일 수 있다고 생각했습니다.)

나는 이벤트가 시작되지 않았다고 생각했습니다. 페이지가 위치를 변경하기 전의 시간이지만, 나 자신을 테스트 할 때마다 매번 해고되었다. 크롬을 사용해 보았습니다. FF & IE10.

이 문제를 해결하기 위해 onload 이벤트를 페이지 본문에 첨부했으며 실제 방문자도 해당 이벤트가 기록되고 있음을 알 수 있습니다. 문제는 양식 이벤트를 중심으로 진행되는 것 같습니다. 그것의 시간 같은

답변

3

좋아 보이는 다른 사람의 이익을 위해 내 자신의 질문에 대답 :

내가 뒷조사를했고, 그것은 이벤트가 제대로 추적하기 전에 위치를 변경 페이지에 의해 발생되고 있었다. 조엘 피터슨에 의해 게시물 덕분에 나는이 코드 조각 해낸 :

jQuery(document).ready(function($){ 
    $('form').submit(function(event){ 
     //if analytics object exists 
     if(window._gat){ 
      event.preventDefault(); 
      optinForm = this; 
      _gaq.push(['_set','hitCallback', function(){ 
               optinForm.submit(); 
              }]); 
      _gaq.push(['_trackEvent', 'Forms', 'Submit', 'hbsanewtraffic']); 
     } 
     //if no analytics object, service as normal 
    }); 
}); 

그것은 이벤트가 처음으로 전송 될 수 있도록 콜백 함수를 사용하고 내 양식을 제출합니다.

+0

루프가 발생하지 않습니까? 콜백에 양식을 제출하면 반드시 $ ('form')을 실행합니다. –

+0

nope, submit 메소드가 호출되는 optinForm은 jQuery 객체가 아니라 DOM 객체를 참조합니다. – younes0

0

_gaq.push ([ '_ trackEvent', 'Forms', 'Submit', 'mylist',, false))를 바꿉니다.

(아래)

ga ('send', 'event', 'category', 'action');

예 :

조지아 ('제출', '양식', '이벤트'를 보낼 ');

onClick attr의 값으로 배치하십시오.