2012-03-02 2 views
2

私は甘い小さな関数を使ってサイトへの訪問者を追跡し、その情報をSalesforceにダンプします。しかし、(私が理解しているように)2番目のページが読み込まれるまで、クッキーは設定されていないので、多くのフォーム提出では多くの値に対して(none)が設定されています。最初のページの読み込み時に__utmz Cookieを設定するにはどうすればよいですか

これをテストしたところ、正確であるように見えますが、問題は多くの人が最初のページにフォームを記入していて、これらの投稿を通じて情報が得られません。

私は次のように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だけではありません。 –

+0

あなたは 'tracking_cookie()'でそれらを解析した後、クッキーで何をしますか?それらをセッション変数として設定していますか?これらのデータをいつどのようにSalesforceに送信するのですか?あなたの質問にはより多くの情報が必要です – Eduardo

答えて

0

2番目のページが読み込まれるまで、クッキーは読み込みできません。リクエストで送信されるためです。

あなたができることは、最初のページの読み込みであり、PHPでは_utmzクッキーが見つかりません。別のJSファイルを追加するか、ページが読み込まれた後にサーバーにajaxコマンドを実行するJSを呼び出します。

この第2のページの負荷として機能し、新しいクッキーへのアクセス権を持っている必要があります(と、ユーザーがページを残していないだろう)

+0

これはすばらしい答えのようです。私はアドワーズ広告の自動タグ設定をオンにすることでこの問題を解決し、アドワーズ広告からのクリックにはURLにGCLIDが含まれるようにしました。 GCLIDがPPCの場合、__utmzがPPCに設定されている場合はPPC、それ以外の場合はOrganic –

-1

Google Analytics用にこのForce.com Toolkitを見ましたか? Googleから情報を得ることがより信頼できるかもしれません。他に追跡していることや、Salesforceに保存する方法を知らなくても、詳細を伝えるのは難しいです。

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

Googleグループにいくつかの議論もある - http://groups.google.com/a/googleproductforums.com/forum/#!category-topic/analytics/discuss-tracking-and-implementation-issues/bVR84di07pQ

あなたは、そうそれはあなたが随時データを取得行う意味は「多くのフォームの送信はどれも持っていない」、と言ったのですか?それをブラウザに絞り込むことはできますか?

+0

私はPHPでこの情報へのアクセスを処理しており、フォームを送信するときにSFにプロポジットする隠しフィールドにそれを割り当てています。フォームを導くウェブ。私の研究では、__utmzのCookieは、2番目のサイトのクリックまで設定されているとは限りません。あなたはホームページに行くことができますが、別のページをクリックするか現在のページを更新するまで設定されません... –