1

这是我的问题:我们在 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,以便跨域跟踪可以工作。

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

4

2 回答 2

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>

于 2012-07-23T19:05:02.667 回答
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>
于 2012-07-26T19:18:15.763 回答