Skip to content
StackQuay

Playbook · Analytics

Vercel Web Analytics — weekly traffic notes

Turn on Web Analytics, then write a short weekly recap from Dashboard numbers only.

2026-10-16

This page vs deploy vs agent setup

This page measures. Vercel preview deploy hosts. Vercel agent toolchain wires the plugin, MCP, and AI Gateway. Installing analytics does not create a project, and the plugin does not produce a traffic recap.

This page (analytics + recap)Deploy siblingAgent sibling
Measure visitors and optional RES; weekly recap habitHost a preview, then promote when you are readyAgent toolchain: plugin + MCP + AI Gateway
Outcome: Dashboard numbers → honest weekly recapOutcome: clickable *.vercel.app previewOutcome: agents know Vercel and can call MCP tools
STOP: inventing visitor countsSTOP: domain purchase + promote to productionSTOP: OAuth / API keys / prod actions via MCP

Who it’s for / not for

ForNot for
People with a Vercel site who want a weekly note from real Dashboard numbersReaders who only need a preview URL → Vercel preview deploy
Agent-led ops: bot drafts the recap shell; human enables Analytics, deploys the package, and pastes Dashboard numbersInventing visitor counts
Operators who want privacy-friendly, cookie-less page analytics built into VercelInventing visitor counts, or treating this page as privacy law advice

Stack (spine + observability)

Optional later: custom events (Pro+), Web Analytics Plus UTM, Speed Insights Drains, and Observability Plus. Copy numbers from the Dashboard you can see.

  • Web Analytics — anonymized visitors, page views, bounce rate, and panels; no cookies; hash resets daily (analytics, quickstart)
  • `@vercel/analytics` — Next.js App Router mounts <Analytics /> from @vercel/analytics/next in the root layout
  • Speed Insights (optional) — Real Experience Score on the free tier; full Core Web Vitals need Plus (speed insights)
  • `@vercel/speed-insights` — <SpeedInsights /> from @vercel/speed-insights/next beside Analytics
  • Dashboard — Project → Analytics / Speed Insights after deploy and real visits
  • Pricing — Hobby Web Analytics includes 50,000 events/month; overage pauses collection, it does not invent zeros (limits). Speed Insights free tier is RES; Plus unlocks FCP/LCP/INP/CLS/TTFB (SI limits)

Bot vs human

Bot doesHuman must do
Draft this playbook, the weekly recap template, and SEOEnable Web Analytics in the Vercel Dashboard for the hub project
Suggest install and layout snippets from official docsInstall packages, commit the wiring, and deploy per the deploy playbook STOP rules
Leave numbers blank until you paste themCopy Visitors, top pages, and the date range; never invent
Remind you to copy Dashboard numbers onlyCopy the numbers from the Dashboard. Do not invent visitors
Never invent uniques, email counts, or “viral” claimsConfirm Hobby/Pro limits if collection pauses; upgrade the plan yourself if you need a higher cap

Numbered steps

  1. Confirm a Vercel project and a deploy path. The hub must already build (Vercel preview deploy). Analytics collects after a deployment that includes the package. An empty Dashboard before real visits is normal. Agent plugin and MCP are a different page: Vercel agent toolchain.
  2. Enable Web Analytics in the Dashboard (quickstart). Project → Analytics → Enable. Enabling adds /_vercel/insights/* routes on the next deployment. The human clicks Enable.
  3. Install `@vercel/analytics` and mount it. npm i @vercel/analytics. App Router: import Analytics from @vercel/analytics/next and render <Analytics /> in the root layout. Pages Router uses the same package in _app. Other frameworks: use the matching export on the quickstart page. Human verifies the framework tab.
  4. Optional Speed Insights. npm i @vercel/speed-insights and render <SpeedInsights /> from @vercel/speed-insights/next next to Analytics. The free tier is RES. Full Core Web Vitals need Speed Insights Plus — human verifies Billing. Do not quote LCP/INP/CLS unless Plus is actually on.
  5. Deploy so the scripts ship. Preview first. Promote to production when you are ready. After deploy, the Network tab should show an analytics request. No visits yet means empty panels, not a bug.
  6. Read the Dashboard honestly. Visitors are unique for the selected range; identity is a daily hash, not a cookie, and it resets each day. Page views can count the same visitor more than once. Bounce rate is single-page sessions over total sessions. Panels cover top pages, referrers, country, OS, and device. Record the date range and whether the numbers are Preview or Production.
  7. Fill the weekly recap from the Dashboard only. Note the date range, unique visitors, page views, bounce rate, and the top pages. Leave a cell blank until you can paste the number. Do not invent visitors.
  8. STOP. Do not invent or round up visitors. An empty panel is not “zero forever”. If the Hobby cap pauses collection, say so.

Failure modes / caveats

  • Wrong sibling — this page does not create a Vercel project and does not install the agent plugin.
  • Enabled in Dashboard but package not deployed — little or no data.
  • Mixing preview and production — label the environment.
  • Daily hash ≠ cookie-based GA users — do not compare them blindly.
  • Hobby 50k events/month — shared across projects; pause after the grace period when exceeded.
  • Speed Insights Plus — quoting LCP/INP/CLS without Plus may be wrong for the plan.
  • Custom events — Pro+; do not assume funnels on Hobby.
  • Dashboard is the source of truth. Do not scrape session cookies.

Newsletter CTA

Write the recap from Dashboard numbers only. Do not invent visitors.

Human must verify

  1. Web Analytics Enable is on the correct Vercel project.
  2. @vercel/analytics (and optional @vercel/speed-insights) is deployed on the environment you will cite.
  3. Every recap number matches the Dashboard for the stated date range and environment.
  4. Current Hobby/Pro event limits, and whether collection is active or paused.
  5. Whether Speed Insights shows RES only or Plus metrics on your plan.
  6. The email signup figure comes from Resend, or is explicitly “not tracked yet”.
  7. Every cited number matches the Dashboard.
  8. Promote to production when you are ready.

Doc gaps

Intake paths can vary by package version. Confirm pricing in Billing. Copy numbers from the Dashboard you can see.

Docs cited

Related playbooks