Guides

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 · Mis à jour le · 1 min de lecture

L’installation en trois étapes#

  1. 1

    Installer le SDK

    Terminal
    npm i @shipabase/js
    .env.local
    NEXT_PUBLIC_SHIPABASE_KEY=SB-EU-xxxxxxxxxx
  2. 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 jamais init dans un Server Component.

  3. 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 format object_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.

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.

À lire aussi