如何将if Analytics包含的页面中的Google Analytics Cookie传递到不同域中的页面

时间:2012-07-20 21:01:10

标签: iframe google-analytics cross-domain target

这是我的问题: 我们有iframe中包含的页面(iframe页面的网址 - www.iframepage.com)。该页面上有链接UPGRADE。当用户点击该链接时,他会被定向到结算页面,该页面位于不同的域(www.billingsite.com/cc.html)。 该页面应该在顶部打开(而不是在iframe中)。

如果我使用_link,GA Cookie值将传递到目标网页,跨域跟踪将起作用,但目标页面将在iframe中打开。

UPGRADE

https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiDomainDirectory#_gat.GA_Tracker_._link

我需要一个能够提供两者的解决方案:目标页面应该打开(不在iframe中),GA _utm参数应该传递给目标网址,以便跨域跟踪可以工作。

任何帮助将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:0)

_gaq.push(['_ link',url]);函数使用您发送的'url'来定位当前窗口。它忽略了目标。您需要做的是调用Google函数,然后更新父位置。

iFrame中的页面应该看起来有点链接

<!DOCTYPE html>
<html>
<head>

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxx-xx']);
_gaq.push(['_setDomainName', 'example.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>

<a href="/link.html" onclick="your_GA_track_link(this.href);">Link</a>

<script>
function your_GA_track_link(url){
_gaq.push(['_link', url]);
self.parent.location.href = url;
return false;
}

</script>

</body>
</html>

答案 1 :(得分:0)

我想我找到了解决方案。这是应放在正文中的代码:

<script type="text/javascript">
    function openWindow(link) {
      _gaq.push(function() {
        var tracker = _gaq._getAsyncTracker();  //add name param if needed
        window.open(tracker._getLinkerUrl(link.href),"_parent");
      });
      return false;
    }
</script>
<a href="www.bilingsite.com/cc.html" onclick="return openWindow(this);" target="_parent">UPGRADE</a></br>