2012-03-02 55 views
2

我使用的是可爱的小功能来跟踪访问我的网站和转储信息到Salesforce设置。然而,许多表单提交(没有)为许多值设置,因为(据我所知)的cookie没有设置,直到第二页加载。怎样才能迫使__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> 

,然后运行一个PHP函数,除了解析__utmz饼干:

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; 
     } 
    } 

我有更多的代码,在此之后运行。关于如何强制cookie第一次加载的任何想法?

+0

不是从一个链接标签传递的'_utmz'值?难道你只是在第一次加载时从标记链接获取值? – 2012-03-02 23:11:56

+0

你是什么意思?链接标签?这些游客是有机的,ppc不只是ppc。 – 2012-03-03 01:06:40

+0

在'tracking_cookie()'解析它们之后,你如何处理cookie?你是否将它们设置为会话变量?何时以及如何将这些数据发送给salesforce?你的问题需要更多的信息 – Eduardo 2012-03-10 13:07:41

回答

0

Cookie是无法读取,直到第二页面加载 - 因为他们可以在请求中发送。

你可以做的是在初始页面加载(并且在PHP中找不到_utmz cookie)附加另一个JS文件/调用一些JS,该页面在加载页面后将运行ajax命令返回到服务器。

这将作为第二个页面加载,应该有机会获得新的Cookie(和用户就不会离开该页面)

+0

这看起来像一个很好的答案。我通过在Adwords中启用自动标记来解决问题,以便从adwords中进行的任何点击在网址中都具有GCLID。如果GCLID则是PPC,如果__utmz设置为PPC,则其PPC否则其为有机 – 2012-03-14 15:54:36

-1

你已经采取了看看这个Force.com工具包谷歌Analytics(分析)?从Google获取信息可能更加可靠。不知道您正在跟踪的是什么,或者您如何将其存储在Salesforce中,因此很难提供更多详细信息。

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 cookie在第二个网站点击之前并不总是被设置。你可以去主页,但它不会设置,直到你点击另一个页面或刷新当前页面... – 2012-03-11 15:07:57