Pick your platform and follow the guide. Every install takes about ten minutes: one tag through Google Tag Manager, or a single line of code placed straight in your site. No rebuild, no developer.
Works on every platform below, and on any site that already runs a GTM container. One tag, imported from the Velo CMP template, fired on Consent Initialization, sets the Consent Mode v2 default before anything else loads. No code on the page.
Each guide covers both paths, the Google Tag Manager install and the direct one, with a picture of every step and a verification pass at the end, so you know the banner and Consent Mode are actually live.
Copy the prompt into Claude, ChatGPT, Cursor or any coding agent and it installs Velo for you: the right path, the right order, then the checks that prove it worked. This is the universal Google Tag Manager version — every platform guide above ends with its own, tuned to that platform.
The prompt
Paste it in as your first message, then swap your-site-id for the ID on your Velo dashboard. Everything else the agent needs is already written into it, including what to check before publishing.
Install prompt · Google Tag Manager
# Install Velo in Google Tag Manager: banner + Consent Mode v2
You are installing Velo, a consent management platform, in my Google Tag
Manager container. Velo sets the Consent Mode v2 defaults before any
other tag fires, shows the cookie banner, and records every decision.
Nothing goes into the page markup.
Ask me for these before you touch the container:
- My Velo site id. It is in the Velo dashboard. No account yet? Send me
to https://veloconsent.com/get-started and wait for the id.
- The container id, and whether I can publish or only submit for review.
- Which consent tool is live on the site today.
## The install
1. Templates → Tag Templates → New, then ⋮ → Import. Import the
template.tpl from github.com/ampliodata/velo-cmp ("Velo CMP").
2. Create a tag from that template. Set my Velo site id and pick the
light or dark theme.
3. Fire it on the "Consent Initialization – All Pages" trigger. Not
Initialization, not All Pages. Both run too late to set consent
defaults.
4. Preview, then Submit and Publish.
## Gating tags that are not Google tags
GA4, Google Ads and Floodlight need nothing extra. Their built in
consent checks hold and release them on their own. For a chat widget, a
heatmap or a pixel without Consent Mode support:
1. Create a Data Layer Variable named velo_categories. It is an object of
booleans: analytics, ads, functional, personalization.
2. Create a Custom Event trigger on velo_consent_update, with a condition
such as velo_categories.analytics equals true.
3. Put that trigger on the tag. The event also fires for returning
visitors with a stored decision, so the tag is not limited to the one
pageview where the click happened.
## Rules
- Install one path only. If the velo.js snippet is also in the page
markup, remove it. Two installs means two banners.
- Only one tool may set Consent Mode defaults. If another CMP tag is in
the container, pause it before publishing Velo. Leave no hard coded
gtag('consent', 'default', ...) in the page or in a Custom HTML tag.
- Change no other tag, trigger or variable. Tell me first if one has to
move.
## Verify, then report back
- The banner renders on a fresh load in a private window.
- Before I choose, every consent signal except security_storage is denied
from an EEA, UK or Swiss location.
- Accepting and rejecting each flip the matching signals, and a
velo_consent_update event lands in the data layer.
- Google tags stay in their cookieless mode until consent is granted, and
any tag gated by hand fires only after it.
- window.Velo is defined, and Velo.open() reopens the preferences panel.
- On a Tag Manager install, Tag Assistant shows the Velo tag firing on
Consent Initialization ahead of every other tag.
Tell me what you changed, where you changed it, and what each check
showed. If a check fails, fix it and run the checks again.
Full guide: https://veloconsent.com/google-tag-manager
More context for agents: https://veloconsent.com/llms.txt