getLinkerUrl未在跨域传递cookies - 谷歌分析

3

我有一个客户正在使用一个链接到不同域名上的预订引擎的表单。但是,他们并没有使用传统的编码方式来创建这个表单:

<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 Document 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。有任何想法吗?非常感谢您的帮助!

"_setAllowHash(false)"已经被弃用,您不应该再使用它。 - Eduardo
我无法直接访问包含已弃用的 _setAllowHas(false) 的网站。该代码是否会影响传递的 cookie 以实现跨域跟踪?还有其他建议可以使其正常工作吗? - Glenn B
你能验证一下 cookie 是否以更简单的配置(只需使用链接而不是表单)传递吗?这将允许验证目标站点的配置。接下来,你应该查看 _linkByPost:http://code.google.com/apis/analytics/docs/gaJS/gaJSApiDomainDirectory.html#_gat.GA_Tracker_._linkByPost - Open SEO
1个回答

0

我是stackoverflow的新手,由于没有足够的声望来评论问题以澄清问题,所以如果我违反了任何礼仪规则,请谅解,因为这更多是一种帮助而不是实际答案。

  1. 新弹出窗口的URL是否附加了其他跟踪参数?Cookie是基于这些参数创建的,因此如果没有发生这种情况,那么您需要修复它。

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

如果不存在,请添加:

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

在以下内容之后: mywin = window.open(pageTracker._getLinkerUrl(loc), "CBE", s);

记录的URL应该附加有跟踪参数。如果没有,则您的问题与第一个域有关。

  1. 如果参数在loc URL中,则应查看此点之后发生了什么-也许您有一个重定向或某些东西正在剥离参数。

顺便说一句,我使用已弃用的_setAllowHash进行了跨域跟踪,并且没有引起问题,因此我认为这不是问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接