事件跟踪:如何防止双重加载analytics.js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了事件跟踪:如何防止双重加载analytics.js相关的知识,希望对你有一定的参考价值。

我的网页上有一个iframe。此iframe包含具有许多选择的表单。为了减少加载时间,在使用jquery的document.ready之后加载这个iframe。现在我想跟踪是否单击了表单中的按钮。在网页中使用Google Analytics跟踪事件有效,但如果要跟踪表单中的事件,我必须在iframe中加载的文件中包含analytics.js。

问题:iframe事件跟踪有效,但analytics.js加载两次,每个页面请求将被计算两次。

为了解决这个问题,我检查是否已经加载了analytics.js以防止双重加载,但这必须通过一个小的超时来完成。超时取决于每个用户的可用带宽,并不是每个用户都固定的。这同样适用于document.ready。

跟踪代码不能包含在html文件中,因为在document.ready之后加载了jquery

那么如何在没有双重加载analytics.js的情况下跟踪iframe事件?

答案

我发现你的analytics.js文件存在问题,因为它加载了两次。要回答你的问题,我想提出一些建议。

Google Analytics如何收集数据?

Google Analytics用于提供报告中所有信息的数据来自以下来源:

用户browser/system信息First-party cookies的HTTP请求

另一点是,document.ready()阻止脚本实际加载,直到整个文档加载。因此,我建议您采取以下步骤。它应该完美。

  • 将analytics.js文件放在html的正文结束标记之前。 <script src="analytics.js"></script> </body>
  • 删除document.ready()函数并将内部脚本放在分析脚本标记之前。

这应该可以防止双重加载并有效地使脚本运行而无需重新加载。

PS。如果它不起作用,我想看看你的代码。但是,它应该完美地工作。

以上是关于事件跟踪:如何防止双重加载analytics.js的主要内容,如果未能解决你的问题,请参考以下文章

报告Google Analytics analytics.js异常跟踪的例外情况

在 Google Analytics 中使用 Hashtag # 新的 analytics.js 跟踪代码

使用新的 analytics.js 语法进行跨域跟踪?

javascript 表单域跟踪换万向的analytics.js

socket.io 1.2.1 如何在重新连接后修复双重事件

javascript 将自定义事件推送到Google Universal Analytics(analytics.js)。