Google Tag Manager (GTM) is a tag management system. You install one container snippet on your site, and from then on you add, change and remove tracking tags (GA4, ad pixels, heatmaps and others) through GTM's interface. Each tag fires according to triggers you define and reads values from variables. GTM speeds up marketing changes, but it also makes it easy to ship broken or duplicate tracking, so it needs process.
The building blocks
A GTM container holds three kinds of objects, plus versioning around them.
- Tags: the code that sends data somewhere, such as a GA4 event tag
- Triggers: the conditions that make a tag fire, such as a page view or a form submission
- Variables: values the tags and triggers read, such as page path or a data layer value
- Workspaces and versions: drafts you edit and published snapshots you can roll back to
Preview before publishing
GTM's Preview mode, run through Tag Assistant, loads your site with the draft container and shows which tags fired on each event and what values the variables had. Test every change there, and check that GA4's DebugView receives the expected events, before you publish.
Governance
Because anyone with publish rights can change what runs on every page, treat the container like code. Limit publish permissions, name tags consistently, write a note on each version, and remove tags that no longer have an owner. Old pixels are a common source of slow pages and privacy risk.
Example
Tracking demo requests without a deploy
Suppose Fernhollow, an analytics SaaS for retailers, needs to track a new demo form this week but the engineering queue is full. The developers add one data layer push on successful submission. Marketing then builds the GA4 event tag and trigger in GTM, tests in Preview, and publishes the same day.
Common mistakes
Installing GA4 twice
A hardcoded Google tag plus a GTM GA4 tag doubles page views and events. Pick one.
Relying on CSS-click triggers
Triggers keyed to class names break when the design changes. Prefer data layer events for important actions.
Publishing without a version note
Unlabeled versions make rollbacks guesswork.
Questions
No. The Google tag (gtag.js) is a single tag for Google products. GTM is a container that can deploy the Google tag and many others, with triggers and variables.
The container itself is light, but every tag inside it adds work. Performance depends on what you put in it.