A CMP you won't
have to fight
One async script, sensible APIs, standard signals. Clickio Consent installs in under an hour, exposes consent state where you need it, and stays out of your performance budget.
Trusted by 2,000+clients worldwide
Integration surface
One tag
A single asynchronous script serves the dialog, manages state and exposes the standard __tcfapi interface. No build-step changes.
Consent events
Consent state lands in the dataLayer as clickio_consent_update events. Trigger anything on them, in GTM or your own code.
Script gating
Gate any inline or external script with type="text/clickiocmp" and a category attribute, and Clickio activates it when consent allows.
Standard signals
IAB TCF 2.4 TC strings, GPP strings for US frameworks, and Google Consent Mode v2: all emitted automatically, consumed by everything downstream.
GTM template
Prefer everything in Tag Manager? The Clickio template installs the CMP and wires consent state without touching site code.
Integrations →Mobile SDKs
iOS, Android, Flutter and React Native SDKs bring the same consent flow and signals in-app (Pro+ and above).
In-App SDKs →Performance & correctness
Respects Core Web Vitals
Asynchronous loading and fast delivery infrastructure keep the CMP off your critical path.
Verifiable
Automated Consent Mode v2 validation flags misconfigured signals, so you see problems before an auditor or ad network does.
Consent Mode v2 →Scanner-checked
The Cookie Scanner diffs what your pages actually set against what's disclosed, catching the marketing tag someone added last sprint.
Cookie Scanner →Install in three steps
Drop the tag
Add the Clickio script to your templates, or install the GTM template.
Gate non-standard scripts
TCF vendors and Google tags react automatically; gate anything else via attribute or GTM trigger.
Verify
Run the scanner, watch consent events in the console, and check Consent Mode validation. Ship.
Frequently asked questions
How do I read consent state programmatically?
Through the standard __tcfapi interface for TCF data, or by listening for Clickio's clickio_consent_update dataLayer events, which carry per-category consent state.
How do I block a script until consent?
Change its type to text/clickiocmp and add the category attribute; Clickio flips it to executable JavaScript when that category is consented. GTM triggers are the alternative for tag-managed stacks.
Does the CMP block page rendering?
No. The script loads asynchronously and the dialog renders without blocking your content. The tag is built to publisher performance budgets.
Is there a staging-friendly workflow?
Yes: install on staging with the same tag, verify behavior with the scanner and console events, then reuse the configuration in production.
What about single-page apps?
The CMP manages state across route changes; consent events fire when state changes, so SPA code can subscribe once and react.
One tag, standard signals: install Clickio Consent this afternoon.
The integration surface (tag, events, gating) is the same on every plan. TCF and Consent Mode signals are included on every plan, and GPP for US state laws from Starter.
