Analytics tracking is installed
Why it matters
Launching without analytics means the traffic from your Product Hunt post, Reddit thread, or paid campaign arrives invisible — you cannot tell whether anyone clicked, which pages they landed on, or where they dropped out of signup. Conversion funnels, referrer attribution, and bounce-rate signals are unrecoverable retroactively; if you add analytics a week later, that launch week stays a black hole. Product decisions default to vibes instead of data.
Severity rationale
Medium because the blind spot is durable — missed traffic data cannot be backfilled once the event passes.
Remediation
On Vercel, install @vercel/analytics and render <Analytics /> in app/layout.tsx — zero config, no cookie banner required. For a privacy-friendly alternative use Plausible via next-plausible, or PostHog for session recording and funnel analysis. Confirm the production environment variable holds a real tracking ID, not YOUR_GA_ID or phc_placeholder.
// app/layout.tsx
import { Analytics } from '@vercel/analytics/react'
export default function RootLayout({ children }) { return <html><body>{children}<Analytics /></body></html> }
Detection
-
ID:
analytics -
Severity:
medium -
What to look for: Count all analytics integrations. Enumerate which analytics services are configured (Google Analytics, Plausible, PostHog, Vercel Analytics). Check for analytics library dependencies:
@vercel/analytics,@analytics/*,next-plausible,react-ga4,@google-analytics/*,mixpanel-browser,posthog-js,segment,@amplitude/analytics-browser. Check for analytics initialization in layout components or_app.tsx. Check forNEXT_PUBLIC_GA_ID,NEXT_PUBLIC_PLAUSIBLE_DOMAIN, or similar analytics environment variables in.env.example. Check for<Script>components loading analytics providers. -
Pass criteria: An analytics library is initialized and configured in the project. The tracking ID or configuration appears to be a production value (not a placeholder like
YOUR_GA_ID). At least 1 analytics service must be configured and active in production. -
Fail criteria: No analytics library found — no visibility into whether users are arriving, what they're doing, or where they're dropping off.
-
Skip (N/A) when: Skip for internal tools, APIs, or CLI tools with no user-facing pages where analytics would be irrelevant. Skip for projects where the developer has intentionally decided not to use analytics and has documented this decision (look for a comment or note stating this).
-
Cross-reference: For error monitoring, see
error-monitoring. -
Detail on fail:
"No analytics library detected — you will have no visibility into user traffic, behavior, or conversion after launch" -
Remediation: Without analytics, you're making product decisions blind. You won't know if your launch drove any traffic, where users are dropping off, or which features they actually use:
// app/layout.tsx — analytics integration import { Analytics } from '@vercel/analytics/react' <Analytics />- Vercel Analytics is the simplest for Vercel-hosted projects:
npm install @vercel/analyticsand add<Analytics />to your root layout. Requires the Vercel Analytics addon. - Plausible is a privacy-friendly option that doesn't require cookie consent:
npm install next-plausible. - PostHog offers both analytics and product analytics (session recording, funnel analysis) with a generous free tier.
- Google Analytics 4 is free and comprehensive — use
@next/third-partiesfor Next.js integration. - Ensure the analytics tracking ID in your production environment variables is a real production ID, not a dev placeholder.
- Vercel Analytics is the simplest for Vercel-hosted projects:
Taxons
History
- 2026-04-18·v1.0.0·Initial import from pre-launch·automated