如何将谷歌分析cookie从iframe中包含的页面传递到不同域上的页面



这是我的问题:我们的页面包含在iframe中(iframe页面的url-www.iframepage.com)。该页面上有升级链接。当用户点击该链接时,他会被引导到位于不同域(www.billingsite.com/cc.html)的计费页面。该页面应该在顶部打开(而不是在iframe中)。

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

升级

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

我需要一个同时提供这两种功能的解决方案:目标页面应该在顶部打开(而不是在iframe中),GA_utm参数应该传递到目标url,这样跨域跟踪就可以工作了。

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

_gaq.push(['_link',url]);函数以您发送的"url"作为当前窗口的目标。它忽略目标。你需要做的是调用谷歌功能,然后更新父位置。

你在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>

我想我已经找到了解决方案。以下是应该放在正文中的代码:

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

相关内容

  • 没有找到相关文章

最新更新