我有一个托管第三方网页的iframe(我构建的)。在该页面中,我有一个Google分析,如下所示。但是,Google分析不会跟踪所有条目......
第三个paty页面根据一天中的不同时间将用户重定向到不同的页面。我们还需要做些什么来在iframe中实现Google Analytic吗?
(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');
答案 0 :(得分:1)
如果<iframe />
元素中的页面与父页面不在同一个域上,那么您将遇到问题(尤其是旧版本的Internet Explorer)。问题是,当<iframe />
(包括HTML文档本身)内的页面上加载的每个外部资产都没有正确的P3P标头时,第三方cookie被阻止。这将有效地破坏您的跟踪代码,因为它依赖于第三方Cookie(即为Google控制的域或您使用的任何其他跟踪提供商创建的Cookie)。
如果这是你的问题,我发现了两个问题。
我的猜测是,还有其他方法可以做到这一点,这对我有用。
另外,请注意,您可以尽可能少地更改协议,浏览器会将页面视为不同的域,因此通常最好使用以{{1}开头的URL加载IFRAME }而不是//
或http://
,以便父页面和内页的协议匹配。这就是他们开始时在同一个域上。
另一个注意事项......请不要只是将任何旧的P3P标题值复制/粘贴到生产环境中,因为它会让IE中的“邪恶之眼”消失。特定的P3P标题“代码”等同于真正的隐私政策声明。
答案 1 :(得分:1)
我工作场所的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);
})();