javascript - 来自第三方 iframe 的 GA 是否会影响主机站点 GA 数据?

标签 javascript google-analytics cross-domain google-analytics-api

我对谷歌分析的问题已经困扰我一段时间了,如下: 自从我在网站中添加了第三方 iframe 后,分析推荐就变得疯狂,首先他们添加了虚假访问,但通过添加过滤器解决了这个问题。但引荐仍然没有像以前那样注册哪个页面引用该网站...

谷歌分析代码它只是标准代码:

var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-xxxxxxxx-1']);
  _gaq.push(['_setDomainName', 'xxxxxxx.xxx']);
  _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);
  })(); 

还有另一个用于跟踪点击或函数调用的推送事件,iframe 内的分析就是这个:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxxx-3']);
_gaq.push(['_setDomainName', 'b.xxxxxxxxxx.com']);
_gaq.push(['_trackPageview']);
_gaq.push(['external._setAccount', 'UA-xxxxxxxx-1']); //this is my domain ga number
_gaq.push(['external._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 type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 979036530;
var google_conversion_language = "da";
var google_conversion_format = "2";
var google_conversion_color = "ffffff";
var google_conversion_label = "-BBnCIbQiwUQ8tLr0gM";
var google_conversion_value = 0;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>

知道什么可以在谷歌分析推荐上创建这种组合吗?非常感谢任何帮助,谢谢

更新: 在我忘记之前,我确实添加了这样的过滤器: enter image description here

最佳答案

不,如果一切设置正确,它应该可以正常工作。虽然,它有其特殊性。

问题

  • 哪些推荐会变得疯狂?托管网站还是第三方网站?
  • 预计如何跟踪推荐?推荐网址还是 UTM 数据?
  • 您是否以某种方式传递您的推荐数据?
  • 您是否在任何地方跨越 http 和 https?

想法/解决方案

您应该尽可能在您的网址中尝试使用 utm 变量。推荐网址不稳定,在新窗口或 http/https 更改之间不起作用。因此,默认情况下,窗口和 iframe 之间的链接绝对不会传递引用数据。

通常在域之间切换页面时,您需要使用 _link ,但对于 iframe,您需要使用 _getLinkerUrl 。 _setAllowLinker 唯一能让您做的就是使用 _link 方法,它没有其他真正可以帮助您的魔法。

在您的情况下,您需要首先将 iframe 设置为 about:blank 之类的内容,然后:

_gaq.push(function() {
  var pageTracker = _gat._getTrackerByName();
  var iframe = document.getElementById('third-party-iframe');
  iframe.src = pageTracker._getLinkerUrl('http://3rdparty-iframe');
});

一旦 google 分析加载,它将更改 iframe 的位置。这有点糟糕。如果 gaq 在加载 iframe 一段时间后无法加载,您可能需要进行某种检查。

关于javascript - 来自第三方 iframe 的 GA 是否会影响主机站点 GA 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17611932/

相关文章:

facebook - 套接字策略文件的端口843-用户的端口多久关闭一次?

javascript - 如何从 CLI 执行 es6 脚本

javascript - 从react-icons组件获取SVG

javascript - 标记或叠加移动动画在 openlayers 3 中平滑移动

android - 获取 Google 广告系列跟踪

google-analytics - 谷歌 reCAPTCHA V2 分析

ios5 - 为 iOS 实现 Google Analytics

jquery - 防止 IE 中出现 "SCRIPT5: Access is denied"错误

javascript - Angular:在每一行上拆分 json 数据

flash - 跨域上传的问题