Google Analytics事件无法在iframe中使用

时间:2013-02-08 21:58:26

标签: javascript google-analytics

我在我的客户网站上构建了可以在其合作伙伴网站上使用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跟踪,大多数问题似乎都是跨域限制的结果。但是,通过这个实现,我不需要父母的任何信息,父母不需要我的任何信息我只需要事件数据。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Google Analytics取决于Cookie。在不同域中的iframe内的Cookie在技术上讲是第三方Cookie。默认情况下,Safari会阻止第三方Cookie。您仍应看到Chrome和Firefox用户的大部分流量,但少数用户更改了默认设置。

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

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

答案 1 :(得分:1)

  1. 确保您没有过滤数据的过滤器
  2. 确保_setDomainName中列出的域与您的iframe域
  3. 相匹配
  4. 确保您指向正确的帐户#