Browse help topics
Use tag gateway and keep consent first.
Use Google tag gateway for advertisers with Velo, and make sure Velo sets the Consent Mode default before a gateway-served Google tag runs.
What tag gateway does
Google tag gateway for advertisers serves your Google tags, such as gtm.js and gtag.js, from your own domain instead of googletagmanager.com. Measurement goes through your domain too. Your CDN, load balancer or server forwards it to Google.
Google offers one-click setup through Cloudflare, Akamai and Fastly. You can also set it up manually.
For setup steps and health checks, see Google tags and tag gateway and Google’s tag gateway documentation.
Why it matters for consent
Velo sets the Consent Mode default as soon as velo.js runs. The default includes wait_for_update: 500, so Google tags wait up to 500 milliseconds for the visitor’s choice.
With one-click CDN setup, the CDN can add the Google tag to your pages at the edge, ahead of Velo’s script. The tag then starts before Velo sets the default, with no consent state. This is called late consent.
One-click injection often takes control of the load order away from you, so moving Velo’s script in your own code will not fix it.
Velo’s debug mode and the Scanner both flag a late tag.
Check whether a tag uses tag gateway
- Google’s settings: the Google tag, Google Ads, Google Analytics and Google Tag Manager each show a tag gateway status, such as Active, Pending, Paused or Not started.
- Network panel: open your browser’s developer tools, choose Network and reload the page. If
gtm.jsorgtag/jsloads from your own domain, the tag uses tag gateway. - Tag Assistant: the tag sends its hits to your own domain.
Recommended setups
If debug mode shows a late consent default and the tag uses tag gateway, work through these in order.
Advanced consent mode, also called U+C, is the recommended setup for tags served through tag gateway. It is compatible with manual tag gateway setup, and Google tags keep following the consent state whatever order they load in.
- Keep advanced consent mode (U+C). This is Velo’s default. Google tags keep sending cookieless pings while consent is denied. Turn on Google’s Data Transmission Controls and Global Consent Defaults to match your needs.
- Use one GTM container. Put your Google tags in one Google Tag Manager container served through tag gateway. Fire the Velo CMP tag on Consent Initialization – All Pages. Velo then sets its defaults before any other tag fires.
- Set up gtag.js manually. If you add gtag.js in your page code, set tag gateway up manually, not with one-click injection. Put Velo’s script tag above the gateway-served Google tag in the
<head>. - Control CDN injection. If your CDN injects the Google tag, set it to inject Velo’s script first. Or exclude the Google tag from injection and add it to your pages yourself.
Velo’s own script still loads from Velo. That is expected.
Check the result
Open your page with ?velo_debug=1 in a fresh private window. The debug panel should show the consent default as pass. If it shows late, follow A Google tag loaded before Velo.
Then repeat the Tag Assistant test with accept, reject and partial choices.