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 / Overview
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

MCP server

On this page

On this page

  • Integration path
  • Using these docs with an AI agent
  • Agent checklist
  • What to wire up next
DocsGetting StartedOverview

Overview

Last updated July 22, 2026

Get vTilt running in minutes — install the script stub, initialize, identify users, track events, and verify in Debug View.

vTilt is a privacy-first analytics platform for any web app. The browser SDK installs at window.vt, batches events to your project, and can forward them to Google Tag, Meta CAPI, PostHog, and GA4.

Follow the Getting Started path in order — each page links to the next via prev/next at the bottom of the article.

#Integration path

StepPageWhat you do
1InstallAdd the SDK via the inline script stub (recommended default) or the npm package — both fully supported
2InitializeCall vt.init('YOUR_PROJECT_TOKEN', { … }) once, as early as possible
3Identify usersvt.identify() on every authenticated page load — not only at login
4Track eventsvt.capture() for domain actions; autocapture handles UI clicks
5Logout & resetresetUser() only on real sign-out
6Verify eventsConfirm $pageview in Debug View within ~2 seconds
7Common mistakesPitfalls to avoid before you ship

Tip

Already-logged-in users are the #1 integration bug. Read Identify users before you ship if your app has auth.

#Using these docs with an AI agent

Every page is also raw markdown — use the Copy menu on any doc page.

URLWhen to use it
/llms-full.txtPaste once; agent ingests the full integration spec
/llms.txtShort index (llmstxt.org); agent fetches pages on demand
/docs/<slug>.mdSingle page in context

If you connect vTilt MCP, invoke /vtilt:setup first — curated walkthrough (script stub, page-load identify, logout-only resetUser).

#Agent checklist

  1. Prefer the inline script stub from Install — it queues calls before array.js loads and always uses the latest SDK. Use the @v-tilt/browser npm package only if the repo is already bundled with it. Never load both.
  2. vt.init() once, early
  3. identify() on every authenticated page load
  4. resetUser() only when getUserState() === 'identified' and user is null after auth loads
  5. Verify in Debug View
Integrate vTilt into my <stack> app. Read https://YOUR-HOST/llms-full.txt.
Prefer the inline script from /docs/getting-started/install; use the
@v-tilt/browser npm package only if my app already bundles it. Don't load both.
Follow /docs/getting-started/common-mistakes.
text

#What to wire up next

TopicPage
Your stack (Next.js, Laravel, …)Integration guides
Event forwarding (GA4, Meta, PostHog)Event forwarding
Ad-blocker resistant ingestReverse proxy
Autocapture, recording, chatAPI Reference
Server-side eventsNode SDK
AI agent tools (VQL, memory)MCP server
Website crawl for AI contextSite knowledge
NextInstallGetting Started