使用gtag.js出现Uncaught SyntaxError: Unexpected token '<'错误求助
解决GTM切换中gtag.js的Unexpected token '<'错误
核心原因分析
这个错误本质是浏览器尝试解析gtag.js资源时,拿到的不是合法的JavaScript代码,而是HTML内容(比如404错误页面、权限拦截页面),所以遇到<符号时触发语法错误。常见诱因有两个:
- 错误地将gtag.js代码直接粘贴到Google Tag Manager的自定义HTML标签中——GTM本身不需要嵌入原生gtag代码,两者是不同的部署方式;
TAG_ID未替换成真实的GA4测量ID(格式为G-XXXXXXX),导致请求的资源路径无效,返回HTML错误页。
具体修复步骤
1. 采用GTM的标准部署流程(推荐)
如果你已经切换到Google Tag Manager,无需在网站中直接嵌入上述gtag代码,正确操作如下:
- 登录GTM后台,创建「Google Analytics: GA4 Configuration」类型的标签;
- 填入你的GA4测量ID;
- 设置触发条件为「All Pages」;
- 发布GTM容器;
- 仅在网站
<head>中保留GTM的基础嵌入代码(而非gtag代码)。
2. 若需保留gtag代码(特殊场景)
如果因需求必须同时使用gtag和GTM,需排查以下问题:
- 确保
TAG_ID替换为真实的GA4测量ID,例如G-ABC1234567; - 检查服务器或CDN是否拦截了
https://www.googletagmanager.com/gtag/js的请求,导致返回HTML内容; - 确认代码没有被嵌套在其他
<script>标签内,避免双重包裹导致解析错误。
3. 验证修复效果
- 打开浏览器开发者工具(F12),切换到「Network」标签;
- 刷新页面,搜索
gtag/js,确认请求的HTTP状态码为200,响应内容是合法的JS代码; - 切换到「Console」标签,确认不再出现
Unexpected token '<'错误。
内容的提问来源于stack exchange,提问作者Petey88
相关产品推荐
相关产品推荐

