/ /

Google Tag Gateway and Consent Mode

Updated last month

What is Google Tag Gateway?

Google Tag Gateway (GTG) is a Google-managed infrastructure that delivers Google tag scripts directly to your users via a Google-hosted CDN. It is designed to improve tag performance and first-party data collection.

Important: When a tag is enrolled in GTG through one-click CDN injection, the tag script is delivered by Google's CDN automatically, independently of the script order you have configured on your page. This means you may lose direct control over when the Google tag loads relative to your consent defaults and the Osano script. As a result, a Google tag enrolled in GTG via CDN injection may load before your consent signal is sent, even if your page is correctly configured.

For more details on Google Tag Gateway, refer to Google's GTG documentation.

How to Verify if a Tag is Enrolled in GTG

Before troubleshooting a consent sequencing issue, check whether the affected Google tag has been enrolled in GTG:

  1. Open Google Tag Manager and navigate to the container where the tag is configured.

  2. Select the tag and look for a "Google tag settings" or "Consent settings" panel.

  3. Check whether "Enable automatic configuration" or a GTG-related enrollment option is active.

  4. Alternatively, refer to Tag Manager Help: Configure your Google Tag Settings for step-by-step guidance on identifying enrolled tags.

Note: GTG enrollment can also be enabled at the Google Ads or Google Analytics account level, outside of GTM. If you are unsure whether GTG is active, check your Google Ads or GA4 account settings in addition to GTM.


What to Do When You Detect a Late Consent Signal

A late consent signal occurs when a Google tag fires before Osano has sent the consent default or update command to the data layer. You can identify this in the Osano debugger, the Google Consent Mode Debugger, or by inspecting the data layer (see Verify and Troubleshoot your Google Consent Mode Installation).


If you detect a late consent signal, follow these steps:

Step 1 - Verify GTG Enrollment
First, confirm whether the late tag is enrolled in GTG using the steps in the section above. The appropriate resolution depends on whether GTG is involved.


Step 2 - If GTG Enrollment is Confirmed
When GTG is the cause of the late consent signal, Advanced Consent Mode (also referred to as U+C, or "unconsented and consented") is the recommended solution. Unlike Basic Consent Mode, Advanced Consent Mode is compatible with manually configured GTG because it does not rely on blocking the tag from loading, instead, it relies on the tag respecting consent signals passed via the data layer, which GTG supports.

Choose one of the following approaches based on your setup:
Option A: Enable Advanced Consent Mode with Data Transmission Controls and Global Consent Defaults (Recommended):

  1. Ensure Google Consent Mode is enabled in your Osano configuration and that your Osano setup is using the Google-Centric (Advanced) configuration.

  2. In your Google Ads or GA4 account, configure Data Transmission Controls to restrict data transmission when consent has not been granted.

  3. Set Global Consent Defaults to reflect your desired default consent state for regions where the banner does not appear.

  4. Confirm with your Google account team or refer to Google's Data Transmission Controls documentation for setup guidance.

Option B: Migrate Tags into a GTM Container Deployed via GTG
If you are running Google tags outside of GTM, migrating them into a GTM container and then deploying that GTM container via GTG gives you control over consent sequencing within GTM's tag firing rules. Refer to Google's guidance on deploying GTM via GTG.


Option C: Configure GTG Manually to Control Load Order
If you need to set up GTG without one-click CDN injection, you can configure GTG manually so that you control when and how the tag script is imported. This approach restores your ability to enforce the correct load order (consent defaults → Osano → Google tags). Refer to Google's manual GTG setup documentation.

Note: Option A using Advanced Consent Mode is the approach most compatible with GTG out of the box, and is the option Osano recommends if you do not want to change your current GTG enrollment or tag structure.

Step 3 - If GTG Enrollment is Not Confirmed
If the affected tag is not enrolled in GTG, the late consent signal is likely a page-level sequencing issue. Return to Verify and Troubleshoot your Google Consent Mode Installation and verify that your data layer, Osano script, and Google tags are loading in the correct order.

Why Advanced Consent Mode is Recommended for GTG-Enabled Tags

With Basic Consent Mode, Osano blocks Google tag scripts from loading until the user grants consent. This tag-blocking approach is not compatible with GTG CDN injection, where the tag script is delivered by Google's infrastructure before your page scripts run.

Advanced Consent Mode works differently: the Google tag is allowed to load, but it operates in a cookie-less state until a consent signal is received. This makes it fully compatible with GTG, including manual GTG configurations, because the consent signal is communicated via the data layer rather than through whether the script loads at all.

For a full explanation of the difference between Basic and Advanced Consent Mode, see Google Consent Mode v2 — Osano-Centric vs. Google-Centric Setup.

Was this article helpful?
Subscribe to receive updates on this article