Overview
Google Tag Gateway, or GTG, is a Google feature that lets advertisers load Google tags using their own first-party infrastructure instead of loading those tags directly from a Google domain.
In a standard Google tag setup, the browser requests the Google tag from a Google domain. With Google Tag Gateway, your website loads the Google tag from your own first-party domain, and some measurement requests are sent to Google using that first-party domain. Google says GTG can be set up using a content delivery network, load balancer, or web server.
GTG can improve signal durability and give advertisers more control over their tagging infrastructure. However, it can also affect when Google tags load on your website. This is important for Google Consent Mode because consent defaults must be available before Google tags send measurement data.
When should I read this article?
Read this article if:
You use Google Tag Gateway.
You use Google Consent Mode.
Enzuzo compliance scan reports a late consent issue.
Google Tag Assistant reports that default consent was set too late.
Google tags appear to fire before your Enzuzo banner, Consent Mode default command, or IAB TCF stub is available.
You use Cloudflare, Fastly, Akamai, Google Cloud Load Balancer, Amazon CloudFront, or another CDN-based setup for Google tags.
For general Consent Mode setup, start with Google Consent Mode Quickstart.
What is a late consent signal?
A late consent signal means that a Google tag fired before the required consent controls were available on the page.
This usually means one or both of the following happened:
The Consent Mode default command loaded after a Google tag fired.
The IAB TCF stub loaded after a Google tag fired, if you use IAB TCF.
Google’s Consent Mode documentation says the default consent command should be called before commands that send measurement data, such as config or event. Google’s troubleshooting documentation also states that the website should set the default consent state before tags or other code use or update consent.
When Enzuzo detects late consent, you should first identify the affected Google tag, then check whether that tag is enrolled in Google Tag Gateway.
Why GTG can affect Consent Mode
Google Tag Gateway can change how Google scripts are loaded on your website.
This matters because Consent Mode depends on load order. Enzuzo, or your Consent Mode default command, needs to initialize before Google tags rely on consent state.
Some GTG setups use a CDN or automated integration to insert or rewrite Google tag scripts. Google notes that if you use Consent Mode, you must turn off automated script setup. Google also says automated setup can insert new scripts into your HTML, and that you should disable automated setup if you want to maintain control over your code and its placement.
Because of this, one-click CDN injection or automated GTG setup may prevent your team from fully controlling whether the CMP script, Consent Mode default command, or TCF stub loads before Google tags.
How to check whether a Google tag is enrolled in GTG
You can check GTG status in the Google product where your Google tag is managed.
Option 1: Check from Google Ads
Open Google Ads.
Click Tools.
Click Data Manager.
Under Google tag, click Manage.
Go to Admin.
Open Google tag gateway.
Google lists this as the path for accessing Google tag settings from Google Ads.
Option 2: Check from Google Analytics
Open Google Analytics.
Go to Admin.
Under Data streams, select the relevant web stream.
Click Configure tag settings.
Go to Admin.
Open Google tag gateway.
Google lists this as the path for accessing Google tag settings from Google Analytics.
Option 3: Check from Google Tag Manager
Open Google Tag Manager.
Open the relevant container.
Go to Admin.
Select Google tag gateway.
Review the domain status.
Google lists the following GTG statuses in Google Tag Manager:
Status | Meaning |
First-party | Google Tag Gateway is active. |
Not started | Google Tag Gateway has not been activated yet. |
Paused | Google Tag Gateway is paused. |
Pending | Google Tag Gateway is enabled, but diagnostic information has not been received yet. |
Option 4: Validate with Google Tag Assistant
You can also use Google Tag Assistant to confirm whether your GTG setup is working.
Open Google Tag Assistant.
Enter your website URL.
Navigate through your website to trigger Google tags.
In Summary > Output > Hits Sent, check whether hits are routed to your GTG measurement path.
Google recommends this method for validating whether GTG hits are routed through the expected measurement path.
What to do if Enzuzo detects late consent
If Enzuzo compliance scan reports late consent:
Identify which Google tag fired before consent was ready.
Check whether that tag is enrolled in Google Tag Gateway.
If GTG is not active, review your regular GTM or gtag Consent Mode setup.
If GTG is active, follow one of the remediation paths below.
Recommended path for GTG-enabled tags: use U+C / advanced Consent Mode
If a late consent signal is detected and the affected tag is enrolled in GTG, Enzuzo recommends using U+C / advanced Consent Mode for most GTG-enabled Google tag setups.
In this article, U+C means allowing Google tags to load while using Consent Mode defaults and consent updates to control tag behavior. Google refers to this more broadly as advanced Consent Mode.
With advanced Consent Mode, Google tags load when the page opens, default consent states are applied, and tags adjust behavior after the visitor makes a consent choice. Google says that when consent is denied, Google tags may send cookieless pings, and when consent is granted, tags send full measurement data.
This approach is recommended for GTG-enabled tags because it is compatible with manual GTG setups where Google tags may load early, while still allowing consent defaults and updates to control Google tag behavior.
Google also recommends unblocking Google tags when using Consent Mode to get the full benefits of Consent Mode. Google explains that if Google tags are delayed or blocked until a consent interaction occurs, modeled conversions may be less accurate and behavioral modeling in Google Analytics may be unavailable.
Important: Your Consent Mode setup should reflect your legal requirements, regional requirements, and internal privacy policies. This article is not legal advice.
Configure Data Transmission Controls according to your needs
If you adopt U+C / advanced Consent Mode with GTG, review Google’s Data Transmission Controls.
Google’s Data Transmission Controls are available in Google tag settings for Google Ads, Google Analytics, and Campaign Manager 360. Google notes that Consent Mode must be activated before Data Transmission Controls can be used.
Use these controls according to your business, measurement, and legal requirements.
Configure Global Consent Defaults according to your needs
If GTG is active and Enzuzo reports late consent, you should also review your Google tag default consent settings.
In Google tag settings, Google provides a Set consent mode override setting. This can override default consent settings in website code and set the default to denied for selected regions. Google says this can help when existing default consent commands do not take effect before Google tags load, such as when a website builder or CMS does not allow control over plugin load order.
Google also notes that this setting applies only to the tag being configured, so you must configure it for each relevant Google tag on your website.
Use Global Consent Defaults / consent mode override according to your regional consent requirements.
Alternative path: move tags into Google Tag Manager
If you need better control over script and tag order, move your Google and third-party tags into Google Tag Manager.
In this setup:
Install Google Tag Manager on your website.
Install Enzuzo GTM template.
Load Enzuzo banner in GTM through template.
Set the Enzuzo Cookie Manager tag to fire on Consent Initialization - All Pages.
Configure Google tags inside GTM.
Configure third-party tags with Enzuzo trigger and the appropriate consent checks.
Deploy GTM through Google Tag Gateway, if GTG is required for your setup.
Google says the GTM Consent Initialization trigger is designed to make sure consent settings are honored before other triggers fire, and that it fires before all other tags, including Initialization triggers.
For step-by-step setup, see Google Tag Manager (GTM) Configuration.
Alternative path: use manual GTG with controlled script order
If you cannot migrate all tags into GTM, use a manual GTG setup where your development team controls the script import order.
In this setup, your developer should make sure the page loads in the correct order:
Consent Mode default command
IAB TCF stub, if you use IAB TCF
Enzuzo CMP script and any initialization needed (see gtag Consent Mode Integration)
Google tags
Google’s developer documentation explains that GTG can be set up using first-party infrastructure such as a CDN, load balancer, or web server. Google also says that self-service GTG setup requires manually updating website tag script sources to point to the new measurement path.
Use this approach only if your team can control script order across all relevant pages.
How to verify your Consent Mode setup after making changes
After updating your setup, verify that Consent Mode is working correctly.
Use Enzuzo compliance scan, Google Tag Assistant, or GTM Preview mode to check that:
The Enzuzo banner loads on public-facing pages.
The Consent Mode default command is available before Google tags send measurement data.
The TCF stub is available before Google tags fire, if you use IAB TCF.
Consent updates occur when a visitor accepts, rejects, or changes preferences.
GTG enrollment has been reviewed for the affected tag.
Google tag hits are routed through the expected GTG measurement path, if GTG is active.
Google’s Tag Assistant documentation for Consent Mode verification recommends checking the earliest Consent event, confirming the expected Consent Mode parameters, and reviewing which tags fired or were blocked.
Summary
If Enzuzo reports late consent and the affected Google tag is enrolled in GTG, Enzuzo recommends the following order of fixes:
Recommended: Adopt U+C / advanced Consent Mode and configure Data Transmission Controls and Global Consent Defaults according to your needs.
Alternative: Move Google and third-party tags into GTM, load Enzuzo on Consent Initialization, and deploy GTM through GTG where applicable.
Alternative: Use manual GTG setup where your developer controls the script import order.
If you do not use GTG, review your regular Google Tag Manager (GTM) Configuration or gtag Consent Mode Integration setup instead.
