Documentation
Frameworks
Pick your framework
| Framework | Package | Guide |
|---|---|---|
| Next.js | c15t (c15t/next) | Next.js quickstart |
| TanStack Start | c15t (c15t/tanstack-start) | TanStack Start quickstart |
| React | c15t (c15t/react) | React quickstart |
| Nuxt | c15t (c15t/vue Nuxt module) | Nuxt quickstart |
| Vue | c15t (c15t/vue/vue-plugin) | Vue quickstart |
| Astro | c15t (c15t/astro) | Astro quickstart |
| Svelte | @c15t/svelte | Svelte quickstart |
| SvelteKit | @c15t/svelte | SvelteKit quickstart |
| HTML, a CMS, a page builder or a static site generator | @c15t/browser from a script tag | HTML quickstart |
| JavaScript with a bundler, or your own UI | @c15t/browser, or c15t (c15t/runtime) | JavaScript quickstart |
Not sure which setup your rendering mode needs? Choose your setup maps each app shape, such as a Next.js static export or a prerendered SvelteKit site, to a guide.
Install the right package
Most frameworks use one package, c15t, and import the framework entry point:
c15t/next, c15t/react, c15t/vue (the Nuxt module), c15t/vue/vue-plugin
(plain Vue), c15t/astro or c15t/tanstack-start.
You do not need @c15t/nextjs or @c15t/react as well; c15t depends on
them.
Svelte and SvelteKit use their own package, @c15t/svelte. HTML pages and the
stock UI in JavaScript use @c15t/browser. Vendor script helpers are a separate
install, @c15t/integrations, in every framework.
v3 is published under the alpha tag. Install c15t@alpha; a plain
c15t install still gets v2.
After the quickstart
A banner on screen does not mean analytics wait for consent. Move existing scripts into c15t, replace embeds that load on their own, and keep a link to reopen preferences. Then verify the integration.