What is the difference between google tag manager and google analytics?
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.
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 Analytics + Tags + Tag manager = Website Stats
Google Analytics is used to form Reports about the no. of people visiting your website, their location, the browser they are using. GA gets this information from the tags.
Tags for each and every action that happens on the website has a separate tag. For example, If I wanna play a video on a website, I need to click a button to play a video, that button has a tag. If I wanna make a purchase or need to submit a review form, I need to click buttons again those buttons will have a separate tag. So, the no. of time video button is clicked the tag assign with that buttons send the information to the Google Analytics to form stats.
Tag Managers As a word explains tag managers manage tags. For each website there are Hundreds and thousands of tags. Each tag needs to be assigned rules. For example: Take the previous example, If I wanna play a video on a website I'll click a button which will be having some tag. Now, this tag should know that it needs to be fired only when a user wants to play a video and for nothing else. For this certain set of rules are assigned to the tag. These rules are assigned by the Tag manager.
In a nutshell The tag manager assigns rules to the tag. Tag collects data the number of times there is action and sends it to Google Analytics.GA collects these data and forms stats, Showing User how the page is performing.
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.