【问题标题】:Google Analytics event not working in iframeGoogle Analytics 事件在 iframe 中不起作用
【发布时间】:2013-01-24 18:35:31
【问题描述】:

我在客户网站上构建的页面可以是他们合作伙伴网站上的 iframe。
我在网站上包含了这个 GA 代码。

    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-1494300-1']);
    _gaq.push(['_setDomainName', 'mysite.com']);
    _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);
        _gaq.push(['_trackEvent', 'iframe', '/products/default.aspx', 'Petersburg- Zip Code:26847',, false]);

    })();

我已验证代码显示并在从 iframe 中拉入网站时被调用,但是,我们在 GA 中没有获得任何事件数据。我已经阅读了 iframe 和 GA 跟踪,大多数问题似乎是跨域限制的结果。但是,通过这个实现,我不需要来自父母的任何信息,而父母也不需要来自我的任何信息,我只需要事件数据。有什么想法吗?

【问题讨论】:

    标签: javascript google-analytics


    【解决方案1】:

    谷歌分析依赖于 cookie。不同域中 iframe 内的 Cookie 从技术上讲是第 3 方 Cookie。默认情况下,Safari 会阻止第三方 cookie。除了少数更改默认设置的用户外,您应该仍会看到 Chrome 和 Firefox 用户的大部分流量。

    对于 Internet Explorer 流量,您必须确保在 iframe 的响应中实施 P3P 紧凑策略。否则,第三方 cookie 也会被阻止。

    Read more about how to set P3P CP headers for Google Analytics.

    【讨论】:

    • 这开始自己工作,通常这些延迟最多 24 小时才能显示 GA 数据,但由于某种原因,它比我发布时要长,我还添加了 P3P 标头对于 IE。
    • 我一直在测试这个,我看到了 Safari 数据,但我没有看到来自 Internet Explorer 的数据。 IE(至少版本 8)似乎需要 P3P 标头或更多才能解决。
    【解决方案2】:
    1. 确保您没有任何过滤器过滤掉数据
    2. 确保_setDomainName 中列出的域与您的 iframe 域匹配
    3. 确保您指向正确的帐户#

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-25
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多