在不与._linkbyPost一起使用的表单上进行跨域跟踪

时间:2011-11-21 17:17:27

标签: javascript google-analytics cross-domain web-analytics

我在表单上的跨域跟踪存在问题。我有一个酒店客户,其表格根据所选的选项提交给两个预订引擎中的一个。但是,据我所知,表单看起来并不像传统方式那样,因为它不包含“动作”,而是“href”。代码如下。

<!--start quicksearch -->
<div id="qs" align="center">
      <div align="center"><img src="images/qs_title.gif" alt="Quick Search">
          <table width="200" border="0" cellpadding="0" cellspacing="0">
            <!--<form  method="post">--><form  method="post" onsubmit="pageTracker._linkByPost(this);">

....

<td width="35%" valign="bottom"><div align="left"><a href="javascript:sendToCBE();"><img src="quicksearch/continue-buttom_dreams.gif" alt="Continue" width="83" height="24" border="0" onclick="mojo_roi('continue'); pageTracker._trackEvent('Button', 'Click', 'QuickSearchWidget');"></a></div></td>
                </tr>

            </table></td>
          </tr>
        </form>
      </table>
  </div>
</div>
<!--end quick search-->

我的感觉是,因为没有“动作”可以调用,所以它不会传递任何cookie信息。我用作参考的其他网站上的每个其他表单都使用“操作”。有什么想法吗? ._linkbyPost是否处于正确位置还是需要移动?

任何和所有见解都会非常有用。

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,这不起作用。 Google Analytics依赖于本机使用POST功能。

缺少“操作”表明该表单由JavaScript使用非本机表单功能进行管理。因此,您需要调整管理表单的JavaScript逻辑(可能是名为sendToCBE的函数。

_linkByPost是一个试图为99%的用例做所有事情的函数,但是,在这种情况下,它没有帮助。

您需要使用_getLinkerUrl

进行一些自定义查询字符串调整

这看起来像(伪代码):

function submit_redirect_function(){
     var url = .... // the logic that creates the URL you're redirecting to onsubmit
     url = pageTracker._getLinkerUrl(url); //appends the linker query string to the URL. 
     window.location = url;
}

如果您分享了有关如何实施此表单的更多详细信息(例如,sendToCBEmojo_roi完全执行的操作,我可以提供更具体的指导。