事件跟踪:如何防止重复加载 analytics.js
Posted
技术标签:
【中文标题】事件跟踪:如何防止重复加载 analytics.js【英文标题】:Event Tracking: How To prevent double loading analytics.js 【发布时间】:2018-06-06 05:43:55 【问题描述】:我的网页中有一个 iframe。此 iframe 包含一个包含许多选择的表单。要减少Loadtime,请在Document.Ready jQuery后加载此Iframe。现在我想跟踪表单中的按钮是否被点击。在网页中的Google Analytics跟踪事件,但如果要在IF帧中加载的文件中的表单中跟踪我必须包含Analytics.js的表单中的事件。
问题:iframe 事件跟踪有效,但 analytics.js 加载了两次,并且每个页面请求都将被计算两次。
为了解决这个问题,我检查是否已经加载了 analytics.js 以防止重复加载,但这必须通过一个小的超时来完成。超时取决于每个用户的可用频段,而不是针对每个用户修复。这同样适用于 document.ready。
跟踪代码不能包含在 html 文件中,因为 jquery 是在 document.ready 之后加载的
所以如何在没有双加载分析的情况下跟踪iframe事件。
【问题讨论】:
GA代码不会加载分析库两次(或至少是他们的调试器所说的内容 - 似乎是一个内置的功能来防止这个功能)。浏览器也擅长缓存相同的文件,所以我不确定影响会有多大。 【参考方案1】:我发现您的 analytics.js
文件存在问题,因为它加载了两次。为了回答你的问题,我想提出几点建议。
Google Analytics(分析)如何收集数据?
Google Analytics 用于在您的报告中提供所有信息的数据来自以下来源:
用户browser/system
的HTTP请求信息
First-party cookies
另外一点是,document.ready()
阻止脚本实际加载,直到整个文档加载完毕。因此,我建议您采取以下步骤。它应该可以完美运行。
<script src="analytics.js"></script>
</body>
删除 document.ready()
函数并将您的内部脚本也放在分析脚本标记之前。
这应该可以防止双重加载并有效地使脚本运行而无需重新加载。
PS。如果它不起作用,我想看看你的代码。但是,它应该可以完美运行。
【讨论】:
以上是关于事件跟踪:如何防止重复加载 analytics.js的主要内容,如果未能解决你的问题,请参考以下文章