Update time: Jan 17, 2025
If you’re seeing a 404 error when loading gtm.js in Google Tag Manager (GTM), don’t panic. This is a common issue that usually comes down to a configuration or deployment problem rather than a GTM outage.
This guide explains the most common reasons why gtm.js returns a 404 error and shows you how to fix each one.
Why Does gtm.js Return a 404 Error?
A 404 error means the browser cannot retrieve the GTM JavaScript file. In most cases, the problem is caused by one of the following:
- No published GTM container version
- Incorrect GTM Container ID
- Browser extensions blocking GTM
- Content Security Policy (CSP) restrictions
- Browser cache or DNS issues
- GTM container code installed incorrectly
Let’s go through each cause.
No Published GTM Container Version
This is one of the most common reasons, especially for newly created GTM containers.
When you create a new GTM container, Preview Mode works, but gtm.js won’t be publicly available until you publish your first container version.
As a result, requests to gtm.js return a 404 Not Found error.
Solution: Publish your first GTM container version, then refresh your website and verify that gtm.js loads successfully.
Browser Extensions Are Blocking GTM
Some browser extensions intentionally block tracking scripts, including GTM.
Common examples include:
- Ad blockers
- Privacy protection extensions
- Anti-tracking tools
- Security plugins
These extensions may prevent gtm.js from loading, making it appear as though GTM is broken.
Solution: Disable browser extensions (especially ad blockers), then reload your website. If gtm.js loads successfully, the extension was blocking Google Tag Manager.
Content Security Policy (CSP) Blocks GTM
If your website uses a Content Security Policy (CSP), it may prevent GTM from loading external JavaScript.
In the browser’s Developer Tools, you may see errors similar to:
Refused to load the script because it violates the Content Security Policy.
Solution: Update your Content Security Policy (CSP) to allow GTM and GA domains, then reload your website and verify that gtm.js loads successfully.
For example:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' www.googletagmanager.com www.google-analytics.com; connect-src 'self' www.google-analytics.com; img-src 'self' data: www.googletagmanager.com www.google-analytics.com; style-src 'self'; frame-src 'self' www.googletagmanager.com">
Incorrect GTM Container ID
If the installed Container ID doesn’t exist, Google Tag Manager cannot find the container and returns a 404 error.
For example:
- Correct Container ID:GTM-PHXQ69M
- Installed on the website:GTM-PHXQ69M1
Since the second ID doesn’t exist, gtm.js returns 404 Not Found.
Solution: Verify that your GTM Container ID is correct, then reload your website and confirm that gtm.js loads successfully.
Browser Cache or DNS Issues
Sometimes the browser or operating system continues using outdated cached files or DNS records.
Although the GTM container is available, the browser may still request an old or invalid resource.
Solution: Clear cache and perform a hard refresh, then reload your website and verify that gtm.js loads successfully.
GTM Container Code Is Installed Incorrectly
Incorrect placement of the GTM container snippet can prevent GTM from loading correctly.
Common mistakes include:
- Placing the code inside another script tag
- Modifying the GTM snippet
- Installing only one part of the GTM code
- Loading the snippet after other JavaScript that interrupts execution
Solution: Install the GTM container code correctly without modifications, placing the script in the <head> and the <noscript> snippet in the <body>, then reload your website and verify that gtm.js loads successfully.
How to Troubleshoot gtm.js 404 Errors
If you’re unsure what’s causing the issue, follow this checklist:
- Confirm the GTM container has been published.
- Verify the Container ID is correct.
- Check the browser’s Network tab for the failed request.
- Review the browser Console for CSP errors.
- Disable browser extensions and test again.
- Clear browser cache or flush DNS.
- Verify the GTM installation code is placed correctly.
Working through these steps usually identifies the problem within a few minutes.
Frequently Asked Questions
Why is gtm.js returning 404 after creating a new GTM container?
Because no container version has been published yet. Publish your first version, then reload the page.
Can an ad blocker cause gtm.js to fail?
Yes. Many privacy-focused browser extensions intentionally block Google Tag Manager and Google Analytics requests.
Can a wrong GTM Container ID cause a 404 error?
Yes. If the Container ID doesn’t exist or contains a typo, Google Tag Manager returns 404 Not Found.
Can CSP block Google Tag Manager?
Absolutely. If your Content Security Policy doesn’t allow http://www.googletagmanager.com, the browser will refuse to load gtm.js.
