# Google Tag Manager (gtm) 脚本被 CSP 阻止

**URL:** https://meta.discourse.org/t/google-tag-manager-gtm-script-blocked-by-csp/270210
**Category:** Data & reporting
**Tags:** analytics
**Created:** [2023年六月30日 23:26 UTC](https://meta.discourse.org/t/google-tag-manager-gtm-script-blocked-by-csp/270210 "2023-06-30T23:26:29Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![tyf](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tyf/32/288655_2.png) [@tyf](https://meta.discourse.org/u/tyf)
#### Post date: [2023年六月30日 23:26 UTC](https://meta.discourse.org/t/google-tag-manager-gtm-script-blocked-by-csp/270210/1 "2023-06-30T23:26:29Z")

</div>

您好！

我很难弄清楚为什么我们的 GTM 脚本被 CSP 阻止了：

 ![Screenshot 2023-06-30 at 4.16.51 PM](https://global.discourse-cdn.com/meta/original/4X/2/e/5/2e5c2a051275e7fccd062121c1801cbe84f194cb.jpeg)

这是脚本：

```html
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXX');</script>
<!-- End Google Tag Manager -->

```

我正在遵循[此处](https://meta.discourse.org/t/set-up-google-tag-manager-for-analytics-ga4/47335#discourse-7)的说明将 GTM 添加到 discourse。我已经按照文章中的说明删除了 GA ID，并将 `https://www.googletagmanager.com` 添加到了我们的允许列表中。

有什么想法吗？

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [2023年七月1日 13:35 UTC](https://meta.discourse.org/t/google-tag-manager-gtm-script-blocked-by-csp/270210/2 "2023-07-01T13:35:41Z")

</div>

你看到这个话题了吗？

> [@GTM Refused to load the script because it violates the Content Security Policy](https://meta.discourse.org/t/gtm-refused-to-load-the-script-because-it-violates-the-content-security-policy/194058/2?u=lillinator):
>
> You need to add new scripts to your content security policy.

---

<div class="post-metadata">

### Author: ![tyf](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tyf/32/288655_2.png) [@tyf](https://meta.discourse.org/u/tyf)
#### Post date: [2023年七月3日 18:39 UTC](https://meta.discourse.org/t/google-tag-manager-gtm-script-blocked-by-csp/270210/3 "2023-07-03T18:39:36Z")

</div>

嘿 @Lilly！我没看到那个特定的话题，但我确实遵循了它链接到的文档。我已经将 `https://www.googletagmanager.com` 添加到白名单了 🤔

---

<div class="post-metadata">

### Author: ![MarkDoerr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/markdoerr/32/549630_2.png) [@MarkDoerr](https://meta.discourse.org/u/MarkDoerr)
#### Post date: [2023年七月3日 19:30 UTC](https://meta.discourse.org/t/google-tag-manager-gtm-script-blocked-by-csp/270210/5 "2023-07-03T19:30:19Z")

</div>

你好 Ty，

看起来你目前有几个脚本被阻止了，你可能需要将它们添加到你的 CSP 中：

 ![Screenshot 2023-07-03 at 12.26.00 PM](https://global.discourse-cdn.com/meta/original/4X/e/1/4/e14eb81906d2b80b52ec3ced661999f08ed5c223.jpeg)

我还看到你在控制台中遇到了一个 nonce 错误。你尝试过 [配置 GTM 来处理这些错误](https://meta.discourse.org/t/use-nonces-in-google-tag-manager-scripts/188296) 吗？

最后，我会尝试将 `https://*.googletagmanager.com` 添加到你的允许列表中。

---

<div class="post-metadata">

### Author: ![tyf](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tyf/32/288655_2.png) [@tyf](https://meta.discourse.org/u/tyf)
#### Post date: [2023年七月3日 20:49 UTC](https://meta.discourse.org/t/google-tag-manager-gtm-script-blocked-by-csp/270210/7 "2023-07-03T20:49:34Z")

</div>

非常感谢您在此提供帮助，@MarkDoerr！

> [@MarkDoerr](#):
>
> 看起来您目前有几个脚本被阻止，您需要将它们添加到 CSP 中：
> 
> ![Screenshot 2023-07-03 at 12.26.00 PM](https://global.discourse-cdn.com/meta/original/4X/e/1/4/e14eb81906d2b80b52ec3ced661999f08ed5c223.jpeg)

我需要联系负责这些脚本的团队，并提及 `nonce` 处理，感谢您指出这些问题！

奇怪的是，在 Brave 和 Safari 中，无论是否允许 `https://www.googletagmanager.com` 或 `https://*.googletagmanager.com`，GTM 脚本本身都没有 CSP 相关错误，只有 Chrome 和 Firefox 有。
