c15t is the stronger fit when your application needs more than browser preferences. It connects framework components, consent rules, vendor integrations and a backend for records.
CookieConsent is a capable browser library with granular controls and custom styles. It installs as vanilla-cookieconsent. It is a separate project from c15t.
<include src="../shared/comparisons/inth-hosting.mdx" />
| What you need | c15t | CookieConsent v3 |
|---|---|---|
| Use consent in framework components | Native adapters and reactive state | Browser library with framework setup recipes |
| Show preferences | Category and vendor controls | Category controls and individual service switches |
| Resolve consent in Next.js | Server, streamed and browser paths | Browser setup. Its React example starts in an effect |
| Keep remote consent records | Inth hosts the backend and stores records in its database. Self-hosting is optional | Send records to your own backend through callbacks |
| Change the interface | Themes, component parts and headless APIs | Modal options, CSS and custom content |
| Control scripts | Registered integrations, request rules and embeds | Script attributes and service callbacks |
| Clear cookies after withdrawal | Optional category rules. Vendor-only refusal needs separate cleanup | Category and service cookie cleanup |
| Use Google Consent Mode | Documented Google tag and GTM integrations | Documented Consent Mode implementation |
| Pay for software | No licence fee. Backend costs remain | No licence fee. Any record backend is your responsibility |
Sources: setup, configuration, consent records, script controls and Google Consent Mode.
CookieConsent's record guide leaves the request to your own backend. That route works, but your team must supply storage, delivery and retrieval.
c15t gives you a backend protocol and implementation. The interface can use that consent state without a separate record system designed from scratch.
Check browser state and saved records separately. c15t applies a visitor's choice locally before the backend confirms it. Failed submissions have retry and expiry limits.
See the consent state guide for those conditions.
Switch a category off. Its vendors wait.
42 of 42 running
Always loads and gets consent signals.
- Cloudflare Zaraz, always loads and gets consent signals
- Google Tag Manager, always loads and gets consent signals
- Google Tag, always loads and gets consent signals
- Databuddy, always loads and gets consent signals
- Mixpanel, always loads and gets consent signals
- PostHog, always loads and gets consent signals
- Microsoft UET, always loads and gets consent signals
- Ahrefs Analytics
- Adobe Analytics
- Amplitude
- Cloudflare Web Analytics
- Microsoft Clarity
- Fathom Analytics
- Heap
- Matomo Analytics
- OneDollarStats
- Hotjar
- Hightouch
- LogRocket
- Plausible Analytics
- Promptwatch
- Pirsch
- RudderStack
- Segment
- Rybbit Analytics
- Umami Analytics
- Vercel Analytics
- Klaviyo
- Clearbit
- Meta Pixel
- OpenAI Pixel
- Pinterest Tag
- Reddit Pixel
- TikTok Pixel
- LinkedIn Insight Tag
- Snapchat Pixel
- X Pixel
- YouTube
- Crisp
- Front Chat
- Intercom
- Google Maps
Import each helper from @c15t/integrations.
Paste this line into your agent. It reads the setup brief and does each step.
The setup brief is at /SKILL.md. For the docs, agents can read /llms.txt and /llms-full.txt, or use the MCP server at with no sign-in.
The CLI plans the setup. You check the plan, then apply it.
To do each step yourself, read the quickstart. To get JSON results for scripts and agents, read the automation guide.
Inth hosts the backend, the policy rules and the IAB CMP ID.