Skip to main content

What is gtm-msr.appspot.com and How to Prevent It from Triggering Tags in GTM

When working with Google Tag Manager (GTM), you may notice traffic coming from gtm-msr.appspot.com.
This domain is owned by Google and appears in very specific scenarios.


What is gtm-msr.appspot.com?

This domain appears when:

  • You (or your team) enter Preview Mode in Google Tag Manager
  • Google runs automated scans or internal container checks
  • A browser extension or tool triggers a render for debugging
  • GTM loads your container inside an Appspot sandbox environment

⚠️ Important:
This traffic is NOT from real users — but it can cause your tags to fire, which leads to:

  • Fake pageviews
  • Phantom conversions
  • Polluted campaign attribution
  • Incorrect ROAS calculations

Why This Domain Is a Problem

If tags fire when GTM loads from gtm-msr.appspot.com, you may experience:

  • ❌ Inflated events
  • ❌ Artificial conversions in Meta Ads / Google Ads / TikTok
  • ❌ Incorrect GTM trigger debugging
  • ❌ Polluted analytics reports

This is especially harmful for:

  • Conversion tracking
  • Ads optimization signals
  • GTM-based event measurement

How to Prevent Tags From Firing on gtm-msr.appspot.com

You can fully block this domain at the trigger level by using a simple variable.


Step 1 — Create a Blocking Variable in GTM

  1. Go to Variables
  2. Click New → Custom JavaScript Variable
  3. Name it: IsNotGTMAppspot
  4. Use this code:
function() {
return location.hostname !== "gtm-msr.appspot.com";
}

Save

This variable will return true only when the page is not GTM’s sandbox domain.

## Step 2 - Add the condition in all triggers

For every trigger that launches tags (pageviews, clicks, conversions, etc.):
1. Open the trigger
2. Add this condition:

IsNotGTMAppspot equals true

This ensures:

Tags fire everywhere except inside GTM’s Appspot preview environment.

## How to test it
1. Click Preview in Google Tag Manager
2. Confirm the debug URL becomes:

https://gtm-msr.appspot.com/...


3. Check the tag panel → No tags should fire

If everything looks correct:

✔ Publish your container
✔ Your tags are now protected from false firing