Google Tag Manager – Friend or Foe?

Google Tag Manager, in theory, is a pretty awesome thing. It solves several issues that can be incredibly frustrating to teams working on web sites and/or marketing activities related to web sites – primarily being able to add tracking code to web pages without having to actually touch the pages. Wow. It is marketed as something that does just this:

Take control of your tags.

No need to ask the IT team to change tags again; our user-friendly tool lets you manage your own website and mobile app tags on the spot. So you can focus on marketing, not coding.

And on paper, this seems great, but…

How Does Tag Manager Work When Non-IT People Deploy It?

In my experience, if you are trying to something relatively simple with tag manager, such as run Google Analytics code or AdWords conversion tracking code or a retargeting code, it works really well. And, it often is simpler to make a single request to your web development or IT team to add the Google Tag Manager (GTM) container code to your site’s pages rather than having to ask them to add other codes as you expand and need more tags firing on your pages.

But, when things start getting even a little more complex, not having people directly involved in the process who really understand coding logic, starts to cancel out ease of implementation with poorly constructed GTM triggering logic. When this happens, data integrity is at risk. I don’t know about you, but data I can’t trust is the stuff of my nightmares. When marketing people start adding tags to a GTM container without a deeper understanding of how those tags impact each other or how excessive conditional logic within a GTM instance can really slow down or mess up a web site, it can get ugly.

It’s Not Really Their Fault

Part of the problem is that running codes on pages does require some code literate thinking. Do you have to actually write the codes that will fire? No. But in order for things to run smoothly and not interfere with each other, you (or someone involved in the process) really does need to be able to think in what I’ll call “code logic”. Codes and the data the send back to Google Analytics are only as good as their set up. Make a mistake in the set up and your data will never be right. Worst part? Most people don’t know enough to even know they’ve set it up incorrectly.

And why would they? This product is marketed to this exact audience – people who need to have codes on web pages, but either don’t have the access or the skill sets to put that code directly on the pages. When you go to the Google Tag Manager site (sub site of Google Analytics) and you read the content on the Features page, it sounds like mostly plain English. The type of explanations that should make sense to their target audience. It’s when you click down another level and start to read about using these features that the content gets more technical than their target audience.

Here is what the main Features page says about Variables:

Define Reusable Variables

Pick the most important data elements on your pages and easily collect them with variables. For example, define where “total price” is found, and Google Tag Manager can pass that value through to all of your tags.

Here is a sample of what you will find when you click through on the link for more detail about variables and how to set them up:

Variables are name-value pairs for which the value is populated during runtime. For example, the predefined variable named “url” has been defined such that its value is the current page URL.

Variables are used in triggers and in tags. In triggers, they are used to define filters that specify when a particular should be executed (e.g.: to execute a pageview trigger when the url variable is “”). In tags, variables are used to capture dynamic values (e.g.: passing the transaction value and products purchased to a conversion tracking tag).

Google Tag Manager provides a set of predefined variables in each Web or Mobile App container that you create. With these variables, you’re able to create the most commonly needed tags and triggers. However, you can create additional variables to suit your specific requirements.

This part is about half and half non-tech and tech language. But when you move further down the page to read about setting up and using actual variables, it is starting to get techy:

Web Example

Let’s say that you want to fire a GDN Remarketing tag whenever a visitor spends more than $100 on your site. To implement this, you’d create a pageview trigger and add this as trigger condition:

Transaction Amount greater than $100

Since the variable “Transaction Amount” doesn’t exist, you would need to define it. You would tell Google Tag Manager to look for the value of Transaction Amount in a JavaScript variable transactionAmt (assuming this Javascript variable is present on the purchase confirmation page of your website).

During runtime, Google Tag Manager would get the value of Transaction Amount from the specified JavaScript variable. Then, the above trigger would evaluate whether the value is greater than $100.

In addition to using Transaction Amount in a trigger, you could also use it to pass the transaction amount to any conversion tracking tag, such as a DoubleClick Floodlight tag, thereby making it possible for DoubleClick reports to display transaction revenue.

So it tells you in order to have your tag fire under these conditions, all you have to do is simply set up a Javascript Transaction Amount trigger. Hmmm, how do I do that, you ask?

JavaScript Variable: The value is set to that of the global variable you specify. If the value you’re looking for was not set up in the data layer (see Data Layer variable type), and it’s not visible in the DOM (see DOM Element variable types), it’s possible that the value can be retrieved from a JavaScript variable. Use this variable type if you can find the value you’re looking for in the source of the page in the form of a JavaScript variable.

 Do you have any idea what this paragraph means? If you’re in GTM’s target market demographic, probably not. And yet, you’re still being told that setting up GTM is super easy.

GTM Is Great Under The Right Circumstances

I’m not trying to completely discourage the use of GTM. As I stated earlier, for simple scenarios, I think it really is a great tool. It can be an incredible time saver too, by having the GTM container code set up on all existing pages of a site and have it baked in to new pages as they are created as well. When used this way, it ensures that new content will always have the codes you’ve set as universal firing on the pages. And that is awesome.

More complex deployments though, proceed with caution if you’re not going to have more technical people involved in the process. If you’re getting into custom variables or using conditional logic for code triggering, that requires a different kind of thinking. I have been involved in a number of projects where complex GTM scenarios were set up and deployed without a team member with coding logic skills. All of them had significant issues that had to be unwound and reconfigured to get them to be working as desired.

I wish that Google Tag Manager did a better job of presenting itself as the hybrid tool that it is. It would be great to see available functions broken down into categories such as “Simple” and “Complex” rather than all of its many capabilities being presented as equally easy to understand and successfully deploy.

What about you? What has your experience been like with GTM? What’s the worst scenario you’ve encountered? As always, sound off in the comments, or hit me up on Twitter (@NeptuneMoon).


  1. GTM is the best! I use it on every client I can. For the most part you don’t need to learn code to use it. If all you want to do is add Analytics, Remarketing, Facebook Pixels, etc., it really is as simple as a copy and paste. Even the simplest event tracking setups can be found by Googling what you want to track. Many sites have step by step guides which will help you learn more about what each step does in GTM and what purpose it serves.

    If you need to create some in-depth, customized actions, that’s where the coding knowledge comes in handy. I’ve still gotten around some of this by following some GTM gurus. Simo Ahava ( is the GTM king if you want to implement some crazy-awesome tracking.

    Everything in GTM can be previewed before you launch it, kind of like scripts. You can go to your website and see if your tags are set up correctly before pushing them live. This preview can actually help you find improper coding. For example recently I couldn’t figure out why a Form Submission tag wasn’t working. I found out (thanks to Simo’s blog) that the tag wasn’t firing because their form wasn’t coded properly to dispatch a proper “submit” browser event action to the javascript. While that definitely takes some code knowledge, figuring out the issue made us realize many more elements on the site was coded improperly. So how accurate was our data before GTM?

    Google definitely uses terminology that can scare people away, but GTM is not that hard to learn as it looks. I use GTM a ton to create some wild remarketing audiences you can’t get by just using AdWords. I also use it Once you get familiar with GTM (it took me awhile to get comfortable), you’ll be able to track so much more data than what’s defaulted in Google Analytics.

    • Neptune Moon says:

      Thanks for the thoughtful comments!

      I do think it is a powerful tool that is capable of really complex tracking. And, that is great for those of us who want maximum data to work with, no doubt.

      My main frustration is that GTM is positioned/presented/marketed as something that is super easy on its face and it just isn’t for anything beyond the simplest of tasks (kind of like how AdWords is/has been marketed as “just taking 5 minutes” to set up).

      I consider myself to be pretty far along on the technical scale and I find aspects of it difficult to use (more complex tracking scenarios) without help. The people it is being aimed at are way less technical and I think that sets up issues where there needn’t be any.


  1. […] Google Tag Manager – Friend or Foe?: As a PPC pro and not an IT worker, is GTM right for you? […]

Speak Your Mind