vTilt
By roleFoundersKnow what to fix firstMarketersSee what happens after the clickCMOsSee what your budget really buys
By businessSaaSTurn signups into active usersEcommerceSee why shoppers abandon cartsAgenciesProve your work to clientsEnterpriseOne customer record for every team
MeasureWeb AnalyticsFind where buyers leaveSession ReplaySee why they left, not just that they didAdsKnow what paid visitors do nextIntegrationsOne snippet feeds your stack
ThinkPeopleOne profile per customerCustomer MemoryvTilt remembers every visitorSite KnowledgeAnswers and audits from your own pages
ActAsk AIAnswers from real behaviorAI ChatChat that knows the visitorEmail CampaignsEmail from real visits
PricingWhy vTiltDocs
Docs / Web Vitals
Getting Started
OverviewInstallInitializeIdentify usersTrack eventsLogout & resetVerify eventsCommon mistakes
Guides
Event forwardingReverse proxyRealtime dashboardSite knowledge
Frontend frameworks
Next.jsNuxt.jsVue.jsReactReact RouterRemixGatsbySvelte / SvelteKitAstroAngularTanStack StartDocusaurus
Backend frameworks
NestJSHonoCloudflare WorkersDjangoFlaskLaravelPhoenixRuby on Rails
Backend languages
PythonPHPRubyElixirGoJava.NET / C#Rust
Stack guides
Vue + PHP
API Reference
Browser SDK
Script bundlesAutocaptureWeb VitalsSession recordingChat widgetFeature readinessRemote configurationDebug logging
Node SDK
Install & setupCapture, identify & aliasContext & shutdownGlobal properties & opt-outError tracking
MCP server
Guides
OverviewAuthenticationOAuthAgent skills (prompts)AI intelligenceSite knowledgeGoogle AdsMeta Ads
Client setup
CursorClaude DesktopVS CodeCodex

Getting Started

OverviewInstallInitializeIdentify usersTrack eventsLogout & resetVerify eventsCommon mistakes

Guides

Event forwardingReverse proxyRealtime dashboardSite knowledge

API Reference

Script bundlesAutocaptureWeb VitalsSession recordingChat widgetFeature readinessRemote configurationDebug logging

MCP server

On this page

On this page

  • Enable
  • Metrics captured
DocsAPI ReferenceBrowser SDKWeb Vitals

Web Vitals

Last updated July 22, 2026

Capture Core Web Vitals (LCP, CLS, FCP, INP, TTFB) for performance monitoring.

Capture Core Web Vitals — the metrics Google and most performance tools use to judge real-world user experience.

Tip

array.full.js pre-bundles web vitals with session recording so no separate web-vitals.js fetch is needed.

#Enable

Set capture_performance: true in init. The SDK lazy-loads the web-vitals library and emits one event per metric per page.

vt.init('YOUR_PROJECT_TOKEN', {
  api_host: 'https://www.vtilt.com',
  capture_performance: true,
})
typescript

#Metrics captured

MetricWhat it measures
LCPLargest Contentful Paint — when the main content is visible.
CLSCumulative Layout Shift — visual stability through page life.
FCPFirst Contentful Paint — when any content first paints.
INPInteraction to Next Paint — input responsiveness across the page.
TTFBTime to First Byte — server response latency.

Each metric is reported as a $webvitals event with the metric name, value (ms or unitless for CLS), rating (good / needs-improvement / poor) per the official Web Vitals thresholds, and the page URL.

Note

INP and CLS keep updating throughout the page lifetime; vTilt batches their final values on pagehide / visibilitychange so the reported numbers reflect the user's whole experience, not the initial paint.

PreviousAutocaptureBrowser SDKNextSession recordingBrowser SDK