next-analytics-installer
v0.3.1
Published
Scaffold consent-aware Microsoft Clarity and/or Google Analytics for Next.js
Maintainers
Readme
next-analytics-installer
Scaffolds consent-aware Microsoft Clarity and/or Google Analytics for a Next.js App Router project.
The implementation now lives under engine/. The published CLI still works from the package root as next-analytics-installer.
What it does
- interactively lets you install Microsoft Clarity, Google Analytics, or both
- adds
components/analyticsfiles (orsrc/components/analytics) - creates or patches
proxy.tswith analytics region cookie logic - patches
src/app/layout.tsx(orapp/layout.tsx) to mount analytics providers/components - detects
npm,pnpm,yarn, orbunfrompackageManagerand lockfiles - adds only the dependencies required for the selected providers
Usage
After publishing, run it with npx:
npx next-analytics-installer initThe default flow is interactive in a terminal. In non-interactive environments, it defaults to both providers and does not run dependency installation.
If you are working in the repository itself, the CLI source and templates are under engine/.
Examples:
npx next-analytics-installer init --project ./frontend --force
npx next-analytics-installer init --analytics ga --project ./frontend
npx next-analytics-installer init --analytics clarity --package-manager pnpm --install--project: target Next.js project directory--analytics:clarity,ga, orboth--package-manager: override detectednpm,pnpm,yarn, orbun--install: run<package-manager> installafter editingpackage.json--no-install: never run dependency installation--force: overwrite existing analytics folder files--no-layout: skip patchingapp/layout.tsx--no-proxy: skip creating or patchingproxy.ts--yes: skip prompts and use defaults
Environment variables
Set these in your app:
NEXT_PUBLIC_CLARITY_PROJECT_ID=your_clarity_id
NEXT_PUBLIC_GOOGLE_TAG=G-XXXXXXXXXXThe interactive flow can add the selected IDs to .env.local for you. Leave a value blank to skip it.
Optional toggles:
NEXT_PUBLIC_USE_GA=true
NEXT_PUBLIC_USE_ANALYTICS=true
NEXT_PUBLIC_ANALYTICS_REGION_ENDPOINT=/api/region
NEXT_PUBLIC_ANALYTICS_ALL_COUNTRIES=trueAdd more regions to show consent
if you want to show the consent screens for other regions than these ones :
Austria, Belgium, Bulgaria, Switzerland, Cyprus, Czechia, Germany, Denmark, Estonia, Spain, Finland, France, United Kingdom, Greece, Croatia, Hungary, Ireland, Iceland, Italy, Liechtenstein, Lithuania, Luxembourg, Latvia, Malta, Netherlands, Norway, Poland, Portugal, Romania, Sweden, Slovenia, Slovakia.
You can follow the guide at :
