统计脚本放在 body 最后,落地页加载七百毫秒,一秒内返回的访客有近两成没被记上,跳出率看起来异常低。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,脚本在 body 末尾要等前面的 DOM 和同步资源解析完才执行,页面没加载完用户就关掉时,请求根本没发出去。统计代码越靠后,越容易漏掉最早的那批访问。

「统计脚本位置」这类改动最怕改一半,回滚脚本先准备好,再动生产。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

<script async src='https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX'></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date());gtag('config','G-XXXXXXX');</script>

权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。

具体做法是,把统计脚本放回 head,加 async,不阻塞渲染;首屏关键事件在脚本加载完成后补发一次,避免丢首屏;用真实弱网测一遍,对比一秒内跳出场景的 PV 数。

最后用这个标准收尾,弱网下一秒内跳出的访问也能在报表里看到 page_view,PV 与服务器日志的差距缩小。

作者 9823189