August 13, 2021
Still Running tags in Google Tag Manager: Here’s how to fix it
Updated: August 13th, 2021
Here’s a problem: you enable Google Tag Manager Preview and Debug mode and see that a certain (or maybe multiple) tags are displayed as “still running”. You refresh the page but the problem still persists.
Why are your tags in Google Tag Manager “Still running”? There are several reasons:
- You have entered Google Analytics settings variable incorrectly
- Google Consent Mode is preventing certain tags from succeeding
- You have entered an incorrect Google Optimize container ID
- The tag does not have enough time to be properly processed before page redirect/reload
Let’s take a closer look at each one of them (and what can you do about it).
Reason #1: GA Settings Variable is inserted in the wrong field
When you create a Universal Analytics Tag, you need to set the destination GA property which will receive those events/pageviews/hits. There are two options how to do that in GTM:
- You can enter the tracking ID (UA-XXXXXX-XX) in the Tracking ID field
- Or you can set that ID in the Google Analytics Settings Variable and then pick that variable in the designated field within Universal Analytics Tag.
Both options are correct and will work fine. However, some people tend to mix them and, therefore, break the tracking implementation. Usually, they insert a Google Analytics Settings Variable in the Tracking ID field and that will never work.
Tracking ID field supports only values of the following structure: UA-XXXXXXX-XX. However, GA Settings Variable is an object that contains multiple data points and settings (custom dimensions, GA tracking ID, cookie settings, cross-domain tracking configuration, etc.).
Google Analytics Settings Variable must be inserted ONLY in the GA Settings drop-down. No other field in the Universal Analytics tag template will support it, especially Tracking ID.
So go back to the Google Tag Manager interface, open the tag that is always “still running” and check where have you inserted the GA settings variable.
Reason #2: Google consent mode is preventing some tags from succeeding
If you have implemented Google Consent Mode (GCM) on your website, it affects how your tags behave and send data to Google (by the way, if you want to learn how to properly implement GCM, I have ~45 minutes of video instructions in my GTM course for beginners.
In a nutshell, GCM is a global setting that you can configure on a website. If a visitor does not give consent for analytics_storage, then Google Analytics tags still fire but their data is anonymized. If consent is given, then the request (with all data) is sent to Google as usual.
But when it comes to ad_storage and marketing tags (like Google Ads), their behavior is different. If a visitor does not agree to be tracked for marketing purposes (read “ad_storage is denied”) and Google Ads tag fires, it will be displayed as “still running”.
Even though the tag is not displayed as “Succeeded”, it sent the request to Google Ads nevertheless (it is anonymized). But if the visitor agrees to marketing tracking on the same page, then the tag sends one more request (this time, without anonymization) and then tag’s status changes to “succeeded”. This is normal behavior if you have configured Google Consent Mode.
How can you know whether you are dealing with Google Consent Mode?
You will have to check the developer tools of your browser. In Chrome, click three dots > more tools > developer tools and open Network Tab.
Refresh the page and check the outgoing requests. If you use Google Ads with GCM, enter “googlesyndication.com”. No requests are found? Enter “doubleclick.net”. When one of those requests are shown in the Network tab, click it and check if their URLs contain a parameter gcs.
If yes, you are dealing with Google consent mode. This means that marketing tags like Google Ads will be displayed as “Still running” in the GTM preview mode until a visitor gives consent for marketing tracking (by interacting with your cookie consent popup).
That is expected behavior and there isn’t much you can do about it.
If on the other hand, Google Ads tag remains “Still running” even after giving consent to marketing tracking, then your Google Consent Mode is not properly configured. That could be a very lengthy blog post to explain all the details (but as of the moment of writing this blog post I don’t have one). However, I have very detailed ste-by-step instructions and video tutorials about GCM setup in my GTM course for Beginners.
In a nutshell, you have to make sure that when a visitor clicks “I agree with marketing tracking” in your cookie consent popup, Google Consent Mode must be updated with “granted” permissions for ad_storage.
Reason #3: Incorrect Optimize Container ID
When you install Google Optimize on your website (e.g. via Google Tag Manager), it acts like a plugin of Google Analytics (in this situation, I am talking about Universal Analytics (GA3)).
The problem starts if you enter an incorrect Optimize container ID in the Optimize tag (regardless of whether it is added via GTM or hardcoded in website’s source code).
If Optimize snippet (with non-existent ID) is loaded on a page, all subsequently loaded Universal Analytics tags on that page will never succeed. You will see them as “Still running”.
Thus you should very carefully check whether you have entered a correct container ID. Older container IDs start with GTM-XXX (this is super confusing because that’s the same structure as GTM container snippet). Newer container IDs start with OPT-XXX.
Login to your Google Optimize account (at optimize.google.com) and verify container ID. I have seen some situations where people paste Google Tag Manager container ID in the Google Optimize tag’s settings. Don’t do that.
Also, don’t enter gibberish like this one:
Reason #4. The tag does not have enough time to be properly processed before page redirect/reload
If you fire tags on when a visitor clicks a link (and that link then redirects a visitor to another page (or maybe just refreshes the page)), sometimes you might notice that GA tags will be displayed as Still running. This won’t happen always but you might notice some random behavior when, say, 1 out of 5-10 times, the tag will stay as “still running”.
The reason why this happens is that the tag might not always have enough time to be properly processed by GTM before the page reloads or a user is redirected.
To add even more randomness, sometimes, you will still see that the event (sent by the “still running” GA tag) will be visible in GA real-time reports nevertheless. That’s because the tag might have had enough time to send the request to Google but GTM did not have enough time to finalize tag execution to change its status to “succeeded”.
If you are facing this situation and it is very important to you that the click-related event is tracked by Google Analytics as accurately as possible, you might want to consider using “Wait for tags” option in the Just Links click trigger. Giving an additional 1 second (1000 milliseconds) or 2 seconds can increase your accuracy.
In GTM, open your Just Links trigger, click Wait for Tags and add 1000. Then a new section will appear that asks you “on which pages do you want to activate this trigger”. If you answer is “all pages”, then Page Path contains / is what you should enter.
An example of the Just Links trigger configuration might look like this:
Save the trigger, refresh your GTM container’s preview mode and see if this reduced the number of times when GA tags are displayed as “still running”. If that did not help, try entering 2000 in the trigger.
Final words on this “still running” issue
From my experience, these 4 reasons are the most common ones why your tags are displayed as still running in the Preview mode. But if none of the tips worked, let me know in the comments. Maybe you will stumble upon something new that could be used to update this article.