Nothing loads until the visitor says yes.
Consent Gateway is the first script on your page. It holds every other script until the visitor opts in to that script's category, with Accept and Reject at equal weight. Each choice is logged.
// first page view, before a choice { "site": "site_0000", "consent": "not given", "strictly_necessary": "loaded", "analytics": "held · 2 scripts", "advertising": "held · 5 scripts" }
Sample state. Script counts depend on your site.
Most scripts fire before anyone has chosen.
On a typical site, pixels and tags load with the page. A banner that only records a choice does not stop them.
Pixels fire with the page
Tags in the page source or a tag manager run as soon as the page loads, before the banner is even read.
A banner can record a no and still send
Many banners store the visitor's choice but leave each script to decide whether to respect it.
Nobody has the full list
Plugins, chat widgets and agencies add scripts over time. Without an inventory, you cannot say what runs on your site.
From page load to opt-in in four stops.
The gateway snippet runs first in the head, before any other script on the page.
Every other script is caught and held, and matched to a category: strictly necessary, analytics or advertising.
The banner offers Accept all and Reject all at equal weight, plus a switch per category. Nothing is pre-ticked.
Only scripts in categories the visitor opted in to load. The choice is written to the consent log.
What Consent Gateway does.
Script inventory
Every script that tries to run is listed with its source, category and status, including ones added by plugins.
Hold until opt-in
Scripts wait in the browser until the visitor opts in to their category. Declined categories never load.
Equal-weight banner
Accept all and Reject all carry the same weight, and category switches start off. You set the wording and placement.
Consent log
Each choice is recorded with the time and the banner version shown, so you can show what a visitor agreed to.
Block by policy
Mark a script as blocked and it never loads, whatever the visitor chooses. Useful for session recording on sensitive pages.
Feeds Conversion Relay
When a visitor opts in to Advertising, conversions from that visit can relay server-side. When they decline, nothing is sent.
Every script, with its status.
The inventory shows what tried to run on your site and what the gateway did with it. Banner settings sit one screen away.
Scripts
site_0000 · example.org- COMPLI3D gatewayAlways on
- Google Analytics 4Pending consent
- Meta PixelPending consent
- Session recordingBlocked by policy
- Unrecognized scriptNeeds review
Consent banner
site_0000 · banner v3- Strictly necessaryAlways on
- AnalyticsOff
- AdvertisingOff
- Accept all and Reject allEqual weight
- Time
- 14 Nov 2026, 09:40 ET
- Banner
- v3
- Analytics
- Off
- Advertising
- On
One snippet, first in the head.
Add the gateway before any other script. It holds everything that follows, so your existing tags can stay in place while you review them.
WordPress and Webflow guides<!-- First in <head>, before any other script -->
<script src="https://gateway.compli3d.ai/v1/gateway.js" data-site="site_0000"></script>Fictional site ID shown. Your dashboard gives you the snippet with your own site ID. [VERIFY SNIPPET]
About Consent Gateway.
Does it block scripts, or just record a choice?
It blocks them. Scripts are held in the browser until the visitor opts in to their category. A declined category never loads.
Do I need to remove my existing tags first?
No. Once the snippet is first in the head, the gateway holds the tags already on the page. You can then remove or move them at your own pace.
Can I change the banner's wording and look?
Yes. You set the text, the categories and the placement. Accept all and Reject all always stay at equal weight, and switches always start off.
What happens to scripts the gateway does not recognize?
They are held and marked Needs review until you assign a category or block them.
How long are consent records kept?
For the period you set. [VERIFY DEFAULT]