Browse help topics
Check Velo runs before your Google tags.
Turn on Velo’s debug mode to check that the Consent Mode default is set before any Google tag, and fix the order if it is not.
Turn on debug mode
Debug mode shows what Velo does on a page as it loads. It only runs where you turn it on.
The quickest way needs no code. Add velo_debug=1 to the page address and load the page.
https://example.com/?velo_debug=1If the address already has a ?, add &velo_debug=1 to the end instead.
You can also turn it on in your setup:
- Add
data-velo-debug="true"to the Velo script tag. - Add
?debug=trueto the end of the script’ssrc. - In Google Tag Manager, tick Debug mode in the Velo CMP tag.
An attribute, src parameter or GTM setting turns debug mode on for every visitor. Remove it and publish again after testing.
Read what debug mode reports
With debug mode on, a small Velo debug panel appears on the page. The same details go to the browser console, on lines that start with [Velo debug]. Open your browser’s developer tools and choose Console to see them.
| Item | What to look for |
|---|---|
| Consent default | Pass means Velo set the default before any Google tag. Late means a Google tag ran first. See A Google tag loaded before Velo. |
| Consent mode | Advanced means Velo sends Consent Mode commands. Basic means it sends none, and your Google tags wait for consent. See Basic and advanced consent mode. |
| Region | The visitor’s region and whether it is opt-in. In an opt-in region, every signal should start as denied. |
| Developer ID | The Google developer ID that Velo sets. Google uses it to see which consent platform set consent. |
| Consent updates | One entry each time the visitor makes or changes a choice, with the signals it sets. |
Test in a fresh private window, so a saved choice does not hide the first visit. Accept, reject and save a partial choice. Check that an update appears each time.
A Google tag loaded before Velo
If debug mode shows late, a Google tag ran before Velo set the Consent Mode default. That tag ran with no consent state. This is called late consent. Fix the order before you rely on your test results.
Step 1: check for Google tag gateway
Always check this first. If the late tag uses Google tag gateway, your CDN or server may add the tag to the page ahead of Velo. Moving Velo’s script tag in your code will not fix that.
To tell quickly, look at where the tag loads from. Open developer tools, choose Network and reload the page. Find gtm.js or gtag/js. If it loads from your own domain instead of googletagmanager.com, it uses tag gateway. You can also check the tag gateway status of your Google tag.
If it does, follow the recommended tag gateway setups to put Velo first.
Step 2: put Velo first
If the tag does not use tag gateway, change the order on the page.
- Direct install: move Velo’s script tag above every Google tag in the
<head>. Do not load Velo withasyncaftergtag. An async script can run after the code below it. - Google Tag Manager: fire the Velo CMP tag on Consent Initialization – All Pages, not on a page view trigger.
Reload the page with ?velo_debug=1 and check that the consent default now shows pass.
See the same check in the Scanner
The Scanner page in your Velo workspace runs the same check on every scan. Under Consent Mode, look for Consent default is set before Google tags. If it fails, follow the steps above.
Get a second opinion in Tag Assistant
Google’s Tag Assistant shows the consent state each Google tag saw. Connect it to your published website in a fresh session. The first consent event should be Velo’s default, before any Google tag fires.
See Test in Tag Assistant and Google’s guide to troubleshooting consent mode.