Google 分析显示 "Avg. Page Load Time" 始终为零

Google Analytics is showing "Avg. Page Load Time" always as Zero

我的google分析脚本是这样的

    < !--Global site tag(gtag.js) - Google Analytics-- >
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-xxxxxxx-x"></ script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
     gtag('config', 'UA-xxxxxxx-x', { 'page_path': curpath });
    </script>

Thiw 工作正常,除了 Avg. Page Load Time 未登录分析(始终显示为零)。我在这里错过了什么? 注意:我的网站使用单个 URL

进行 ajax 调用

您缺少来自浏览器的必要信息,因为您使用了 AJAX 个调用。

Google Analytics 使用 Navigation Timing API,这是相当可靠的,因为实际测量是由浏览器完成的,值可以作为 window.performance.timing 的属性读取对象。

Example from here:

Calculate the total page load time

    const perfData = window.performance.timing; 
    const pageLoadTime = perfData.loadEventEnd - perfData.navigationStart;

您的 Ajax 调用不会填充这些值(这在某种程度上是有道理的,因为相应的 DOM 事件未填充在 AJAX 调用中),因此 GA 无法记录页面加载时间。

您可以自定义 user timings in GA. They will be limited to a sample of 1% of your calls max,您的平均值将从那里推断出来。您将传递 Ajax 调用开始与响应呈现点之间的增量。