getLinkerUrl不跨域传递cookie - Google Analytics

时间:2011-11-23 15:37:45

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

我的客户正在使用链接到其他域上的预订引擎的表单。但是,他们并没有使用传统的编码形式:

<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">

....

 <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" ></a></div></td>

因为表单由JavaScript文档CBE管理,所以使用getLinkerURL代码进行了修改:

// JavaScript Document
function popup_no_status(loc)
{
var windowW=1000
var windowH=700
s = "width="+windowW+",height="+windowH+",status=yes, resizable=yes, scrollbars=yes";
mywin = window.open(pageTracker._getLinkerUrl(loc), "CBE", s);
mywin.focus();
}

我被告知这应该可行,但它似乎没有传递cookie。目标/域页面上有pageTracker._setAllowLinker(true);代码。但是,只有目标页面上有setAllowHash(false);代码。 Domain 1(我想传递cookie的域名)是否也需要setAllowHash(false);代码?我不确定我在这里缺少什么。 Cookie没有被传递,所以我从第一个域获得了推荐cookie。有任何想法吗?所有见解都非常感谢!

1 个答案:

答案 0 :(得分:0)

我是stackoverflow的新手,我对这个问题没有足够的声誉评论来澄清它,如果我违反任何礼仪规则就道歉,因为这更像是一种帮助而不是实际答案。

  1. 新弹出窗口的网址是否附加了额外的跟踪参数? Cookie是根据这些参数创建的,所以如果没有发生这就是你需要解决的问题。

  2. 如果它们存在,则可能是您在第二个域中设置GA的问题。

  3. 如果他们不在场,请添加:

    console.log('loc:'+ loc');

    后: mywin = window.open(pageTracker._getLinkerUrl(loc),“CBE”,s);

    记录的网址应附加跟踪参数。如果没有,那么您的问题在于第一个域。

    1. 如果参数在loc url中,那么您应该看到在该点之后发生了什么 - 也许您有重定向或剥离参数的东西。
    2. 顺便说一下,我已经使用已弃用的_setAllowHash进行了跨域跟踪,但它没有引起问题,所以我怀疑这是一个问题。