Javascript 谷歌iframe内部分析

Javascript 谷歌iframe内部分析,javascript,iframe,google-analytics,Javascript,Iframe,Google Analytics,我有一个iframe,它承载一个第三方页面(我构建的)。在那个页面,我有一个谷歌分析如下。然而,谷歌分析并没有跟踪所有的条目 第三个页面根据一天中的不同时间将用户重定向到不同的页面。要在iframe中实现Google分析,我们还需要做些什么 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new

我有一个iframe,它承载一个第三方页面(我构建的)。在那个页面,我有一个谷歌分析如下。然而,谷歌分析并没有跟踪所有的条目

第三个页面根据一天中的不同时间将用户重定向到不同的页面。要在iframe中实现Google分析,我们还需要做些什么

 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-47306399-1', 'serviceportal.com.au');
  ga('send', 'pageview');

如果
元素中的页面与父页面位于不同的域中,则您将遇到问题(尤其是旧版本的Internet Explorer)。问题在于,当
页面中加载的每个外部资产(包括HTML文档本身)没有正确的P3P头时,第三方cookie被阻止。这将有效地破坏您的跟踪代码,因为它依赖于第三方cookie(即为谷歌或您使用的任何其他跟踪提供商控制的域创建的cookie)

如果这是您的问题,我发现了两个修复方法

  • 为IFRAME中加载的所有资源输出正确的P3P头,以便浏览器不会阻止第三方cookie
  • 使用JS从内部页面通信到父页面,然后使用该通信从父页面触发跟踪像素
  • 我的猜测是,还有其他方法可以做到这一点,这就是我的工作

    另外,请注意,您只需更改协议即可,浏览器会将页面视为位于不同域上,因此,通常最好使用从
    /
    开始的URL加载IFRAME,而不是
    http://
    https://
    ,以便父页面和内部页面的协议匹配。这仅仅是如果他们在同一个域开始


    另一个注释。。。请不要只是将任何旧的P3P标题值复制/粘贴到生产环境中,因为这会使IE中的“邪恶之眼”消失。特定的P3P标题“代码”等同于真正的隐私政策声明。

    我工作场所的一位SEO专家能够为我提供解决方案提示

    这是服务器安装错误的事实

    正确的代码最终被删除了

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-47544250-1']);
      _gaq.push(['_setDomainName', 'vserver.com.au']);
      _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);
      })();
    

    我本来打算发同样的东西。然而,它不仅仅是IE的旧版本,还有Safari和Firefox的新版本。所以大部分的网页…谢谢。。。加载表单页面的iframe的P3P头可能是什么?@user3218006这是一个发现频道页面,我假设您没有编辑其源的权限。因此,您不能更改页面输出的标题(但也不能将跟踪代码放在标题上)。通常,您可以在开发人员工具(在网络下)选项卡中找到服务器输出的标题。你应该解释清楚你想要完成什么,因为我想我不明白。我正在构建这个表单竞争页面,你可以在链接的I框架中看到。。。iframe由我工作的公司托管。discovery只是在他们的页面中添加iframe。现在在谷歌分析中,我发现并不是所有的访问者都被跟踪。是的,你是对的。我们没有能力在Discovery中添加代码,但我可以访问iframe。嗯,清楚吗?@user3218006您可以尝试P3P标头方法,因为您可以控制服务器输出的内部页面的标头。我曾经让它修复跟踪cookie的问题。我会在IE中验证cookie是否正确设置。当我查看网络瀑布时,来自您服务器的页面似乎没有设置GA cookies(当我进入时)。只有一个
    referer
    cookie。这在IE 9中使用IE 8浏览器/文档模式进行测试。当我在Chrome中查看同一个资源时,我看到所有GA cookies都按预期设置。。。这是我的答案试图解决的问题,这将扰乱你的报告,因为IE是如此普遍。此外,如果我自己打开您的页面,相同的IE浏览器配置会正确设置GA cookies。