Google Tag Manager is the free place where you manage your website's measurement and advertising code, such as the Google tag and the Meta pixel [1], [2]. You place two code snippets once, then you work in the web interface. Create the account in your company's name, load your cookie banner first and test every change before you publish.
Even if a Google Analytics agency or your web developer sets it up, it pays to know the basics. Tag Manager decides which data leaves your website, to whom, and whether that only happens after consent. It doesn't measure or report anything itself: GA4 does that.
Do you need Tag Manager?
Not always. For the standard measurement of page views, clicks and scrolls, the Google tag is enough, but if you want more control, Google recommends Google Tag Manager [3]. The Google tag also only sends to Google, while Tag Manager sends to other parties as well [3].
| Your situation | What is enough |
|---|---|
| Only GA4 with standard measurement, no advertising | The Google tag, possibly via your CMS integration [3] |
| You want to measure submitted forms or purchases correctly | Tag Manager, with an event from the data layer |
| You advertise on Google as well as on Meta or LinkedIn | Tag Manager: one place for all tags and their consent |
| You want to control per tag which consent is required | Tag Manager, with the consent settings per tag [4] |
| You are considering server-side measurement | Tag Manager: even then, a tag on your site sends the data to your server |
Who should be the owner?
Your own company. Google recommends that your company creates the account and adds an agency as a user, that someone from your own organisation manages it, and that there is at least one additional administrator [5]. If your only administrator drops out, you can lose access to your tags [5], [6].
A workable split for an SME: two people from your company are administrators of the account, and your agency gets publish rights on the container. Between read and publish there are two more levels: edit (make changes, but not create versions or publish) and approve (also create versions, but not publish) [6].
Every publication saves a version, which you can set as the latest version again if something goes wrong [7]. Export your container as a JSON file whenever you change agency or web developer [8]. Tag Manager then belongs on the handover list, next to your advertising accounts: see How to transfer a Google Ads account or switch agencies.
A fixed naming convention makes your container readable for whoever comes after you, for example destination, type and action: GA4 - event - generate_lead for the tag and CE - generate_lead for the trigger.
Tags, triggers, variables and the data layer
A tag is code that sends data to a system such as GA4. A trigger listens for events, such as a click or a page load, and makes tags fire. A variable is a named placeholder for a value that changes, such as a price [9].
Together they form a container: all the tags, triggers and variables for one website [1]. Google recommends one container per domain [5]. A bilingual site with /nl/ and /fr/ on one domain therefore needs only one container.
The data layer is the object your website uses to pass information to Tag Manager [10]. Google prefers it to values taken from the page's markup, because a code change is then less likely to cost you data [9]. An example: your site runs this code as soon as a quote form has actually been sent.
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'generate_lead',
form_name: 'offerte'
});
A trigger of the Custom Event type on generate_lead then fires the GA4 tag and the Google Ads conversion tag, and a failed submission doesn't count. Why that moment makes the difference is explained in GA4 key events and conversions: the difference explained.
Put this in the brief for your web developer:
- which events the site passes on, with exact names and parameters, the same on every page [10];
- that the data layer comes before the container code and is then only added to with
dataLayer.push(), never overwritten [10]; - when each event fires: after a successful submission or payment, not on the click on a button.
You set consent per tag
In Belgium you need prior consent for analytics and advertising tracking, including pixels, device fingerprinting and local storage [11]. A pixel via Tag Manager is covered just as much as a pixel in the code. Tag Manager has four tools for this [4]:
- The Consent Initialization trigger for your cookie banner. It always fires before all other tags, including Initialization triggers.
- Built-in consent checks in Google's tags, such as those of GA4 and Google Ads.
- Require additional consent for tag to fire for third-party tags, such as the Meta pixel. The tag only fires if all the specified consent types are set to granted.
- The Consent Overview, which you turn on in the container settings. It shows which tags don't have a consent setting yet.
Don't set consent with a Custom HTML tag, but with Tag Manager's consent APIs, for example via your banner provider's template in the Community Template Gallery [4], [10]. Whether to choose basic or advanced Consent Mode is covered in Consent Mode v2 in practice: basic or advanced?.
Getting started in six steps
- Create the account in your company's name, at tagmanager.google.com: one account per organisation, one container per website [1], [12].
- Place the two code snippets: the first as high as possible in the
<head>, the second directly after the opening<body>tag [13]. - Load your cookie banner first, on the Consent Initialization - All Pages trigger [4].
- Add the Google tag on the Initialization - All Pages trigger. On another trigger, GA4 can show sessions without source and medium, as (not set) or Unassigned [14].
- Test in preview mode. Tag Assistant shows which tags fired and in what order; your visitors see none of it [15].
- Publish with a version name that says what changed [7].
For Google Ads and GA4, use the built-in tag templates, not Custom HTML with gtag.js code [10]. Templates from the Community Template Gallery come from external developers: check the permissions they ask for [16]. And never load GA4 twice, via your theme or a plugin as well as via Tag Manager, because then every page view counts twice.
Not sure your container is right? The free tracking audit checks which tags fire, whether they follow your visitors' consent and whether your conversions count once. Read access to your container is enough.
Frequently asked questions
Is Google Tag Manager free?
Yes. The standard version of Google Tag Manager costs nothing. For large organisations there is Tag Manager 360, which adds a formal approval step for publishing, among other things. An SME has enough with the free version.
What is the difference between Google Tag Manager and Google Analytics?
Google Analytics processes and reports your measurement data. Google Tag Manager places and manages the tags that send that data to Google Analytics and other platforms. Tag Manager itself shows no reports about your visitors.
Who owns my Tag Manager account?
Your own company, if you set it up properly. Google recommends that your company creates the account and adds an agency as a user, and that there are at least two administrators. Otherwise you risk losing access if that one person leaves.
How do I set up my cookie banner in Tag Manager?
Load your banner via your banner provider's template on the Consent Initialization - All Pages trigger. It always fires before all other tags, so the default consent is in place. Google tags have built-in consent checks; for third-party tags you set per tag which consent is required.
Can I undo a mistake in Tag Manager?
Yes. Every publication saves a version of your container. If something went wrong, you set an earlier version as the latest version again or publish it directly. So give every version a name and description that say what changed.
Sources
- Introduction to Tag Manager — Tag Manager Help, accessed 27 Sep 2026
- Google Tag Manager — Google Marketing Platform, accessed 27 Sep 2026
- Google Tag Manager vs. gtag.js — Tag Manager Help, accessed 27 Sep 2026
- Tag Manager consent mode support — Tag Manager Help, accessed 27 Sep 2026
- Considerations before you install — Tag Manager Help, accessed 27 Sep 2026
- Managing users and permissions — Tag Manager Help, accessed 27 Sep 2026
- Publishing, versions, and approvals — Tag Manager Help, accessed 27 Sep 2026
- Container export and import — Tag Manager Help, accessed 27 Sep 2026
- Components of Google Tag Manager — Tag Manager Help, accessed 27 Sep 2026
- The data layer — Google for Developers, 22 Jul 2026, accessed 27 Sep 2026
- Cookie-checklist — Gegevensbeschermingsautoriteit (Belgian Data Protection Authority), 17 Oct 2023, accessed 27 Sep 2026
- 1. Create an account and container — Tag Manager Help, accessed 27 Sep 2026
- 2. Install a web container — Tag Manager Help, accessed 27 Sep 2026
- What the value (not set) means in your reports — Analytics Help, accessed 27 Sep 2026
- Preview and debug containers — Tag Manager Help, accessed 27 Sep 2026
- Community Template Gallery — Tag Manager Help, accessed 27 Sep 2026