Before we get into the details – let me explain a bit about the general terminology of the topic at hand.
When you operate a website you’ll at some point have to connect another web-service to your website. You’ll might have to pass some data to get web-analytics up and running or transmit purchase information to another service to be able to compensate for a referred customer. (Lookup Affiliate-Marketing)
This transmission of data is done through a few lines of code that you implement on your website. Generally these parts of coding are referred to as Tracking-Pixel, Tag, Tracking-Code …
Google Tag Manager
This is where the free Google Tag Manager enters the stage. The software allows you to manage all the code you want to inject to your page on a rule-to-fire-basis. Instead of managing all those little code pieces in several places of your website you’ll implement one so called „container-snipped“ on all your pages. Once the basic implementation is done you can manage all the little code pieces you’ll want to implement from one backend that is designed specifically for the task at hand.
The Basic Structure
Google Tag Manager consists of 4 main parts that you should know to differentiate.
The heart of GTM are Tags. A Tag is a representation of a piece of code (e.g. a tracking script) that you want to inject on your website.
You don’t want to have every Tag to be injected to your site on every page or every instance. You want to be a bit more smart about it – that’s were Trigger help you. A Tag won’t be deployed without a Trigger telling it to do so. A basic Trigger could be a “All Pages Pageview” – that’s probably the most generic one that could be applied to the Google Analytics Pageview Tag.
There are also blocking triggers that can be specified additionally to the firing trigger – they provide a way to specify an exemption to the firing trigger for example if you want to formulate a rule like “Fire on every page but only if the pageview is not from me (internal)”. In this case you would add a blocking rule that is “true” if the traffic originates from your computer. (Tutorial)
3) Macros / Variables
Macros are Variables that you can use all around GTM to get dynamic data into your Tags. A good example would be a variable like
transactionTotal specifying the total value of a transaction on an ecommerce shop’s checkout page.
The DataLayer is another part of the implementation (advanced) that makes it possible for your website to communicate with the Google Tag Manager. The just mentioned Macros can be specified and filled with dynamic data in the DataLayer – which is a small script on your website that needs to be placed just above the GTM Script.
You can quickly read up about the procedure in the Developer Guide.
For all things related to the Google Tag Manger check out the blog of Simo Ahava. His Tutorials are very thorough and detailed. I’ve started to google for things related to GTM with the search phase always starting with “simo ahava” followed by the search term I’m looking for an answer to.