Overview
Vercel sells two opt-in products. Web Analytics is cookieless traffic data (pageviews, referrers, countries, devices). Speed Insights reports real-user Core Web Vitals per route. Each needs a project setting and a small package.
Enable Web Analytics in the dashboard, then install the package
Turn it on under Project Settings > Analytics, then:
npm install @vercel/analytics// app/layout.tsx (Next.js App Router)
import { Analytics } from "@vercel/analytics/next"
// ...inside <body>, after {children}:
<Analytics />Other frameworks use their own entry: import Analytics from "@vercel/analytics/astro" in an Astro layout, @vercel/analytics/react for plain React, @vercel/analytics/remix, /sveltekit, /vue, /nuxt, or inject() from @vercel/analytics elsewhere (package docs). The component records a pageview on each client-side navigation.
Know what Web Analytics collects
It is cookieless and does not fingerprint. It collects pageviews and unique visitors, referrer, country, OS, browser, device, and route-level breakdowns. It does not collect cross-session user journeys, user IDs, or form inputs. Custom events need an explicit call and are not available on Hobby:
import { track } from "@vercel/analytics"
track("upgrade_clicked", { plan: "pro" })Filter or redact URLs before they are sent with the beforeSend option; returning null drops the event.
Add Speed Insights for per-route Core Web Vitals
npm install @vercel/speed-insightsimport { SpeedInsights } from "@vercel/speed-insights/next"
// ...inside <body>:
<SpeedInsights />It reports LCP, INP, CLS, FCP, and TTFB from real users, unlike a one-off Lighthouse run. INP replaced FID as the responsiveness vital in March 2024. Read the p75 value, not the average, when diagnosing; thresholds and SEO impact are in technical.
Budget events before traffic grows
Prices checked October 2026 on the Web Analytics and Speed Insights pricing pages.
Web Analytics counts pageviews and custom events together, shared across all projects in the team:
- Hobby: 50,000 events per month, 1-month reporting window. At the limit, collection pauses after a 3-day grace period; you are never billed.
- Pro: no included events, $0.03 per 1,000 events (subject to the Pro monthly usage credit), 12-month window, custom events with 2 properties each.
- Web Analytics Plus (Pro add-on, $10 per team per month): 24-month window, UTM parameters, 8 properties per custom event.
Speed Insights has two tiers:
- Free on every plan: Real Experience Score only, with 10,000 events over a rolling 30 days shared across the team. When the team exceeds it, collection pauses for at least 14 days.
- Speed Insights Plus (Pro and Enterprise): all five vitals, full breakdowns, and Drains. On Pro it costs 0.65 per 10,000 events, with no included events.
At high traffic, lower the sampleRate on @vercel/speed-insights before switching tools, and compare Plausible, Fathom, or PostHog for long-term analytics. Cloudflare Web Analytics is free and cookieless (cloudflare).
Keep preview and test traffic out of the quota
Previews fire pageviews like production, so QA and load tests burn events. Render the component only in production:
{process.env.VERCEL_ENV === "production" && <Analytics />}VERCEL_ENV is set by Vercel to production, preview, or development; see vercel-env-vars for system variables.