getLinkerUrl 未跨域传递 cookie - Google Analytics

Posted

技术标签:

【中文标题】getLinkerUrl 未跨域传递 cookie - Google Analytics【英文标题】:getLinkerUrl not passing cookies across domains - Google Analytics 【发布时间】:2012-01-04 21:45:20 【问题描述】:

我有一个客户正在使用一个链接到不同域上的预订引擎的表单。然而,他们并没有使用传统的编码形式:

<div id="qs" align="center">
  <div align="center"><img src="images/qs_title.gif" >
      <table  border="0" cellpadding="0" cellspacing="0">
        <!--<form  method="post">--><form  method="post">

....

 <td  valign="bottom"><div align="left"><a href="javascript:sendToCBE();"><img src="quicksearch/continue-buttom_dreams.gif"    border="0" ></a></div></td>

因为表单是由 JavaScript 文档 CBE 管理的,它是用 getLinkerURL 代码修改的:

// JavaScript Document
function popup_no_status(loc)

var windowW=1000
var windowH=700
s = ",,status=yes, resizable=yes, scrollbars=yes";
mywin = window.open(pageTracker._getLinkerUrl(loc), "CBE", s);
mywin.focus();

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

【问题讨论】:

_setAllowHash(false) 现在已被弃用,您根本不应该使用它。 @eduardocereto 我无法直接访问已弃用的_setAllowHas(false) 所在的网站。目标页面上的代码是否会影响传递的 cookie 以实现跨域跟踪?还有其他建议可以使这项工作吗? 您能否验证 cookie 在更简单的配置中传递(只是链接而不是表单)?它将允许验证目标站点的配置。接下来,您应该查看 linkByPost :code.google.com/apis/analytics/docs/gaJS/…._linkByPost 【参考方案1】:

我是 *** 的新手,我没有足够的声誉评论来澄清这个问题,如果我违反了任何礼仪规则,我深表歉意,因为这更多的是试图提供帮助而不是实际答案。

    新弹出窗口的 url 是否附加了额外的跟踪参数? Cookie 是根据这些参数创建的,因此如果没有发生这种情况,则需要修复。

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

如果它们不存在,请添加:

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

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

记录的 url 应附加跟踪参数。如果不是,那么您的问题与第一个域有关。

    如果参数在 loc url 中,那么您应该看到在那之后发生了什么 - 也许您有重定向或剥离参数的东西。

顺便说一句,我已经在已弃用的 _setAllowHash 存在的情况下进行了跨域跟踪,但它没有造成问题,所以我怀疑这是一个问题。

【讨论】:

以上是关于getLinkerUrl 未跨域传递 cookie - Google Analytics的主要内容,如果未能解决你的问题,请参考以下文章

跨域后cookie怎么不能传递到客户端的浏览器

跨域请求传递Cookie问题

Ajax跨域请求,无法传递及接收cookie信息

ASP.Net中关于WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

谷歌分析跨域跟踪而不将 Cookie 附加到 URL?