Skip to content
Open workspace
Browse help topics
Debug mode

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.

4 min readReviewed 1 November 2026

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.

Example only · use your own page
https://example.com/?velo_debug=1

If 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=true to the end of the script’s src.
  • In Google Tag Manager, tick Debug mode in the Velo CMP tag.
Remove setup changes when you are done.

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.

What the debug panel reports
ItemWhat to look for
Consent defaultPass means Velo set the default before any Google tag. Late means a Google tag ran first. See A Google tag loaded before Velo.
Consent modeAdvanced means Velo sends Consent Mode commands. Basic means it sends none, and your Google tags wait for consent. See Basic and advanced consent mode.
RegionThe visitor’s region and whether it is opt-in. In an opt-in region, every signal should start as denied.
Developer IDThe Google developer ID that Velo sets. Google uses it to see which consent platform set consent.
Consent updatesOne 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 with async after gtag. 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.