c15t is the stronger fit when consent determines which vendors and features can run. It combines the banner, preferences, policy state and vendor integrations with a record backend.
react-cookie-consent gives you a customisable React bar, cookie helpers and callbacks. It is a useful small component when your application already owns the rest of the consent system.
<include src="../shared/comparisons/inth-hosting.mdx" />
| What you need | c15t | react-cookie-consent |
|---|---|---|
| Show a consent banner | Policy-aware framework components | Configurable React bar |
| Offer category and vendor preferences | Built-in controls | Build the rest of the preference flow |
| Decide whether a feature can run | Effective permissions and vendor state | Connect callbacks and the cookie value to your own rules |
| Control vendor scripts | Registered integrations and consent rules | Build the loader behaviour around callbacks |
| Keep remote records | Inth hosts the backend and stores records in its database. Self-hosting is optional | Build a backend integration |
| Handle policy changes | Policy resolution and recorded choices | Supply your own policy logic |
| Reopen preferences | Preference dialog and persistent access | Visibility and cookie-reset helpers |
| Customise presentation | Themes, component parts or headless UI | Styles, classes, content and button props |
Sources: README and npm package.
Custom application code can extend the component. Those extensions are work that the component itself does not supply.
With c15t, your team can read whether a feature can run from the same state that drives the consent interface. Register analytics or embeds through c15t integrations.
This gives the application a shared model for first visits, saved choices and later withdrawal. You still need to remove unconditional loaders.
A callback that starts analytics after acceptance also needs to handle rejection, reload and withdrawal. c15t supplies those integration points as part of its consent runtime.
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.