To be able to understand how Google Tag Manager works, you need to know some very simple terms.
Those terms define the what, the where and the how.
It is hard to understand everything without some technical knowledge. First of all you should be familiar what a URL, a referral URL is. Basic HTML knowledge is also required. If know what is the DOM, a DOM element or a DOM attribute is could help you as well.
Now lets see what additional terms should you know if you are using Google Tag Manager.
If you read the introduction article you may already know what a tag means in Tag Manager. Basically it can be any kind of code snippet: a tracking code for your Analytics solution, a conversion code to track sales, etc. A tag describes the what question.
You can read more about tags and about what tags are being supported in the related help article.
Some tags, like Analytics tags has to be included in each and every page and post you create including your homepage as well. On the other side, PPC conversion tags should only be shown on specific pages, like a “thank you for your order” page. You have to have the ability to control where your tags should be shown (or using terms of Google Tag Manager: fired).
Rules are there to control this. Rules can be created to include a tag on every page or just on specific pages. You can specify a rule using parts of the URL for example. This could tell Tag Manager to include certain tags only on a page which has a url: /thank-you.html
You may also use other parameters like referral URL as well. You could incude a tag for example only if the visitor is coming from example.com
Next to the above described “include rules” you can define exclude rules as well. You can tell Tag Manager for example to include an Analytics tag on every page except your admin pages (i.e. where URL includes /admin/)
You can read more about rules in Google Tag Manager’s related help article.
In some cases you have to include dynamic parameters in your tags. For example you can create a tag that tracks clicks on email links. The actual email address varies by link so you can not hard code the email address while you create the tag in Tag Manager.
This is the case when macros can be useful. A macro is like a variable. You can create and name a macro and define where it should get its value. In this case, this could be the text of the clicked link. As you can see macros can define the how.
More about macros in the related Tag Manager article.