活动页后台显示 3200 次浏览、0 次提交,服务端数据库里明明有 1400 条记录,转化率报表拉了三天都是零,投放那边以为页面没效果。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,表单提交后直接跳到感谢页,跳转发生在统计脚本发出事件之前,浏览器已经开始卸载当前页面。点击事件又绑在按钮上,回车提交不触发。
「表单转化埋点」这类改动最怕改一半,回滚脚本先准备好,再动生产。改完顺手把文档补一句,省得下次自己重新推一遍。
navigator.sendBeacon('/collect',
new Blob([JSON.stringify({event:'lead'})], {type:'application/json'}));
location.href = '/thanks';
监控和日志的时间要对上,时区不一致会多绕很大一圈。
具体做法是,提交事件改成在 fetch 成功回调里发,发完再跳转,给埋点留出 300 毫秒;同时在服务端记一条提交日志,前端丢了自己还能对账;感谢页加一次页面浏览事件,三条数据能互相印证。
最后用这个标准收尾,活动页后台的提交数和数据库记录数对得上,差距在两三条以内。
