
March 26, 2020
15 Most common Google Tag Manager mistakes
Updated: March 26th, 2020. We’ve all been there: you open Google Tag Manager, set up tags, triggers and variables properly (at least you thought so), but that new implementation doesn’t work. You read that super awesome 5-step tutorial few more times, but it doesn’t help.
You feel stuck, irritated and decide it’s enough GTM for today. The next day you open GTM, take a fresh look and realize you did a stupid and obvious mistake (which could have been fixed in a blink of an eye). I’ve been there. Too many times. That’s why I’m sharing a list of the most common Google Tag Manager mistakes I’ve committed. Let’s hope this blog post will save you some time and energy.

Table of Contents
- #1. Viewing the wrong Google tag manager account
- #2. The container is not published
- #3. Not refreshing Preview & Debug mode or browser tab
- #4. Not using preview and debug console properly
- #5. Not using other debugging tools
- #6. Not checking Google analytics real-time reports
- #7. Not removing old Google Analytics implementation (completely)
- #8. Not using the GA Settings Variable
- #9. Creating datalayer dataLayer = []; and putting it after GTM snippet
- #10. Using too many auto-event listeners
- #11. Typos (duh…)
- #12. Not cooperating with developers
- #13. Not Using Regex in order to reduce the number of conditions/triggers
- #14. Publishing all the changes at once
- #15. Tracking forms with Click Trigger
- Final words
MISTAKE #1 – Viewing the wrong Google tag manager account
This mistake is popular among newbies and/or multi-taskers. “GTM Preview and Debug mode is not working” problem might be caused by a distraction and wrong GTM account.
If you track multiple websites and/or have access to multiple Tag Manager accounts, you might be using the snippet from another account and/or container (by accident, of course). Double-check whether ID in your GTM account is the same as in the Javascript snippet that is hardcoded on a site.
MISTAKE #2 – Container is not published
So you’ve started working on a new project, set up all triggers, variables, tags, etc., but you get way too little data (as if only your browser is being tracked. But what about all those other visitors?). This has probably happened because you didn’t publish the container.
Once you do a significant portion of changes in your GTM container, TEST it and then go Live by pressing the Submit button in the top-right corner of the GTM interface (+ complete all the steps that you will be asked).
Another tip – right after you (or your developer) adds GTM snippet to a new website, publish a version of the empty container (with default settings).
If an unpublished GTM container’s snippet is placed on a website, you’ll get a 404 error (GET http://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX) in browser’s Javascript console (learn more about that here). This isn’t a big problem, but if your developers are tracking Javascript errors with particular tools (e.g. TrackJS), they’ll see those 404 errors in reports. This will create an unwanted noise for them (yes, I know they can use filters, but simply publishing an empty container won’t hurt anybody 🙂 ).
MISTAKE #3 – Not refreshing Preview & Debug mode or browser tab
Google Tag Manager’s preview mode allows you to preview all your current changes of the GTM container (without publishing them to all of your visitors) After you enable the Preview and Debug mode, a large orange notification banner will appear in GTM user interface.
Once the preview mode is enabled, navigate to the site where the container is implemented and you will see a debug console window at the bottom of the browser showing detailed information about your tags, including their firing status and what data is being processed.
Each time you do changes in Google Tag Manager (e.g. add new tags, triggers, etc.), you need to complete the following steps:
- Click Refresh link in orange preview notification banner.
- Refresh the browser tab of the site you are currently testing.
Remember: You must complete these steps every time you want to preview and test new changes in your GTM container, in THIS EXACT ORDER.

MISTAKE #4 – Not using preview and debug console properly
When an event is selected in the left column of Preview and Debug console, the Tags tab will show the tags present during that event. They are separated between those that fired during the selected event and those that did not.
This is the place where you should look for the answer to Why didn’t this tag fire? A tag will be fired only if all conditions of a single trigger are met. A red X icon indicates which conditions weren’t satisfied. Use them as clues and find out how you can fix the trigger.
If you want to learn more about proper debugging in GTM, feel free to read this guide.
MISTAKE #5 – Not using other debugging tools
Tag Assistant and GA debugger are among the most popular debugging tools you should be aware of. Both of these are free Google Chrome extensions which will make your life much easier.
Tag Assistant helps troubleshoot the installation of various Google tags including Google Analytics, Google Tag Manager, Adwords Conversion Tracking and more. You can find out more here.
As for GA debugger, when it comes to Enhanced E-commerce tracking, GA debugger is irreplaceable for me (together with the GTM/GA debug). When enabled, it displays all data that is passed to Google Analytics, thus I can troubleshoot much faster.
In fact, there are even more useful Chrome Extensions to ease your work with GTM. Take a look at this list here.
MISTAKE #6 – Not checking Google analytics real-time reports
I’ve seen a lot of beginners not checking their GA real-time reports once they have implemented Google Analytics tracking via GTM. They had a false perception that once the GA tag fired (according to the Preview and Debug console), their task was completed.
But that was very far from the truth because in some cases, they were accidentally sending data to the wrong Google Analytics property. Constantly checking real-time reports prevents this issue. And in other cases, they were not seeing data at all (because of filter misconfiguration in GA).
If on the other hand, you are checking GA real-time reports but they are just not working, read this guide.
MISTAKE #7 – Not removing old Google Analytics implementation (completely)
If you have decided to migrate from hardcoded Google Analytics to a more flexible implementation via Google Tag Manager, beware: the process won’t be easy. This warning does not apply to small websites with basic GA Pageview tracking – just simply add GTM container snippet, publish Google Analytics Pageview tag and simultaneously remove Google Analytics tracking code from a website.
But if you’re thinking about migrating a larger website with more complex tracking, a lot of things can go wrong. Dan Wilkerson has outlined a few possible problems and how you can safely migrate to GTM without interruptions in data flow.
The most common issue (from my experience) was not removing all hardcoded link tracking events which caused data duplication. Some of those hardcoded events were simply missed by the developer.

MISTAKE #8 – Not using the GA Settings Variable
If you have ever tried to use Google Tag Manager, you’ve probably noticed that for every Google Analytics tag, you need to set parameters/settings individually, e.g. Tracking ID, cookie settings, Cross-domain tracking parameters, etc.
Back in the old days, this was super difficult to manage. You had to create a bunch of Constant (or other types of) variables and manually set in every GA tag.
Now, things have gotten much easier with the help of a Google Analytics Settings Variable. This is a central place where your GA settings are kept. Whenever you want to create a Google Analytics tag, you just reuse the same GA Settings Variable that contains parameters like Tracking ID, etc.
To learn more, read this guide.
MISTAKE #9 – Creating datalayer dataLayer = []; and putting it after GTM snippet
Data Layer is a fundamental ingredient of a successful Google Tag Manager implementation. A data layer is an object (or array, depending on where are you looking) that contains all of the information that you want to pass to Google Tag Manager. Few examples of what data can be passed to dataLayer:
- User’s pricing plan
- User’s registration country, etc.
What can you do with that data? Anything you like!
For example, you can pass the user’s pricing plan as a custom dimension to Google Analytics. However, there’s one catch (and if developers make this mistake, your entire GTM event tracking will break).
If a developer adds custom information to the Data Layer like this (I mean dataLayer = xxxxxx):
var dataLayer = [{ 'pricingPlan' : 'premium', 'registrationCountry' : 'Lithuania' }];
…and places this code snipper below the Google Tag Manager container JavaScript code, the Data Layer will be broken.
No new events will be visible in the Preview and Debug mode + a Pageview event will not appear in the debug console. In other words – things will go wrong.
So it’s important that dataLayer’s snippet (as shown below) would be placed above the GTM container snippet (according to Google’s recommendation):
<script> dataLayer = [{ 'pricingPlan': 'Premium', 'registrationCountry': 'United Kingdom' }]; </script> <!-- Google Tag Manager --> ... <!-- End Google Tag Manager -->
Even a better option (MUCH MUCH BETTER) is to command dataLayer with dataLayer.push method. If you need any particular data to be passed to the dataLayer, ask your developer to use the dataLayer.push method instead (see the example below).
window.dataLayer = window.dataLayer || []; dataLayer.push({ 'pricingPlan': 'Premium', 'registrationCountry': 'United Kingdom' });
Are you a little tired? If yes, then bookmark this blog post about common Google Tag Manager mistakes and come back later. If not, let’s roll!
MISTAKE #10 – Using too many auto-event listeners
If you’re an avid fan of Google Tag Manager (like I am), you’ve probably already tried the majority of recipes posted here, googled and tested a bunch of other custom auto-event listeners (like Vimeo).
Are they all installed in your GTM containers? Do you constantly use them? If your answer is yes, then my question is do you regularly check their data as well? My mistake here was that I was tracking as many events and interactions on my websites as I could. The problem that I realized later was that I utilized only ~10% of the collected data. Everything else was just a trash in my reports.
Yes, scroll tracking is an awesome feature, but do I need it in every project? Do I always need to track Vimeo or Youtube player interactions? The usual answer is No.
First, you need to create a measurement plan and then track only what matters for that particular project. With this kind of mindset, you can easily get rid of a few auto-event listeners (at least) in each of your GTM containers. Here’s why:
- Every auto-event listener is a piece of code that needs to be executed. The more code and requests there, the more time it will require a window to completely load. Of course, usually, those pieces of code are fairly small, but (hypothetically speaking) multiply 100 milliseconds by 10 and you’ll get and 1 second added to page load duration. You can read more on how GTM can affect your page speed and performance here.
- At Omnisend (the company that I used to work in), we were using not only Google Analytics, but also Mixpanel to track user interactions. I could easily send every interaction I can to Mixpanel, but we chose to push only the most important ones because a) too many events = too much noise in various reports (especially “Filter by event” drop-downs), b) we would quickly exceed our monthly event limit. In fact, a free Google Analytics version also has some limits (10 000 000 hits per month)
Prioritize quality over quantity here. You can add additional listeners later on.
MISTAKE #11 – Typos (duh…)
I’ll be quick here. When a tag doesn’t fire, always check for typos in:
- Trigger’s conditions. If you’re using regular expressions in your conditions, double-check whether you need standard regex or ignore cases option.
- Names of variables. This usually happens with Data Layer variables for me.
Also, keep in mind that the majority of fields in GTM are case-sensitive (or maybe all of them? I’m not sure.). This means that S letter is not the same as s.

MISTAKE #12 – Not cooperating with developers
A lot of marketers and digital analysts started using Google Tag Manager (probably) because they believed the promise that they will not need to rely on developers anymore. Ever.
The reality is quite the opposite. Even though Google Tag Manager greatly increases flexibility and the agility of marketing teams, developers might still be needed. Especially, when you have to deal with more complex setups or projects.
Enhanced Ecommerce implementation is a good example. If you’re working on a custom e-commerce platform, you WILL need to work with developers and ask them to push the transaction/product/checkout/etc. data to the Data Layer.
Trying to implement everything on your own (and scrape the website for some data) will result in fragile setups that can easily break.
Another thing – ask a developer to quickly review the custom JavaScript code you found online and now plan to implement via Custom HTML tag. I’ve seen way too many cases when marketing teams added some unknown script and temporarily broke some features (or the entire frontend) of a website.
The end result of this? The marketing team lost access to publish GTM container changes. Marketing/analytics teams and developers should be friends, not enemies.
MISTAKE #13 – Not Using Regex in order to reduce the number of conditions/triggers
What happens when you want to add multiple conditions to fire one tag? Usually, people create either multiple conditions in a trigger or assign multiple triggers to the same tag.
Technically, this will work, but there is a more optimal way to do that, regular expressions (RegEx).
Instead of having, say, multiple “contains” conditions, you can match different data with just one Regular Expression. If you want to have multiple conditions connected with “OR”, you’ll have to either create separate triggers and assign them to the same tag, or you can use just one trigger with a regular expression.
Aleksandrs Pasters has explained how you can utilize regex in GTM. You should definitely check it out. Also, I constantly use Regex 101 online validator to check whether my regular expressions are configured correctly.
If you want to learn more about all the possible options on how to create “OR” conditions in Google Tag Manager, read this guide.
MISTAKE #14 – Publishing all the changes at once
When you work on a bunch of new tracking features for a week and then publish all of them at once, I call this “big bang” deployments.
And this is not a good thing. If something goes wrong with your newly published container version, you will have to revert the entire version (including things that were working).
The rule of thumb that I follow: publish changes in smaller portions. If you implement X tracking functionality, publish it. Then start working on another one. In that case, if something goes wrong with your latest version, your previous smaller batches that you published will still be live and work fine.
MISTAKE #15 – Tracking forms with Click Trigger
This mistake is popular among beginners who tried and failed to use a built-in Form Submission trigger in GTM. What they do not know, is that Form Submission trigger sucks and does not work with the majority of online forms. At least that’s what I’ve experienced.
And what do beginners do after they the built-in trigger form does not work? Apparently, they choose a Click trigger as a plan B which is a super bad idea. Why? Because click trigger tracks all clicks of a Submit button (not only successful submissions)
If a visitor tries to submit the form but accidentally leaves a required field empty, click trigger will be activated anyway. As a result, you’ll have way too many form submissions/conversions which are false positives.
Solution? There is a bunch of other techniques on how to track forms with Google Tag Manager. Just try one of them.
Common Google Tag Manager Mistakes: Final words
In short, we all do mistakes. If I got a penny for every mistake I’ve made… I’d probably have two pennies right now. Just kidding! I’d be a millionaire. Mistakes teach us valuable lessons, that’s why I wanted to share my lessons with you. Hopefully, you’ll manage to avoid them.
Remember, it’s much cheaper to learn from the mistakes made by others.
Do you know other common Google Tag Manager mistakes?
Have you come across any other common Google Tag Manager mistakes? I’d really like to hear them and add them to this list. You can contact me via Twitter, LinkedIn, o just simply post a comment below.

100 COMMENTS
Hi Julius,
I have an addition for #7. With the roll-out of Google Optimize you might have to hardcode the analytics snippet leaving ga(‘send’,’pageview’) out.
Lunametrics published an elaborate post on this as always. https://www.lunametrics.com/blog/2017/03/02/install-google-optimize/
I have this issue, could you have any solution for theses
* Event hits must be sent after a pageview hit, but this event hit was not preceded by a pageview. + 7 similar: 1 2 3 4 5 6 7
* This page has two interaction hits within a short time window. The page might have two hits that always fire on page load, which can cause an artificially low bounce rate. + 7 similar: 1 2 3 4 5 6 7
Hey,
Honestly, I haven't understood your question. Could you rephrase it?
Thanks
Hello,
This is the situation, Google Tag Assistant display in My Google Analytics Reports of Interaction (hit) a problem that has to do with my Analytics is reflecting 0.0% on Bounce Rate in all my pages and that's not so true, not accurate data.
Those are the report's problems:
* Event hits must be sent after a pageview hit, but this event hit was not preceded by a pageview. + 7 similar: 1 2 3 4 5 6 7
* This page has two interaction hits within a short time window. The page might have two hits that always fire on page load, which can cause an artificially low bounce rate. + 7 similar: 1 2 3 4 5 6 7
I set it up all my configuration, non-interaction true but still have that problem to don't affecting my bounce with GTM but still gave this problem.
Hi, my tags always fire in debug mode but I don't see anything in Real TIme reports or in the Events report under Behaviors tab of G.A. What could be the problem?
Several ideas for you to check https://www.analyticsmania.com/post/google-analytics-real-time-reports-not-working/
Hi,
do you ever had the problem, that the data was only send to google analytics while you are in preview mode?
Because the moment I disable the preview mode, no data is send to google analytics.
Any ideas on how to fix it?
Thanks, Dominik
Have you published the latest container version? Or maybe some variables in your triggers depend on a debug mode?
Thanks a lot for this post!
I have question regarding a situation I just encountered. Please forgive my excessive laymen:
I have pasted the SAME GTM snippet, to various domains, each of which has it's own Google Analytics tracking ID.
I created a click event tag, linking it to only one GA Tracking ID (Website A), thinking that only events from that website would be triggered. Websites A, B and C were once properties in the same GA Account (they're from the same series of GA tracking ID numbers), but now are spread among three accounts. Website D is from a completely separate Account.
The Events ended up triggering in all websites, but all the data merged in Website A's GA account. The rest didn't record any Events.
Secondly, Website B's GA account registered sessions from all the other websites, effectively doubling my total sessions in Website B3s account.
Website's C and D did not record any Events or extra sessions.
Any idea of what might've happened here?
Hey, honestly, that sounds like playing with matches. I'd say that your triggers are misconfigured somewhere but there might be many other reasons.
My personal best practice approach - use different GTM containers in different websites IF those websites have different structures/functionality.
For example, in a company I'm working in, we have one container for website, one for blog, on for the main product, etc. They are all very different in structure, content, features, so it's more logical for me have different tags, triggers, Google analytics tags, etc.
In addition to that, all those different GTM containers are using the same GA tracking ID.
Hi,
I get a [javascript][/javascript] at the footer of all pages ever since I integrated the tag manager snippet. Everything works fine but I cannot get rid of this annoying text at the bottom of all pages. Any ideas?
Thanks,
Peter
Hi, Looks like one of your Custom HTML tags is injecting that text. Try disabling them one by one and see it if helps. You can do this check with help of GTM Preview and Debug mode.
Hi
After installing tag manager (with tag manager plugin / with header and footer plugin)
after the footer, I'm getting "page contents" is displayed at the bottom of every page.
thanks in advance,
SRIKANTH. This happened to us. We looked at all the code in our tags and found one of the tags included copy-and-pasted code that was only an example (in our case, Bing web master). That included page contents. I googled and found your post, which helped us track it down to tag manager. Not sure if you figured it out or not, but I wanted to share.
Hi Matthew,
I deleted all the tags in Tag Manager and reconfigured tags which are very much required and it worked fine,
thanks for the update.
Hi,
I already installed tag manager. However, the click classes can't detect :'(
And how i can get the publish button...I can't find out where it is.
Hey,
Does that element have a CSS class that you're trying to track?
If you're not seeing publish button, then it looks like you don't have a full access to the container. Someone share with you only limited access.
Cheers
Hi Julius,
We just started setting up GTM and already have a GA account. I created a Tag for our Youtube page which aligned with a goal (conversion) set in GA. I ran preview mode and confirmed that the tag is tracking in GTM and afterwards published to the Live site. However, I was looking in Real-time reports and it appears to not be tracking in GA. Why would that be?
Side note: I did remove all of GA and have since placed it back in until I can figure out a solution.
Thanks,
Brandon
Hi, maybe this will help https://www.analyticsmania.com/post/google-analytics-real-time-reports-not-working/
For multi-location companies, can you load more than one Google tag manager onto a site?
Yes, but they will use the same dataLayer, therefore conflicts might happen.
Hi Julus,
This is probably a dumb question, but when I click through my site, the GTM code appears but the entire page then reloads and it refreshes the debug console - thus erasing the event triggers.
What am I doing wrong? This is happening on the past 2 sites.
Hey, don't worry. This behavior is expected. When you refresh the page, he preview and debug mode refreshes as well. You're not doing anything wrong!
Hi Julius,
One question after analise a GTM from a client.
It's possible to use a unique GTM in multiples URLS tottaly different one from other? Off course every one has a different GA.
Ex:
www.url-1.com
www.url-2.com.br
www.url-3.net
www.url-4.org
Thanks in advance.
Junior
Yes, that is totally fine.
Hi Julius,
those are very interesting tips, but I think I have a different kind of problem.
We run our local environment in a different URL than the production site, after changing our hosts file. And I cannot make GTM work with this setup (at least not the debug & preview mode), because seems like it doesn't understand it's the same thing.
It's like if 'analyticsmania.com' was your public URL, but you type 'am.com' to open it in your local server.
Is it possible to use GTM like this?
Thanks in advance!
Yes, it is possible. Preview and debug mode is using 3rd party cookies, therefore it does not care about different domains.
What does the js console show when you try to enable preview and debug mode in the local environment?
Are you sure that developers have added the gtm code snippet to the local environment? You can check that with the Tag Assistant chrome extension.
After struggling for 2 days I could make it work by disabling a chrome extension (DuckDuckGo Privacy Essentials). I tested a few times and every time it was disabled the debug mode worked fine.
Followed a tip from a comment on one of your other posts: https://www.analyticsmania.com/post/google-tag-manager-preview-mode-not-working/#comment-6524
Thanks Omkar and Julius!
I went through and checked the list and it appears I haven't made these mistakes with my Tag Manager. I'm having a problem when that when I go in to my Google Analytics page I'm only able to see Real time data. It will accurately show when tags are fired such as the page views and clicks on particular links I have on my site. The problem is that I can only see the real time data and the option to see "Events (Last 30 min)." I set up my tag manager and analytics page a day and a half ago. Is this why it's not holding any data yet? It seems like I'm doing it right I just can't tell if I will be able to see the Behavior information.
Thank you!
This is not ok. My guess would be that you have enabled a particilar segment in your GA reports and because of it you don't see any data in behavior.
Thank you for your reply. I looked into it and changed some things as mentioned. But I think I found out what my rookie mistake was! For some reason the date range for the reports was showing yesterday and the previous days before that. As mentioned I just setup my analytics yesterday. I didn't have the current date selected in the upper right hand corner on my report page. I changed it to today's date and ta-da! my data appeared!! An embarrassing noob mistake.
Thanks again for helping and your quick reply! Your info was really helpful.
Hi Julius,
We've always had google analytics goals set up and now that we're using GTM a question came up.
As we set up GTM and triggers, will this affect the GA goals?
If you send events using the same category/action/label, then your GA goals will not be affected.
Hi
what is "Only fire this tag in published containers" GTM?
thanks
Hey, here's a quote from Google's help:
"If firing a particular tag results in a fee being charged, you can avoid firing it in testing environments (e.g., during previewing and debugging). Instead, when applicable, Google Tag Manager will tell you when the tag would have fired. For the most accurate testing, leave this option unchecked."
Hope that helps.
I did not understand
Would you please say your own deduction?
thanks
Let's say that you have a particular tag which costs you money to fire (because maybe you're paying that tool a fee per submission, etc.).
You don't want to actually fire that tag on testing or development environment because you don't want to spend money on fake submissions of your employees.
So what you do is that you enable this checkbox. When it's enabled, the tag (in testing environments) will be displayed in the Preview and Debug mode as "fired", but it won't send the actual data to that 3rd party tool, therefore, you won't spend money on fake submissions.
hi. I have a problem. After I installed google analytic by google tag manager, every time I enter my website and click something, google analytics include my clicks. How can i solve this problem?
Hey, are you sure you haven't implement click tracking via GTM? If that's not the case, I'd say that your website has some hardcoded click tracking or some plugin which does that automatically.
Before I install Google Analytics by GTM, I did not had this problem. I have installed Google Analytics by GTM on two of my website and I have the same problem. You have never had this problem?
I do not know what you mean by click tracking via GTM. I have just done the same process that all website teach us about installing GA by GTM.
How can I find that my website has some hardcoded click tracking or plugin?
Thank you for your help.
Could you explain then, what you mean by saying "you installed GA by GTM"? How did you do that?
If there is a plugin, you could check in your content management system's list of plugins. Or contact a developer who developed that website.
To find out if you have hardcoded click tracking is to temporarily remove GTM code and check GA reports again. If you see the clicks, then you probably some hardcoded click tracking. There are other ways to check but they are more technical and require a deeper dive into the source code, so I'll skip them this time.
Hi Julius
Thanks for sharing these insights. I'm having a problem displaying a particular event which we've set up as Event Action = Book Online which is linked to an Outbound Link. The tag is set up and sending data to GA but GA recognises the event as in Realtime Events as an Event Action = Outbound Link not Book Online. Any tips of how to to get GA to report as Book Online?
Hey, it sounds to me that you're sending "Outbound Link" as an event action, not "Book Online".
1. Open your GA Event tag and see what are the values of "Event Category", "Event Action" and "Event Label" and, if needed, change the values of those fields.
2. Then save these changes, refresh the Preview and Debug mode.
3. Refresh the website and try clicking the link again.
Let me know if that helped.
Thanks Julius for your prompt reply - this issue is key for us (and driving me half mad :).
I have set parameters as: Event Category = Event, Event Action = Book Online and Event Label = Page path. Still no joy. It's still being recorded as an Outbound Link only. Open to additional suggestions!
Hi Julius,
My All variable always show Undefined as like click ID variable is undefined.
When i select Form Submission trigger and then i select all Form but my trigger is not show in Debug mode left Side this gtm.formSubmit?
I am new In GTM.
Hi, Click variables will return some value only if:
1. You click some element and you have enabled at least one click trigger
2. AND that clicked element has some attribute like ID, Class, etc.
Form trigger does not support all forms. Here's a guide explaining various form tracking techniques
No need to worry about being new in GTM. We've all been there. Just continue reading/learning and you'll be good.
If you're in a hurry, my GTM course will save you time learning GTM and will show you many shortcuts.
I m facing issues with my data counts. Some time the stats of event tracking matches with back-end data .. but some some I see huge difference. I want to make sure every tag must fire its pixel / GA events on triggers . Is there any method where I cam make browser or code to make sure every applicable GTM pixel firing appropriately.
It's next to impossible to guarantee that your tracking data will be 100% accurate compared to the backend data (due to browser nuances, JavaScript isn't very reliable too, visitors might be using blocking extensions, etc.). it is acceptable to have 5-10% discrepancy (depending on a project).
But if you have a larger discrepancy, you need to thoroughly test your implementation. Here's a guide with various tools/ideas.
Hello! My developer installed the Google Tag Manager codes according to Google's instructions. But both Google Tag Assistant and Tag Manager preview mode are not registering that the codes are installed. This site also has AdWords tags and Google Analytics tags installed. Could these be conflicting with the Google Tag codes? Are there any suggestions for consolidating these codes?
Hey,
1. Do you see the Preview and Debug mode at all on that page (where the developer added GTM codes)? Maybe the developer hasn't published code changes?
2. Adwords and GA tags added directly to the page's source code do not conflict with GTM container codes.
Hi Julius,
I cannot get the Preview mode to work. I've had the developer double check the code. He did notice a small error in the code and fixed it, but the preview mode is still not showing up. Should I have him start from scratch and re-add the codes?
We found the problem! There was a tiny error on our part in the GTM code. If anyone else experiences this, check that every part of the code! It'll save you some frustration :)
Hi Julius,
I have a question on how I see reporting/metrics of GTM Tags in GA. I use Pardot, Salesforce, GTM, and GA. When I have a marketing campaign, for example, CES 2019, this is my workflow:
1) Create a campaign in Pardot and copy the tracking code
2) Go into GTM and create a new Tag (custom HTML) so I can incorporate the Pardot tracking code. Trigger “all page views”.
I then distribute the landing page with the CES 2019 campaign on LinkedIn, our blog, Twitter, and Facebook. I should mention we have the universal GA tag set up with our site, and I have Twitter and Facebook linked.
Where Google Analytics should I see reporting on the GTM Tag? I would like to see in GA which distribution source had more views. In GA, Behavior/Events tab is empty. Do I need to only use the featured Google Analytics Tag for something to populate in Events?
Thanks in advance!
Hi, I'm not familiar with the Pardot but I guess that the custom HTML tag's data will be visible somewhere in Pardot, not GA. If you want to see some attribution data in GA regarding CES campaign, you should tag all your campaign links on FB, Linkedin, etc. with UTM parameters. Read more about them here https://www.annielytics.com/guides/definitive-guide-campaign-tagging-google-analytics/
Thank you!
Hi Julius,
I'm new to GTM. My employer is separating from our agency and I am taking over the marketing. How do I transfer the GTM without duplicating or losing data? I think the agency may not have used best practice - create a GTM for our company and add their agency as a user. If they added my client's Hubspot website (which they created) to their GTM account, is there a way to remove their GTM without losing data and add a new one that I create?
Can you explain the situation a bit clearer? So there is an agency, then you as their client and then you have some additional clients?
It does not matter who created the container, they can be removed from it in GTM. So why don't you just take over the container that was created for you by the agency? Ask them to make you the admin and then remove them.
Hey Julius,
I'm trying to set up a pair of button click triggers to track in Google analytics, but preview mode won't seem to load work. I'm trying to set up an "all clicks" trigger so that I can see what elements/classes I should set the trigger to, but the orange panel never shows up when I hit preview, meaning the debug panel never shows up in my website either.
I do seem to have two versions of the container showing on Tag assistant. When I was setting up GTM on Wordpress, I accidentally submitted the setup snippets twice using the "Header and Footer" plugin. I'm not sure if that is a factor in why preview mode isn't working, but I can't figure out how to undo that.
I've tried clearing my browser cache, removing other chrome extensions, and ticking "Disable Cache" in developer tools (leaving the panel open when i refresh), but still i get no orange bar, and no debugging pane.
Hope you can help!
Hey, check the tip #5 https://www.analyticsmania.com/post/google-tag-manager-preview-mode-not-working/
Hi Julius,
I've set up some Google Ads Conversion Tracking tags, and they're firing with the correct triggers, but nothing seems to be tracking in Google Ads. I've got the correct conversion ID and Labels assigned to the tags, and I've published the latest version on GTM (including a conversion linker tag on all pages), but nothing is coming through when i check conversion actions on Google Ads. Google Tags assistant is also telling me nothing is wrong. Is there something I'm missing?
Cheers,
Chris
Just by firing those tags, nothing will be displayed in Google Ads. You need to actually click your live ad, then fire the conversion tag and only then you'll see the conversion in your GAds reports (with some delay).
Hi Julius,
I am new to GTM and in project also. GTM is added for e-commerce project. My Code is working absolutely fine on stage environment. Decided to deploy same code on live environment. There I am getting issue, On live environment Only "page view Requests" tab is showing and "Events" tab is not showing up on Google Tag Assistant. Because of this we are not able to do any tracking.
Will it take 2-3 days time? Or if in 2- 3 days problem will be still there, then what will be the solution for this?
Thanks
Achla
There's no need to wait 2-3 days. Make sure you have published your container changes to the live environment too. If you are using GTM environments feature, you need to choose to which environment you're publishing your changes.
If you're using a totally different container for the live site, you need to copy your changes from the test container to live container.
For example: I added markto Munchkin via Custom HTML tag, but I can't find Munchkin script when I open view-souce. Can you help me?
You won't see it in the source. You will see that script in the DOM inspector (a.k.a. "Inspect element") feature of browser's developer tools
http://joxi.ru/823avGQF9KNyLr
Is here?
Here or the Elements tab
Thank you so much for very quci replies!
hi My developer installed the Google Tag Manager codes but not run
Hey Julious great blog, just wondering if there is anyway to speed up the loading of the tracking within tag manager. I have Hot Jar, Facebook, Twitter, GA etc and my page speed load times are 3 seconds slower with the tag manager code than without? Do I just need to remove the tracking that takes too long?
Hey, you can read this for inspiration https://pavelbrecik.cz/the-easiest-cro-you-can-do-is-via-google-tag-manager.html
My Ecommerce code doesn't register in Analytics (switched to google tag manager 2 weeks ago, and love it, except this little 'problem'). Was working like charm before, when used with default Analytics code.
1) Tag is created, transaction type and assoc with correct UA-property (I only have 1).
2) Event is fired on thank_you page correctly.
3) Datalayer generates properly and has no errors.
What might be the problem? I am on a verge to switch back to regular Analytics, can't figure it out for days.
Hi, are you talking about the enhanced ecommerce or standard ecommerce?
Hi,
The data layer for page view is firing after the page view event. How could I push this along with page view so that when my tag fires on page view event I get the data layer to info to use.
could you please recommend something.
You need to ask a developer to activate that dataLayer.push (with your custom data) before even Google Tag Manager container is loaded. In other words, that dataLayer.push code should be placed above Google Tag Manager container snippet.
Hi I don't understand "Only fire this tag in published containers" GTM?
please explain more thanks a lot..
The tag will not fire in the preview and debug mode
Hi Julus,
This is probably a dumb question, but when I click through my site, the GTM code appears but the entire page then reloads and it refreshes the debug console - thus erasing the event triggers.
That's how it works. Hold CTRL and then click.
Hi,
I have an analytics account and tag manager account.
Let us say, I have added Google Analytics Snippet to my website. (The GA will start reporting the date)
And,
I want to use the tag manager account only to collect the triggers/events. I will just create a variable for my GA ID and I will use this variable to create different tags.
My question.
Now I will have 2 snippets.
1 is for GA.
1 is for Tag Manager. (There is no tag with the track type: page view tag added )
In the above case: Can I use both the GA and Tag manager snippets on the site?
Or,
It's mandatory to add page view tag on the tag manager and use only Tag manager snippet for tracking GA report and Events report.
Please guide me. Hope I will receive an email once you reply to this.
You can have pageview hardcoded in site's code, it will work fine. But in the long run, you'll need to migrate fully to GTM anyway (because once you need to make a custom configuration to the pageview, you will not be able to do that via GTM and will have to modify your hardcoded snippet)
Hello, I have question about the GTM container id.
I added GTM Snippet to my website ( head and opening body script)
And download the WASP to check if the GTM installed correctly or not.
but my GTM container id which I can see at GTM manager page and GTM id of my website what I can see through the WASP is not matched.
For example, correct GTM id is GTM-MK00000 and I added the snippet which include GTM-MK00000 to my website at the correct position. but when I check container id of my website through WASP, it shows that GTM Container (gtm): 2ou1m0.
I'm not sure what is problem...
please help
WASP is too difficult for beginners. Use Tag Assistant and you'll be fine.
I already installed tag manager.
I can't find out where it is publish button.
If you don't see the button, this means that don't have full access to the container (not enough permissions). Ask your coworker or client to give you "publish" permission. Or create a new container.
Hi,
nice article :)
I would add to this list:
- wrong implementation of GTM container code
- creating the same rules or variables few times
"wrong implementation of the container" sounds to broad :) got anything more specific?
- only one part of the code eg in
- both parts but on the bottom of the site
- gtm code included as external file
-gtm added somehow, that it is not visible in source, JS or something like that
- if only "script" part is implemented, this will have no impact on regular event tracking and javascript-based tags.
- both parts at the bottom will still work. Some CMS allow adding code only to thr bottom.
- if GTM codes are not visible in the "view page source" but GTM is loaded via a separate .js file, this will still work
I'm perfectionist ;)
If you want to verify GSC or Merchant Center non of those implementation will work. (ok, I agree, it is not exactly about event tracking)
"GTM codes are not visible in the "view page source"" - I've seen at least two examples that it hadn't work. But maybe problem had been somewhere else.
Hi,
I have installed both GTM and Google analytics code on my website , but have GTM code is for ads conversion tracking then is there a problem with these two codes on my website?
This is my website www.givecentral.org. Can you please check and tell me the correct way?
Thanks in advance.
Akanksha
There are no problems as long as you don't track same things with hardcoded GA and with GA+GTM.
P.s. I did not check your website due to time contraints.
Hi Julius,
Great article, thanks!
Here's one more for the list - filters (Admin > Property > View) may also prevent GA from picking up on the event. For instance, in my view I filter out my own IP. It took me a while before I remembered I had one ;)
That is GA mistake, not GTM :)
Hi... I added a Tag of 'Website' Schema in GTM (as HTML tag). I mistakenly applied it on all Page View. So later I deleted this tag and its trigger too. However, in my Rich Results Test, this "website" schema is still showing on all the pages with an error as "Missing field "query-input". Since the tag is removed in GTM, how should I correct this error? Any help, please. I am tired of searching for its solution.
(Note- The removed Tags can still be seen in "removed Tag" section in GTM panel).
I'm curious about your Rule #13. Have you done any tests that show regex is faster than multiple more simple trigger rules?
Rule 13 is not about speed. It's about easy of tag management.
Speedwise - 10 triggers vs one trigger with regex will not make a big difference.
Hi there,
I seem to be having some trouble with any events showing up in my GA after having tested them in my GTM and checked a number of times to make sure that the tracking-ID etc. is correct for my GA.
I am just not sure here why this information doesn't pull across on to my real-time tracker on my GA?? Any help would be much appreciated!
Hi Julius,
I am having an issue about built-in variables in GTM. I've tried using different built-in variables but not a single one seems to be working. All the variables are enabled. Below is the Error description that I'm getting. I've been looking around and can't find anything about it. I'm kind of lost honestly speaking. I would be really grateful if you could give me some insight about it.
Error Description: Unknown variable “Page Hostname” found in a trigger. Edit the trigger and remove the reference to the unknown variable.
Thanks! Samuel
I am just a beginner and trying to understand how to use Google tag Manager effectively and even downloaded your E-Book