2012-03-02 2 views
2

멋진 기능을 사용하여 내 사이트 방문자를 추적하고 정보를 Salesforce에 덤프합니다. 그러나 (많은 사람들이) 이해할 수 있듯이 두 번째 페이지가로드 될 때까지 쿠키가 설정되지 않기 때문에 많은 양식 제출에 (많은) 값이 설정되어 있습니다 (없음).첫 번째 페이지로드시 __utmz 쿠키를 설정하려면 어떻게해야합니까?

나는 이것을 테스트했는데 정확하다고 보입니다. 문제는 많은 사람들이 첫 페이지에 양식을 채우고 있으며,이 제출물을 통해 어떤 정보도 얻지 못합니다.

나는 다음과 같이 GA로드 오전 :

<script type="text/javascript"> 

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

    (function() { 
    var ga = document.createElement('script'); 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
     'http://www') + '.google-analytics.com/ga.js'; 
    ga.setAttribute('async', 'true'); 
    document.documentElement.firstChild.appendChild(ga); 
    })(); 


</script> 

을 그리고 떨어져 __utmz 쿠키를 구문 분석하는 PHP 함수를 실행 :

function tracking_cookie() { // ver 1.5 
    $trackarr = split('[|]',$_COOKIE["__utmz"]); 
    $conversion = $_COOKIE["Conversion"]; 

    for($i=0;$i<count($trackarr);$i++){ 
     $keyvalues=split('[=]',$trackarr[$i]); 
     $key=substr($keyvalues[0],-6);  
     switch ($key){ 
      case "utmcsr": 
       $cookie['SearchEngine']  = $keyvalues[1];break; 
      case "utmccn": 
       $cookie['SearchCampaign'] = $keyvalues[1];break; 
      case "utmcmd": 
       $cookie['SearchType']  = $keyvalues[1];break; 
      case "utmcct": 
       $cookie['AdText']   = $keyvalues[1];break; 
      case "utmctr": 
       $cookie['Keyword']   = $keyvalues[1];break; 
      case "mgclid": 
       $cookie['isPPC']   = $keyvalues[1];break; 
     } 
    } 

나는 더 많은 코드이 후 실행이있다. 쿠키를 강제로 처음으로로드하는 방법에 대한 아이디어가 있습니까?

+0

링크 된 태그에서 전달 된'_utmz' 값 아닌가요 (사용자는 페이지를 왼쪽 않았을 것이다)? 첫 번째로드시 태그가 지정된 링크의 값만 가져올 수 있습니까? –

+0

무슨 소리 야? 연결된 태그? 이 방문자는 유기적이며 ppc가 아니라 ppc입니다. –

+0

'tracking_cookie()'에서 쿠키를 파싱 한 후 쿠키로 무엇을합니까? 세션 변수로 설정합니까? 이 데이터를 언제 어떻게 Salesforce에 보냅니 까? 귀하의 질문에 더 많은 정보가 필요합니다. – Eduardo

답변

0

두 번째 페이지가로드 될 때까지 쿠키를 읽을 수 없습니다. 요청에서 쿠키가 전송되기 때문입니다.

초기 페이지로드시 (PHP에서는 _utmz 쿠키 없음) 다른 JS 파일을 추가하거나 페이지가로드 된 후 서버에 ajax 명령을 다시 실행하는 일부 JS을 호출하십시오.

이 두 번째 페이지로드 역할을하고 새로운 쿠키에 액세스 할 수 있어야한다

+0

이것은 훌륭한 대답처럼 보입니다. 애드워즈에서 자동 태그 추가 기능을 설정하여 문제를 해결 했으므로 애드워즈에서 오는 모든 클릭에 URL에 GCLID가 포함됩니다. GCLID가 PPC이면 __utmz가 PPC로 설정된 경우 해당 PPC 이외의 해당 Organic –

-1

Google Analytics를위한이 Force.com Toolkit을 살펴 보셨습니까? Google에서 정보를 얻는 것이 더 신뢰할 수 있습니다. 다른 정보를 추적하거나 Salesforce에 저장하는 방법을 알지 못하면 세부 정보를 제공하기가 어렵습니다. Google 그룹스에 대한 논의도있다

https://github.com/mavens/Force.com-Toolkit-for-Google-Analytics

-http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/analytics/discuss-tracking-and-implementation-issues/bVR84di07pQ

당신은, "많은 양식 제출은 아무도 없어"말 했는가

, 그래서 당신이 수시로 데이터를받을 수 있나요 의미 하는가 ? 브라우저까지 좁힐 수 있습니까?

+0

PHP에서이 정보에 액세스 한 다음 양식을 제출할 때 SF로 전달하는 숨겨진 필드에이 정보를 할당합니다. 양식을 이끌어내는 웹. 제 조사에서 __utmz 쿠키는 두 번째 사이트를 클릭 할 때까지 항상 설정되지는 않습니다. 홈페이지로 이동할 수는 있지만 다른 페이지를 클릭하거나 현재 페이지를 새로 고칠 때까지 설정되지 않습니다 ... –

관련 문제