谷歌分析跟踪代码给出 CORS 错误
Posted
技术标签:
【中文标题】谷歌分析跟踪代码给出 CORS 错误【英文标题】:Google Analytics tracking code giving CORS error 【发布时间】:2018-04-01 02:03:19 【问题描述】:我正在使用昨天从我的帐户中获得的新的 Google Analytics(分析)跟踪代码(在我看来是这样的)。它利用了一些“全球站点标签”。按照 GA 的指示,我已将其放在 .
这是确切的消息:
CORS 策略已阻止从源“my website”访问“https://www.googletagmanager.com/gtag/js?id=my-id”处的脚本:“Access-Control-Allow-Origin”标头的值为“http://www.googletagmanager.com” ' 不等于提供的原点。
导致这个错误的脚本是这样包含的
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="//www.googletagmanager.com/gtag/js?id=my-id"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag()dataLayer.push(arguments);
gtag('js', new Date());
gtag('config', 'my-id');
</script>
上面的代码与来自 Google Analytics 的完全相同,所以我不确定它为什么不起作用..
有人可以帮忙吗?
【问题讨论】:
【参考方案1】:2020-04-24 更新Google 显然已修复此问题,因此问题中描述的错误不应再发生,根据 https://support.google.com/tagmanager/thread/15985818?&msgid=37309069 和 cmets 对此答案的说明,
2018-01-18 回答
就这个错误信息而言:
从 'googletagmanager.com/gtag/js?id=my-id' 访问脚本 来源“我的网站”已被 CORS 政策阻止
...您应该看到该错误消息的唯一情况是您的script
元素是否具有crossorigin
属性;例如,crossorigin="anonymous"
。
如果您没有在自己的任何代码中添加 crossorigin="anonymous"
属性,则您可能使用了某个注入它的 CDN 系统。
【讨论】:
这是正确的答案,但真正的问题是谷歌在他们的 cors 政策中使用“http”而不是“https”犯了一个错误。考虑到他们推动 https 的方式有点讽刺,一年多之后它仍然没有修复!他们应该在 CORS 中使用:googletagmanager.com 我想补充一下,来自 googletagmanager 的响应标头如下所示:Access-Control-Allow-Origin: googletagmanager.com thats http not https 人们可以在此处向 Google 提出问题 - support.google.com/tagmanager/thread/15985818 支持线程已在此处更新support.google.com/tagmanager/thread/15985818?hl=en【参考方案2】:我自己也遇到过类似的错误。 如果您是 Google 跟踪代码管理器的新手,可能是因为您还没有发布跟踪代码管理器。您可以通过以下方式检查您是否属于这种情况:
https://tagmanager.google.com
并检查绿色窗格是否显示“容器未发布”
如果这是您的情况,那么 GTM 将不会加载,因为它处于“草稿”模式并且尚未准备好使用。
一旦你发布了你的第一个版本,它就会开始正常工作。
如果您对 GTM 进行任何更改,请记住发布新版本以在您的网站上查看结果。
【讨论】:
【参考方案3】:到目前为止(2020 年 11 月 6 日),GTM 开发团队似乎还没有解决 AMP 脚本的问题... https://support.google.com/tagmanager/thread/15985818?hl=en&msgid=37309069
【讨论】:
以上是关于谷歌分析跟踪代码给出 CORS 错误的主要内容,如果未能解决你的问题,请参考以下文章
javascript 使用GTM的客户端Javascript错误跟踪(谷歌分析)
Yii2 和 reactjs CORS 过滤器给出错误:预检响应具有无效的 HTTP 状态代码 401
在 Firefox 上,CORS 请求给出错误“:”(冒号)