TL;DR: Google tag gateway serves your Google tag from your own domain. When it is enabled through a one-click CDN integration, the tag is injected at the CDN edge and you no longer control when it loads — so script ordering cannot fix a late consent signal. Use Advanced consent mode (U+C) with Default Consent by Region, move your tags into a GTM container deployed via GTG, or set GTG up manually so you control import order.

Overview

Google tag gateway for advertisers deploys the Google tag using your own first-party infrastructure, hosted on your website's domain, instead of loading it from googletagmanager.com. Measurement events are sent to your domain and forwarded to Google from there.

Google documents two ways to set it up:

  • In-UI setup — Google configures your CDN for you. With the Cloudflare integration, you sign into Cloudflare from Google Tag Manager, choose your domains, and the tag is served from the CDN edge.

  • Self service setup — you configure your own CDN, load balancer or web server using the setup guide or the CDN instructions.

Why this affects consent

With a one-click CDN integration the Google tag is injected by the CDN, not by a <script> tag you control in your page. You therefore have no control over its load order. Moving the Consently embed script higher in <head> has no effect, because the tag is no longer being loaded by the markup you edit.

This is the one case where the script-ordering advice in 4.8 Debug Mode & Consent Timing does not apply.

How to Verify Whether a Tag Is Enrolled in GTG

Check in Google Tag Manager:

Step 1: Open your container

Go to tagmanager.google.com and select the container for your site.

Step 2: Open Google tag gateway

Navigate to AdminGoogle tag gateway.

Step 3: Read the status next to each domain

Status

Meaning

First-party

Google tag gateway is active for this domain

Pending

Enabled, but diagnostic information has not been received yet

Not started

Google tag gateway has not been activated

Paused

Google tag gateway is paused

Done!

A domain showing First-party is enrolled in GTG.

💡 Tip: You can also confirm from the browser. In DevTools → Network, an enrolled site loads its Google tag from a path on your own domain rather than from https://www.googletagmanager.com/gtag/js.

If Consent Is Late and GTG Is Confirmed

If Consently's debug panel reports late consent and you have confirmed the domain shows First-party, choose one of the following.

Option 1 — Advanced consent mode (U+C) with regional defaults · recommended

U+C (Advanced consent mode) is the recommended mechanism for GTG-enabled tags, because it is compatible with manual GTG. In Advanced mode the Google tag is permitted to load and Consently signals the consent state to it, rather than trying to prevent it from loading. Basic mode works by blocking Google tags, which is not dependable when the tag is injected by your CDN outside the page's control.

Set it up in Consently:

  1. Sites → your site → Advanced Settings → set Consent Mode to AdvancedSave Settings

  2. Cookie BannerGeneralDefault Consent by Region, then set your data transmission controls and global consent defaults according to your needs:

    • Regions requiring consent — the countries where consent must be collected before measurement

    • Grant consent for selected regions — off means those regions default to denied and all other regions default to granted; on reverses it

See 4.7 Basic vs. Advanced Google Consent Mode and 2.13 Creating a Google-Compliant Consent Banner.

Option 2 — Move your tags into a GTM container and deploy GTM via GTG

Consolidate your Google tags into a single Google Tag Manager container, install Consently using the Consently CMP template on the Consent Initialization – All Pages trigger, and deploy that container through Google tag gateway.

Google Tag Manager guarantees that Consent Initialization runs before every other tag in the container, so consent defaults are registered first regardless of how the container itself is delivered.

See 8.3 Google Tag Manager Installation.

Option 3 — Set up GTG manually so you control import order

Use Google's Self service setup rather than the one-click CDN integration, configuring your own CDN, load balancer or web server. This returns control of script import order to you, so you can ensure the Consently embed script is requested before the Google tag.

See Google's setup guide.

Verifying the Fix

With debug mode on, clear cookies and reload. In DevTools → Network, filter for collect and check the first request:

  • gcs=G100 before consent — consent defaults registered correctly

  • gcs=G111 after the visitor accepts

See the full gcs table in 4.8 Debug Mode & Consent Timing.

Success indicator: gcs=G100 on the first collect request before consent, and gcs=G111 after the visitor grants it.

What's Next

  • Debug Mode & Consent Timing — Reading the debug panel and the gcs parameter

  • Basic vs. Advanced Google Consent Mode — Why Advanced mode suits GTG-enabled tags

  • Google Tag Manager Installation — Installing via the Consent Initialization trigger

Troubleshooting

The first request still has no gcs value after switching to Advanced mode

Why this happens: The gateway request is still being made before Consently registers your consent defaults, most often because the CDN injects the tag very early in the response.

Solution: Move to Option 2 or Option 3 above, so that either Google Tag Manager or your own CDN configuration controls the ordering. If neither is possible, contact support@consently.net with a debug panel screenshot and the Network tab entry showing where your Google tag is served from.

My domain shows "Pending" rather than "First-party"

Why this happens: Google tag gateway has been enabled but has not yet received diagnostic information from your domain.

Solution: Allow time for the status to update, then re-check AdminGoogle tag gateway. Treat the domain as enrolled once it reads First-party.

Related Pages

  • Debug Mode & Consent Timing — Diagnosing consent timing problems

  • Basic vs. Advanced Google Consent Mode — How each mode behaves

  • Google Tag Manager Installation — Consent Initialization trigger setup

  • Creating a Google-Compliant Consent Banner — Regional consent defaults

  • Google Official DocumentationWhat is Google tag gateway for advertisers?