Analytics sans cookies pour Next.js en 2 minutes
Ajoutez des analytics produit sans cookies à un projet Next.js (App Router) : installation, un seul appel à init, puis le suivi des événements qui comptent.
Par NightOwl · Mis à jour le · 1 min de lecture
L’installation en trois étapes#
- 1
Installer le SDK
Terminal npm i @shipabase/js.env.local NEXT_PUBLIC_SHIPABASE_KEY=SB-EU-xxxxxxxxxx - 2
Appeler init une seule fois, côté client
app/providers.tsx "use client"; import { useEffect } from "react";import { init } from "@shipabase/js"; export function Providers({ children }: { children: React.ReactNode }) { useEffect(() => { init(process.env.NEXT_PUBLIC_SHIPABASE_KEY!); }, []); return <>{children}</>;}Dans
app/layout.tsx, enveloppez{children}avec<Providers>. N’appelez jamaisinitdans un Server Component. - 3
Suivre ce qui compte
n’importe quel composant client import { trackEvent } from "@shipabase/js"; trackEvent("project_created", { plan: "pro" });- Nommez les événements en
snake_case, au formatobject_verb, au passé :signup_completed,invoice_sent. - 5 à 15 événements, c’est l’ordre de grandeur habituel. Suivez des actions, pas chaque clic.
- Gardez des props anonymes : offre, nombre, variante. Jamais d’e-mails ni d’identifiants utilisateur.
- Nommez les événements en
Pour le Pages Router et la référence complète, voir le guide d’installation Next.js.
Pourquoi pas de bandeau cookies ?#
Le SDK ne stocke rien dans le navigateur : ni cookies, ni localStorage. Les visiteurs sont comptés avec un hash anonyme qui change chaque jour. Tous les détails dans comment les visiteurs sont comptés.
FAQ
Est-ce que ça marche avec le Pages Router de Next.js ?
Oui. Appelez init dans un useEffect de pages/_app.tsx.
Les pages vues sont-elles suivies automatiquement dans Next.js ?
Oui, depuis @shipabase/js 0.4, y compris les changements de route côté client dans l’App Router.


