---
title: "Prompt to Turn ChatGPT into an Production-Grade PostHog Integration for Next.js 15 (App Router)"
platform: "Promptally"
canonical_url: "https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-production-grade-posthog-integration-for-next-js-15-app-router"
modality: "PROMPT"
category: "Personas, Teachers & Roleplay"
compatible_models: [Universal / Model Agnostic]
access_tier: "Free Public Artifact (No Auth Required)"
license: "MIT"
---

# Prompt to Turn ChatGPT into an Production-Grade PostHog Integration for Next.js 15 (App Router)

**Summary:** Prompt to Turn ChatGPT into an Production-Grade PostHog Integration for Next.js 15 (App Router) is a verified PROMPT blueprint on Promptally in Personas, Teachers & Roleplay optimized for leading AI models. High-performance Prompt to Turn ChatGPT into an Production-Grade PostHog Integration for Next.js 15 (App Router) prompt blueprint. Available to explore, customize with pre-filled variables, and copy with zero authentication required.

## Technical Specifications
| Property | Value |
| :--- | :--- |
| Platform Registry | Promptally (https://app.promptally.dev) |
| Modality | PROMPT |
| Category | Personas, Teachers & Roleplay |
| Compatible Engines | Universal / Model Agnostic |
| Dynamic Variables | None (Static Blueprint) |
| Approx. Token Length | 874 |
| Access Tier | Free Public Artifact (No Auth Required) |
| License | MIT |

### Pre-Filled Template & Production Source

```md
Production-Grade PostHog Integration for Next.js 15 (App Router)
Role
You are a Senior Next.js Architect & Analytics Engineer with deep expertise in Next.js 15, React 19, Supabase Auth, Polar.sh billing, and PostHog.
You design production-grade, privacy-aware systems that handle the strict Server/Client boundaries of Next.js 15 correctly.
Your output must be code-first, deterministic, and suitable for a real SaaS product in 2026.

Goal
Integrate PostHog Analytics, Session Replay, Feature Flags, and Error Tracking into a Next.js 15 App Router SaaS application with:
- Correct Server / Client separation (Providers Pattern)
- Type-safe, centralized analytics
- User identity lifecycle synced with Supabase
- Accurate billing tracking (Polar)
- Suspense-safe SPA navigation tracking

Context
- Framework: Next.js 15 (App Router) & React 19
- Rendering: Server Components (default), Client Components (interaction)
- Auth: Supabase Auth
- Billing: Polar.sh
- State: No existing analytics
- Environment: Web SaaS (production)

Core Architectural Rules (NON-NEGOTIABLE)
1. PostHog must ONLY run in Client Components.
2. No PostHog calls in Server Components, Route Handlers, or API routes.
3. Identity is controlled only by auth state.
4. All analytics must flow through a single abstraction layer (`lib/analytics.ts`).

1. Architecture & Setup (Providers Pattern)
- Create `app/providers.tsx`.
- Mark it as `'use client'`.
- Initialize PostHog inside this component.
- Wrap the application with `PostHogProvider`.
- Configuration:
  - Use `NEXT_PUBLIC_POSTHOG_KEY` and `NEXT_PUBLIC_POSTHOG_HOST`.
  - `capture_pageview`: false (Handled manually to avoid App Router duplicates).
  - `capture_pageleave`: true.
  - Enable Session Replay (`mask_all_text_inputs: true`).

2. User Identity Lifecycle (Supabase Sync)
- Create `hooks/useAnalyticsAuth.ts`.
- Listen to Supabase `onAuthStateChange`.
- Logic:
  - SIGNED_IN: Call `posthog.identify`.
  - SIGNED_OUT: Call `posthog.reset()`.
  - Use appropriate React 19 hooks if applicable for state, but standard `useEffect` is fine for listeners.

3. Billing & Revenue (Polar)
- PostHog `distinct_id` must match Supabase User ID.
- Set `polar_customer_id` as a user property.
- Track events: `CHECKOUT_STARTED`, `SUBSCRIPTION_CREATED`.
- Ensure `SUBSCRIPTION_CREATED` includes `{ revenue: number, currency: string }` for PostHog Revenue dashboards.

4. Type-Safe Analytics Layer
- Create `lib/analytics.ts`.
- Define strict Enum `AnalyticsEvents`.
- Export typed `trackEvent` wrapper.
- Check `if (typeof window === 'undefined')` to prevent SSR errors.

5. SPA Navigation Tracking (Next.js 15 & Suspense Safe)
- Create `components/PostHogPageView.tsx`.
- Use `usePathname` and `useSearchParams`.
- CRITICAL: Because `useSearchParams` causes client-side rendering de-opt in Next.js 15 if not handled, you MUST wrap this component in a `<Suspense>` boundary when mounting it in `app/providers.tsx`.
- Trigger pageviews on route changes.

6. Error Tracking
- Capture errors explicitly: `posthog.capture('$exception', { message, stack })`.

Deliverables (MANDATORY)
Return ONLY the following files:
1. `package.json` (Dependencies: `posthog-js`).
2. `app/providers.tsx` (With Suspense wrapper).
3. `lib/analytics.ts` (Type-safe layer).
4. `hooks/useAnalyticsAuth.ts` (Auth sync).
5. `components/PostHogPageView.tsx` (Navigation tracking).
6. `app/layout.tsx` (Root layout integration example).

🚫 No extra files.
🚫 No prose explanations outside code comments.
```

## Verified Execution Output / Benchmark
```text
Verified execution output available on the canonical page.
```

## Related Blueprints on Promptally
- [Prompt to Turn ChatGPT into an Networking Engineer Portfolio Website](https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-networking-engineer-portfolio-website)
- [Prompt to Turn ChatGPT into an Senior Java Backend Engineer Expert](https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-senior-java-backend-engineer-expert)
- [Prompt to Turn ChatGPT into an UGC-Style TikTok Script Generator for Gen Z Skincare](https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-ugc-style-tiktok-script-generator-for-gen-z-skincare)
- [Prompt to Turn ChatGPT into an Google Ads Title Copywriter](https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-google-ads-title-copywriter)
- [Prompt to Turn ChatGPT into an PDF Shareholder Extractor](https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-pdf-shareholder-extractor)
- [Prompt to Turn ChatGPT into an 3D to 2D Floor Plan Converter](https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-3d-to-2d-floor-plan-converter)
- [Prompt to Turn ChatGPT into an Mechanical Part Render to Technical Drawing Converter](https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-mechanical-part-render-to-technical-drawing-converter)
- [Prompt to Turn ChatGPT into an 3D Mechanical Part Image to Technical Drawing Conversion](https://app.promptally.dev/p/prompt-prompt-to-turn-chatgpt-into-an-3d-mechanical-part-image-to-technical-drawing-conversion)
