Not long age, we redesigned and optimized our site and faced some issues with Google tracking scripts. Some of these issues:
- huge Google script into application code for tracking events, A/B testing, Google Analytics;
- constant page template editing to correct and change advanced GA settings;
- in some case, dependence on release on subdomains.
Taking into consideration these disadvantages we’ve made a decision to use Google Tag Manager. First of all, let’s get a grasp of the difference between GA and GTM. Google Analytics generates reports and statistics about your website, like how many people saw your website, their behavior on site pages, session duration, data about users’ queries and a lot of useful information. The only way to get this information is to put GA tag on all of your pages. There is no problem if you want to get simple reports about your audience because Analytics use “referrer” parameter to figure out which page the visitor is on and how he or she interacts with site content.
However, a deep understanding of customer behavior on your site demands using a specific feature. Or, maybe you have an application with AJAX or Flash elements and would like to track events and specific goals for remarketing. So you should create unique tags for all these different elements. GA can do it, but it is so complicated! You need multiple tags to be implemented in your web app code. As a result, you get a low score in page speed loading tests and also a low position in search optimization.
Google Tag Manager is the easy way to manage your tags without code loading. It helps you test these tags to make sure they track user website activity, clicking buttons, or AJAX and Flash files. All you have to do put GTM script on your side instead of the actual tags. This gives you benefit: you can change tags and the way they fire on without changing the source code of your website.
In a word, GA is the analytics tool that provides reports about activity on your site. GTM is a tag manager that can output tags based on defined rules, it’s a container in which to output other stuff. GA is one of the "other stuff" you'd output.