Thursday, October 10, 2013

Understanding the Basics of Tag Management System

If you meet someone from the Web Analytics industry or if you are keeping yourself updated about the industry, you will be hearing a lot about Tag Management System (TMS for short) these days. So what exactly TMS mean? Let us take a dive into this subject matter and understand the different questions.

What is Web Analytics?
If you are a beginner and new to Web Analytics, Web Analytics is nothing but a method of studying the online traffic, visitor behavior and coming up with an actionable insight which will be useful in decision making. So, to study the online traffic we use different tools which collect the data from websites and showcase in a nice Interface with various features. Some of the examples for such tools are Google Analytics, Adobe SiteCatalyst, IBM CoreMetrics, WebTrends, Piwik and others. Most of these tools use JavaScript tags placed on the website to collect data. We have other kind of tools which perform log analysis. To know more about the history of Web Analytics, I would suggest you to read the Wiki of Web Analytics.

Let's continue with our understanding of Tag Management System.

Traditional Web Analytics Implementation
Since most of the present day tools use JavaScript tags to collect data from the websites, I will be concentrating on this kind of tracking method. So, the traditional method of implementing a Web Analytics tool is nothing but placing the standard JavaScript tag that has been generated on the Tool's interface after entering domain name and other configuration. This tag is called Base Tag. In most of the tools this base tag captures 80%-100% of the data that we are going to see on the tool's interface depending upon our requirements.

how a standard Google Analytics base tag looks like
This is how a standard Google Analytics base tag looks like

So, once you have this piece of code, you need to place this on all the pages which you want to track. As told GA tracks most of the metrics by default like Visits, Unique Visitors, Average time spent on site and so on. But it has a limitation, it cannot track every user action that's happening on the website. In such situations you need to tell GA explicitly that this user is performing an action, track this. So to understand this better let's consider an example. Let's take any e-commerce website, Amazon. If you are a user of Amazon and say you are purchasing a book on the site. If I am studying the visitor behavior on Amazon I would be very interested in the number of purchases that are happening on the website and how people are making the purchase, meaning on which step they are dropping off. This data will help me a lot in understanding the architecture of Amazon whether people are finding it easy to make a purchase or not. So to track such a situation, I would be needing the number of clicks that are happening on the buttons belonging to each step in the process so that I can create an imaginary funnel.

To tag such buttons we need to write custom JavaScript onClick events to track the number of clicks. So the code will look like
if(User clicks the button){
 Track the number of clicks to the button
In a traditional implementation we put this JavaScript on the webpage which we want to track. So, you need to change the source code of the web page by placing this code at the required place and publish it to live environment once it works fine on your local environment. This is how we implement Custom tracking of Web Analytics code in a traditional way.

Disadvantages with Traditional Implementation:
1. You need to touch your source code whenever you want to implement some new functionality.
2. If you want to place a new tool on your website and try it, the amount of JavaScript increases on your website, which in turn increases clutter and also affects your page load time.
3. Sometimes your website might be based out of a complex CMS implementation which needs a lot of process to move your code from Development environment to Production environment.

How Tag Management System Works? How is it different from Traditional Implementation?
TMS is a cloud based JavaScript tag management console where you can manage all your Digital Analytics needs. You can also maintain your website's JavaScript code on a TMS console. So, basically TMS removes all sort of JS tags present on your website and instead you just need to place a single JS tag which is hosted by the third party which has given you the access to TMS. Simultaneously you can place all of your original JS tags inside the TMS console and publish it to the TMS JS tag which has been placed on the website. So whenever a user loads your website, the TMS JS tag will be fired which contains all the code you are maintaining on your console. This causes your browser to fire all the Web Analytics tags that are being managed on your TMS console.

how a Tag management System JavaScript tag looks like
This is how a TMS JS tag looks like

Advantages of using a TMS
1. You need not touch your source code for tagging your website for most of the time.
2. You can add any number of new tools just by a click from the TMS console and at the same time there is no clutter on your website. Since the TMS JS tag is hosted by third party on Cloud, it will not affect your page performance.
3. Most of the TMS tools are cloud based tools, so you can access the tools via Internet and you can make the changes in the console if you have proper rights in the console. Once you are fine with the changes you will be able to publish the changes to cloud which will be affected on the TMS JS tag within a very short time.

I guess you should get a fair amount of idea on TMS. Some of the people in the industry argues about the disadvantages of having a TMS tool. But I will save that for another post. Also in the future posts I will cover a detailed introduction to different leading TMS tools in the market. That's it for now.

If you have any concerns or queries, you are welcome to connect to me via any Social Media network (After, all Social Media can change lives: Read about How I got a job because of Social Media?) or just leave a comment here.


  1. Ram can you talk a bit on tealium and ensighten and their pro's and cons may be in future posts ..

    1. Sure Santosh! I was planning to make a comparison between Tealium, Ensighten and Google Tag Manager. I hope I will write it soon.

  2. This is superb Ram. It really helped me a lot. I want to know more of the Web Analytics and different TMS tools, their architecture. If you could please spare some time to explain that as well, it would be great.