如何在Google Analytics中测量AMP页面的加载速度?
解决AMP页面Google Analytics加载时间追踪为空的问题
我之前也碰到过类似的AMP页面GA速度数据不显示的问题,结合你的配置情况,咱们从这几个方向排查和解决:
1. 检查触发时机是否合适
你当前设置的触发时机是'on' => 'visible',这个事件是当页面进入用户视口时触发的,但此时页面可能还没完成全部资源加载,GA无法捕获到完整的加载计时数据。
建议把触发时机改成'on' => 'load',这个事件会在AMP页面所有资源加载完成后触发,刚好匹配GA收集站点速度数据的时机:
self::$triggers['trackPageview'] = [ 'on' => 'load', 'request' => 'pageview', 'vars' => [ 'account' => $this->environment->getCodigoAnalitics(), 'site_speed_sample_rate' => 100 ] ];
2. 验证参数是否正确传递到GA
修改配置后,用浏览器开发者工具确认GA的上报请求是否携带了正确的采样率参数:
- 打开Chrome的「开发者工具」→「Network」面板
- 筛选包含
collect的请求(GA的上报接口) - 查看请求URL,确认是否存在
&siteSpeedSampleRate=100的参数
如果没有这个参数,说明你的AMP Analytics模板可能不支持直接在vars里设置该参数,这时候可以尝试在请求URL里手动拼接参数,或者更新到最新的AMP Analytics脚本(https://www.googletagmanager.com/amp-analytics-0.1.js)。
3. 自定义追踪AMP加载时间(兜底方案)
如果上述方法都无效,可以利用AMP的性能API手动收集加载时间,通过自定义维度上报到GA:
- 在GA后台创建一个自定义维度(比如命名为「AMP页面加载时间」,范围选「页面」)
- 修改你的AMP Analytics配置,添加自定义变量传递加载时间:
self::$triggers['trackPageview'] = [ 'on' => 'load', 'request' => 'pageview', 'vars' => [ 'account' => $this->environment->getCodigoAnalitics(), 'site_speed_sample_rate' => 100, 'dimension1' => '${performance.timing.loadEventEnd - performance.timing.navigationStart}' ] ];
这里的dimension1对应你在GA后台创建的自定义维度索引,之后就能在GA的自定义报表里查看这个加载时间数据了。
内容的提问来源于stack exchange,提问作者MrCester
相关产品推荐
相关产品推荐

