谷歌分析 - 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 中重新加载同一页面

angular--连接服务获取数据并展示到页面加载结束禁用按钮-分页加载-管道使用

谷歌地图第一次没有加载

angular 5 - 登录后重定向上一页

Angular:谷歌地图第一次工作,然后只在移动屏幕上空白

Heroku 上的空白页 - mean.js Angular 应用程序