谷歌分析 - Angular 5 的平均页面加载
Posted
技术标签:
【中文标题】谷歌分析 - Angular 5 的平均页面加载【英文标题】:Google analytics - Avg page load for Angular 5 【发布时间】:2019-01-06 09:55:53 【问题描述】:我已将现有的基于 MVC 的应用程序升级到 Angular 5 应用程序。当它是 MVC 时,平均页面加载时间比它早 3.5 秒,而在升级到 Angular 5 时仍然几乎保持相似。 使用 Angular 5 应用程序,我可以清楚地看到页面路由在瞬间发生,但在 GA 报告中没有看到。
我正在使用谷歌标签管理器,并且能够在每次页面加载时看到发送到 GA 的 pageView 事件。 我已按照以下步骤进行操作: https://developers.google.com/analytics/devguides/collection/analyticsjs/single-page-applications
和
Angular 4+ using Google Analytics
我的问题 1.平均页面加载时间是如何计算的?它是否只计算完整的页面加载 - 当我们刷新页面或仅第一次加载时? 2. 我应该改变任何实现吗?
【问题讨论】:
【参考方案1】: Performance API:如果您查看 GA 的源代码,您会发现它使用 Performance API 来测量速度抽样:By default,固定 1% 的用户抽样构成了从中派生页面计时指标的数据池,可以使用 siteSpeedSampleRate
进行自定义跟踪器的设置。在大型实现中,如果 siteSpeedSampleRate
意味着收集了太多数据,GA 将忽略它。实际上,在大型实现中,我看到的采样率约为 0.8%
(查看 # 个示例 / # 个页面浏览量)。
速度测量的问题:现代网络应用程序的问题是越来越多的内容是从前端动态加载的,因此很难以编程方式确定何时加载“准备好”,这会影响到所有RUM
(真实用户监控)解决方案,如 Google Analytics、Pingdom 等......你现在看到的越来越多的是复制页面加载的解决方案,并进行图像分析以确定当用户看到他们应该看到的内容时。 Here is an example。因此,性能 API 数据是一个很好的指标(例如,如果需要 5 秒来建立一个不好的连接),但就确定事情的速度而言,无论如何都是有根本缺陷的,因为这是一个人类概念(例如,谁在乎页脚是否有如果用户不感兴趣,还没有完成加载?)
RUM
解决方案是一个永无止境的头痛(您的堆栈会发生变化,因此会影响速度数据,您永远无法确定它是否真正反映了用户体验),我的建议是测量各种内容/用户界面的加载速度。 Google Analytics 中有一个名为User Timings 的功能可以做到这一点。然后,您可以使用分析来细分并查看哪些内容/UI 推动了良好的用户体验/转化,并衡量它们的表现。
【讨论】:
以上是关于谷歌分析 - Angular 5 的平均页面加载的主要内容,如果未能解决你的问题,请参考以下文章
在 Angular 4/5 和 TypeScript 中重新加载同一页面