The VG Hannover ruling in plain terms
On 19 March 2025 the Hanover Administrative Court dismissed a website operator's lawsuit against an order issued by the data protection authority (case 10 A 5385/22). The authority had objected to two things: first, the cookie banner lacked an equivalent option to reject all non-essential cookies at the first level; second, Google Tag Manager was embedded without prior consent. The court upheld both objections and confirmed that the order was lawful (VG Hannover, 19 Mar 2025).
The central finding on GTM: simply embedding the manager already accesses the user's device and triggers a data transfer - namely by loading the gtm.js script from Google servers (VG Hannover, 19 Mar 2025). That access falls under Section 25(1) TDDDG and is impermissible without prior consent, unless the tag manager provides only strictly necessary functions. In addition, the court required a 'reject all' button equivalent to the 'accept' button in visibility, accessibility and placement (VG Hannover, 19 Mar 2025).
Google Tag Manager is not banned across the board. The court merely clarifies that fetching it requires consent, because doing so accesses the device and opens a connection to Google servers (VG Hannover, 19 Mar 2025). Anyone who loads GTM only after documented consent and cleanly separates strictly necessary processes can keep using it. Legal statements in this article are no substitute for legal advice.
Why merely fetching the script already counts
Many operators assume the tag manager is just an 'empty container' that tracks nothing itself and may therefore run without consent. That view falls short. Section 25(1) TDDDG covers two acts: storing information on the device and accessing information already stored on it (Section 25 TDDDG). The very connection to googletagmanager.com to load gtm.js triggers such access and transmits technical data such as the IP address to a third party (VG Hannover, 19 Mar 2025).
There is also the third-country issue: gtm.js is loaded from Google servers, which may transfer personal data to the United States (VG Hannover, 19 Mar 2025). Such transfers face additional requirements from Chapter V GDPR on top of the consent obligation. If you want to know exactly which data leaves on the first page load, it is best measured actively - the article on measuring data flow and third-country transfer shows the method.
Even with not a single tag configured in GTM, fetching it already creates an access to the device and a connection to a third party. Legally, what matters is not what the manager later serves, but that it is loaded at all (VG Hannover, 19 Mar 2025). That is why the script belongs behind the consent gate, not in front of it.
How widespread the problem is
The reach of the ruling follows from the tool's market position. Among all websites that use a tag manager at all, 94.3% run Google Tag Manager (W3Techs 2026). According to BuiltWith analyses, GTM runs on a large share of the world's most visited websites (BuiltWith 2026). At the same time, consent handling is poor across the board: a peer-reviewed large-scale study from 2025 analysing more than a quarter of a million websites found that only about 15% of consent banners meet the minimum requirements for valid consent (Large-Scale Web Tracking Study 2025).
The picture sharpens with actual tracking behaviour: more than 50% of websites set cookies before the user had made any choice at all (Large-Scale Web Tracking Study 2025). Around 67% of the sites studied showed a consent interface, yet a large share offered no equivalent rejection (Large-Scale Web Tracking Study 2025). This exact pattern - scripts and cookies before the click, no genuine 'reject' - is what VG Hannover objected to.
| Metric | Value | Source |
|---|---|---|
| GTM share of all tag managers | 94.3% | W3Techs 2026 |
| Consent banners minimally compliant | around 15% | Large-Scale Web Tracking Study 2025 |
| Websites with cookies before choice | over 50% | Large-Scale Web Tracking Study 2025 |
| Sites showing a consent interface | around 67% | Large-Scale Web Tracking Study 2025 |
| Fine per breach (Section 25 TDDDG) | up to 300,000 euros | Section 28 TDDDG |
| GDPR fine range | up to 20M euros / 4% revenue | Article 83 GDPR |
What a breach costs legally and commercially
The sanctions sit on two levels. Access without consent fulfils the fine provision of Section 28(1) no. 13 TDDDG and can be penalised with up to 300,000 euros (Section 28 TDDDG). Depending on the constellation, enforcement lies with the Federal Network Agency or the data protection authority (Section 28 TDDDG). If unlawful processing of personal data is added, the GDPR fine range of up to 20 million euros or 4% of worldwide annual turnover applies (Article 83 GDPR).
Besides fines, a second and often faster danger looms: warning letters from competitors or specialised law firms. Missing or deficient consent solutions are pursued as unfair-competition breaches, similar to what the article on the BFSG warning-letter wave over missing accessibility describes for digital accessibility. In practice, these civil-law letters tend to reach operators fastest - long before a supervisory authority steps in.
VG Hannover confirmed the authority's order in full (VG Hannover, 19 Mar 2025). This establishes that authorities may object to loading gtm.js before consent. Anyone relying on 'everyone does it this way' overlooks that the number of audits and warning letters typically rises after such landmark rulings.
The typical consent mistakes at a glance
Four failure patterns keep appearing in practice. They share one trait: the user is tracked before validly consenting.
The classic: the standard snippet loads gtm.js right on page load, before the banner is answered. Device access thus fires before any consent (VG Hannover, 19 Mar 2025). The script belongs behind the consent gate.
A prominent 'accept' button, but 'reject' hidden only on the second level. The court requires a rejection option equivalent in visibility and placement on the first level (VG Hannover, 19 Mar 2025). In practice it is often missing: only part of all banners offer a genuine reject (Large-Scale Web Tracking Study 2025).
Analytics and marketing cookies are set the moment the page loads. Over half of all websites show exactly this behaviour (Large-Scale Web Tracking Study 2025). Each such act is a potential breach of Section 25 TDDDG (Section 25 TDDDG).
A server-side consent mode signals 'no consent', yet the GTM container itself is still loaded. Merely fetching the script remains subject to consent - regardless of which tags are suppressed afterwards (VG Hannover, 19 Mar 2025).
How to check whether tags fire before consent
Whether your website is affected can be determined by simulating the first page visit - the state before any consent has been given. The practical steps:
- Simulate a first visit: open the page in a fresh state with no consent set, so you see exactly what a new visitor triggers.
- Watch the network requests: check whether a request to googletagmanager.com (gtm.js) goes out before the banner is answered - this fetch is the decisive point (VG Hannover, 19 Mar 2025).
- Log cookies and storage access: capture every cookie and every access to device storage that occurs before the click (Section 25 TDDDG).
- Break down third-party connections: record which domains and which countries data flows to, to assess the third-country question (Article 83 GDPR).
- Repeat regularly: a deploy, a new marketing tag or a changed container configuration can flip the state at any time - a one-off check is not enough.
In its GDPR scanner, XICTRAQ simulates a first-time visitor without cookie consent and detects every tracker, cookie and network request set before consent - including the gtm.js fetch. So you see in black and white whether your container fires before the click, instead of guessing.
Setting up consent cleanly - the right order
The technical fix is straightforward: nothing that requires consent loads before consent. This applies to the GTM container just as much as to every individual tag. This sequence has proven itself:
- Blocker first: the consent tool loads before everything else and blocks all non-essential scripts until a decision is made.
- GTM only after 'accept': the container is loaded solely once the user has actively consented - technically via an event, not via an already embedded snippet.
- Equivalent rejection: 'accept' and 'reject' stand on the first level as equals (VG Hannover, 19 Mar 2025).
- Document consent: the time, scope and version of consent are stored verifiably to be able to prove the consent (Article 6(1)(a) GDPR).
- Enable withdrawal: the user must be able to withdraw their decision as easily as they gave it.
In code this means: the standard GTM snippet in the <head> is replaced by a function that fires only after documented consent. A schematic example:
<!-- Wrong: GTM loads immediately in <head>, before any consent exists -->
<script>(function(w,d,s,l,i){/* gtm.js is loaded straight away */})(window,document,'script','dataLayer','GTM-XXXX');</script>
<!-- Right: load GTM only after documented consent -->
<script>
function loadTagManager(){
var s = document.createElement('script');
s.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-XXXX';
document.head.appendChild(s);
}
// The consent tool calls this ONLY after the visitor clicks 'Accept'
window.addEventListener('consent:granted', loadTagManager);
</script>If you would rather avoid consent-requiring cookies altogether, the article on cookieless analytics without consent banners shows an alternative route, and the fundamentals of a legally sound banner are covered in the guide to implementing cookie consent correctly.
Monitor continuously instead of checking once
A clean consent configuration is not a permanent state. It tips over precisely when no one is watching: a marketing team adds a new pixel, an update changes the container logic, a developer comments out the consent gate 'just to test'. Such regressions stay unnoticed without ongoing control, until a warning letter makes them visible.
| Aspect | One-off check | Continuous monitoring |
|---|---|---|
| Timing | manual, occasional | automatic, at fixed intervals |
| Detects new pre-consent tags | only by chance | yes, in the next run |
| Reaction after a deploy | often too late | alert within the interval |
| Evidence trail | snapshot | seamless record over weeks |
| Protection from consent drift | none | deviation triggers a notification |
Because tags are often loaded through the container, watching consent behaviour belongs together with controlling embedded scripts. The article on monitoring consent tag drift deepens the pattern, and script integrity monitoring fires when a third-party script silently changes its behaviour. Complemented by alerting across multiple channels, the snapshot becomes an early-warning system.
Uncover pre-consent tracking with XICTRAQ
After the VG Hannover ruling, the question is no longer whether Google Tag Manager requires consent, but whether your container obeys the rule. That cannot be ticked off once - every deploy, every new tag and every changed consent configuration can alter the state. That is why the check belongs in the same toolbox as running cookieless analytics, which works without consent-requiring cookies from the outset.
XICTRAQ reproduces a first visit without consent, detects every tracker and every gtm.js fetch before consent and reports deviations automatically. Combined with the GDPR scanner for mandatory pages and pre-consent trackers, you see in one place whether banner, scripts and data flows fit together. Anyone looking for a privacy-friendly analytics alternative instead of a tracker sidesteps the consent problem at its root.
Start with the free test and check what your homepage really loads on the first visit. Or see in a personal demo how pre-consent detection and alerting work together day to day.
This article draws on: VG Hannover, ruling of 19 March 2025 (case 10 A 5385/22, consent requirement for Google Tag Manager, fetching gtm.js as access to the device, equivalent 'reject all' button); Section 25(1) and Section 28(1) no. 13 TDDDG (consent requirement and fine range up to 300,000 euros); Article 6(1)(a) and Article 83 GDPR (legal basis of consent, fine range up to 20M euros / 4%); W3Techs 2026 and BuiltWith 2026 (market share of Google Tag Manager); peer-reviewed Large-Scale Web Tracking Study 2025 (compliance of consent banners, tracking before choice). Legal statements are no substitute for legal advice.