Why GTM Is a Security Attack Surface
Google Tag Manager is powerful precisely because it can execute arbitrary JavaScript on any page of your website. This power makes it a target. If an attacker gains access to your GTM container and publishes a malicious tag, they can:
- Steal form data (passwords, credit card numbers if entered on your site)
- Redirect users to malicious sites
- Inject cryptocurrency mining scripts
- Exfiltrate session cookies or authentication tokens
- Load additional malicious scripts from external domains
GTM account breaches are not theoretical — they have happened to major retailers and publishers. Defending your container is a genuine security responsibility.
Access Control: The First Line of Defence
- Audit user access quarterly: in GTM, check Container Users. Remove anyone who no longer works with your organisation. Ex-employees and ex-agency contacts who retain Publish access are a significant risk.
- Minimum necessary permissions: use the least permissive access level. Most users need Edit access, not Publish. Only senior team members and your primary agency contact should have Publish.
- Never share GTM login credentials: each user should have their own Google account with individually assigned access. Shared credentials cannot be revoked without changing the password for everyone.
- Require 2FA on all Google accounts with GTM access: enable Google account 2FA for all team members who can access your GTM container.
Custom HTML Tags: The Highest Risk Area
Community templates use GTM's sandboxed API with permission restrictions. Custom HTML tags execute arbitrary JavaScript without restrictions. This is the most important category to manage carefully:
- Every Custom HTML tag should be documented with: who added it, what it does, and what external URLs it loads
- Require a review process before Custom HTML tags are published — a second person should read the code
- Periodically audit all Custom HTML tags in the container for changes from expected behaviour
- Prefer community templates over Custom HTML wherever a template exists for the tool you need
- Never use Custom HTML to load scripts from external domains without knowing and trusting the domain
Using a Content Security Policy (CSP)
A Content Security Policy is a browser header that specifies which domains are allowed to load scripts, styles, and other resources on your site. A strict CSP can prevent malicious GTM tags from loading external scripts from unapproved domains — even if a malicious tag is published.
GTM-specific CSP consideration: GTM's own domains must be whitelisted (www.googletagmanager.com). If you use Custom HTML to load third-party scripts, those domains must also be whitelisted — which partly defeats the CSP benefit for GTM-loaded scripts. A CSP is still valuable for blocking the most dangerous exfiltration attempts (data sent to unknown domains).
GTM Container Export and Version Monitoring
Create a routine to export your GTM container JSON monthly and compare versions. Changes you did not make — especially new Custom HTML tags or new triggers — are a red flag requiring immediate investigation. GTM's version history shows which Google account published each version, which helps trace unauthorised changes.
What to Do If You Suspect a Compromise
- Immediately audit all active tags and recent version history
- Revoke GTM access for all users except your most trusted account
- Check your Google account access logs for unexpected sign-ins
- Revert to the last known clean version
- Scan your live site for injected scripts using a tool like URL Void, Sucuri SiteCheck, or your CSP violation reports
- Change the Google account passwords of all users who had access
Summary
GTM security is container governance: strict access control, mandatory review of Custom HTML tags, regular audits, and a CSP where feasible. The most common breach vector is compromised Google account credentials — prioritise 2FA across all team accounts.
For a security-focused GTM audit, see our Google Tag Manager Setup and Audit service.
Need a GTM security audit? Contact Adslytics.
Need expert tracking setup?
Our Google Tag Manager experts have delivered 500+ tracking setups with a 98% success rate.
Get a Free Consultation →