I am reading about web analytic and came across GTM and GA.
It seems that GA is a service provided by google which generates reports and statistics on website traffic. As per my limited understanding in order to generate this reports we need to perform some type of tagging at our end.
It also looks like that in GTM also we need to add some tags in our website.
So, if both GA & GTM are related to tagging what is the difference between them and why do we have two different products by google.
Google Tag Manager and Google Analytics are completely different products, they just work well together.
Google Analytics stores, aggregates and manipulates data for you, which you can output upon request. Google Analytics also provides a handful of recommended code snippets that allow you to 'install' it on your site. However, these are just recommendations. Ultimately, Google Analytics will process any data that it receives in the correct form, and doesn't care about how it is implemented.
Google Tag Manager allows you to insert custom HTML into your site. You can edit that HTML any time you like, and push changes instantly. It also provides listeners for a number of things such as clicks and form submits, and has a structure for the deployment of tags. Properly used, Google Tag Manager deploys your tags for you. It dictates which data is collected, and when your tags fire. It can fire almost any analytics tag, and much much more. In fact, you could use it to insert pretty much any code onto your website at the push of a button.
So you see, Google Tag Manager inserts custom HTML into your site, including analytics tags. These take the data from your site, and send it to Google Analytics. Google Analytics then analyses this data.
Google Tag Manager (GTM) is a tag management tool. Google Analytics, Google Adwords, Remarketing, Hotjar, Adobe are some of the tags that GTM manages and much more..
GTM is a container script that you add to website once. Any further modifications for tracking can be done within GTM without playing with website code any further.
GTM is just a way to embed tracking code in the website, even after embedding it does not track or collect data till you add Google Analytics id in its configuration.
GA is reporting and analysis tool and GTM is more like GUI driven tech tool targeted at non-developers.
GTM is more generic and can be used for other purposes like Variable Containers that can change configurations without changing you App code. GTM is easier to use for marketer without need for developers. One can connect GAnalytics to GTM so all hits can be seen on GA dashboard.
Those are some reasons why to use GTM: http://www.lunametrics.com/blog/2014/04/08/8-reasons-start-google-tag-manager/
For Android, A draft implementation is at https://developers.google.com/tag-manager/android/v4/#getting-started
Google Analytics' main job is really just generating the reports and statistics about your website, like how many people saw your website yesterday, what web browser they used, which pages were the most popular etc. The only way it can know this stuff is if you put a "tag" on all of your pages. The tag is the javascript code on your pages that runs on the visitor's browser, which tells Google Analytics' servers that they are visiting the page right now.
There's no problem if you just want to put the tag in the master file of your website so it shows up on all of your pages. Google Analytics can use the "referrer" parameter to figure out which page the visitor is on and can do all the simple stuff like counting page views.
However, you may want to track how many people use a specific feature. Maybe you want to group certain pages together, or count some similar but different URLs as being the same page. Now you need unique tags for all these different features and groups of pages so Google can identify which feature or type of page got used or visited. Now it's complicated! You have multiple tags, and you only want the tags to "fire" sometimes (e.g. don't fire unless they click this button or use this feature.)
Google Tag Manager makes it easier to manage this mess of tags by letting you define rules for when your tags should fire. It also lets you test your tags to make sure they go off when you load the right page or click a certain button. This is done by putting the Tag Manager's code on your website instead of the actual tags, and as Crayon's answer points out, the tag manager outputs the tags for you. This gives you another cool benefit: you can change your tags and the way they work without actually changing the source code of your website (which you may not be able to do because of slow release cycles) -- instead you just change it from the Google Tag Manager website, and it will spit out different code on your pages dynamically when they're loaded in the visitor's browser.
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. So for example, you can either implement your GA code on your site directly, or you can implement the GTM code and use GTM to output the GA code.
The main benefit of GTM (or any tag manager worth anything) is that you can use it for multiple tags or code snippets or pretty much anything you want. Usually you implement a data layer and a set of rules, and then within the tag manager interface, put a new tag or code snippet under those rules, using stuff from the data layer. That way for example, if you use GA today and then tomorrow want to also implement a different analytics tool e.g. Adobe Analytics, you can just do it within the GTM interface following the same rules and data layer you setup already.
So IOW GTM is a container in which to output other stuff. GA is one of the "other stuff" you'd output.
Okay so step by step explanation:
Difference between GA and GTM?
Google Analytics
is a Web Analytics Tool.Google Tag Manager
is a Tag Management system