Back to blog
AnalyticsMarch 2026 · 7 min read

Google Tag Manager and GDPR: The Tag Firing Problem

GTM itself is largely GDPR-neutral. The problem is that it's a delivery system for dozens of tracking tags, and by default, all of them fire before your cookie consent banner has been interacted with. That's the compliance gap — and it's more common than you'd think.

GTM vs GA4: Understanding the Difference

Google Tag Manager is a container — it loads on your page and then fires tags based on rules you define. Google Analytics 4 is one of those tags. The GTM snippet itself sends minimal data (it needs to fetch your tag configuration). The privacy problems come from the tags it fires.

When people say "GTM is causing GDPR issues," they usually mean their GA4 tag, their Meta Pixel tag, or their Hotjar tag is firing before consent — and GTM is how it got on the page.

The Default "All Pages" Trigger Problem

When you install a tag in GTM, the default trigger is "All Pages — Page View." This fires the moment the page loads, before your CMP has had a chance to initialize, before any consent has been collected, and before your banner has displayed.

This is the single most common GTM GDPR error. The GA4 configuration tag is set to fire on All Pages. The result: every visitor gets tracked regardless of their consent choice, because the tracking fires before the choice is presented.

Consent Mode v2: What It Does and Doesn't Do

Google's Consent Mode v2 is a framework that lets your CMP communicate consent signals to Google tags. When analytics_storage is denied, GA4 uses statistical modelling instead of direct measurement. When it's granted, full tracking resumes.

This sounds like it solves the problem. It doesn't, entirely. Even in "denied" mode, Google tags still fire — they send minimal, cookieless pings to Google for modelling purposes. Whether these pings constitute a GDPR-compliant data transfer is still debated.

More importantly: Consent Mode v2 is only meaningful if you have a CMP that actually signals consent. Enabling Consent Mode in GTM without a CMP that communicates state changes is just decorative. You need a CMP (Cookiebot, Axeptio, Usercentrics, Didomi) that integrates with GTM's Data Layer to push consent updates.

Default Consent Mode vs Advanced Consent Mode

Default Consent Mode sets the initial state before your CMP loads — typically all denied. Tags can still fire in a limited way (no cookies, aggregated signals). This is the minimum configuration.

Advanced Consent Mode requires your CMP to update the consent state in real time as users make choices. Tags adjust their behavior based on live consent signals. This provides the best balance of data collection and compliance — but requires your CMP to support it and be configured to push updates to the Data Layer.

How to Configure GTM to Fire Only After Consent

The reliable approach, regardless of Consent Mode:

The test that catches problems

Open a fresh incognito window and load your site. Open the Network tab in DevTools and filter for "google-analytics" or "gtag." If you see GA4 requests firing before you've interacted with your consent banner, you have a tag firing order problem. This is what GDPR scanners (including this one) check for.

Tags that must wait for consent

  • → Google Analytics 4 (GA4)
  • → Google Ads conversion tracking
  • → Meta Pixel / Facebook Pixel
  • → LinkedIn Insight Tag
  • → Hotjar / Microsoft Clarity (session recording)
  • → TikTok Pixel
  • → Any remarketing pixel

Check if GTM tags are firing before your consent banner

Run a free GDPR scan to detect scripts that load before consent — and get specific configuration fixes for your setup.

Run a free GDPR scan