TurboJet
Analytics

Gambaran umum

Lacak page view dan event kustom dengan PostHog lewat @repo/analytics.

TurboJet menyertakan package analytics kecil yang mengintegrasikan PostHog untuk page view dan event kustom di app marketing dan docs.

Helper ada di @repo/analytics (dan @repo/analytics/client). Tidak ada switch multi-provider — PostHog adalah satu-satunya backend saat ini.

Cara memuat

Setiap app menginisialisasi PostHog dari client instrumentation Next.js:

apps/marketing/src/instrumentation-client.ts
import { initPostHogClient } from "@repo/analytics/client";

initPostHogClient();

App docs melakukan hal yang sama di apps/docs/src/instrumentation-client.ts. Saat PostHog aktif, initPostHogClient mengaktifkan capture pageview dan pageleave otomatis.

Hanya client

Jangan mengimpor @repo/analytics/client dari edge atau server instrumentation. Helper menjadi no-op jika PostHog dinonaktifkan atau token proyek kosong.

Melacak event kustom

Impor captureEvent dan panggil dari kode client:

import { captureEvent } from "@repo/analytics";

export function YourComponent() {
	return (
		<button
			type="button"
			onClick={() => captureEvent("button-clicked", { value: "asdf" })}
		>
			Click me
		</button>
	);
}
ArgumenDeskripsi
eventNama event (string)
propertiesObjek opsional berisi data event tambahan

Mengidentifikasi pengguna

Saat pengguna masuk, panggil identifyUser. Saat keluar, panggil resetUser:

import { identifyUser, resetUser } from "@repo/analytics";

identifyUser({ id: user.id, email: user.email, name: user.name });
// ...
resetUser();

Helper ini diekspor dari @repo/analytics tetapi belum dihubungkan ke UI auth secara default — panggil dari lifecycle sesi saat Anda butuh person profile.

Setup

Key env dan detail feature flag ada di Environment. Panduan provider:

Di halaman ini