Quickstart: Set Up VibesAnalytics Step by Step

This is the hands-on path from zero to live analytics on your own site — no npm install required. You'll register, connect GA4, install first-party event tracking with a single script tag, wire up Telegram digests, and generate SEO/GEO files so your site is discoverable by search engines and AI answer engines. Every step uses the dashboard plus a copy-paste snippet, so it works even if your stack can't add an npm dependency yet.

Fastest path — let your agent do it. If you code with an AI agent (Claude Code, Cursor, Windsurf, Claude Desktop), connect the hosted MCP once and then just say "set up analytics with VibeTraker" (or run the setup_analytics prompt). The agent calls vibetraker_get_setup_plan to read your project's real state and then drives every step below for you — registering, scaffolding SEO/GEO, reading your codebase to place the tracking calls, and reporting your metrics. See Connect the VibesAnalytics MCP. The manual steps below are the no-agent alternative (and a useful reference for what the agent is doing).

1. Register

Create a workspace at vibesanalytics.com/signup with your email and a password — no credit card, free for up to 2 projects. You land on your Projects dashboard with an empty workspace.

Then create a project. Projects are created through the API or the MCP server (there's no form yet), so the quickest path is to grab an API key at Settings → API Keys (click Create Key, copy the vt_live_… value — it's shown once) and POST to the projects endpoint:

curl -X POST https://vibesanalytics.com/api/v1/workspaces/<workspace_id>/projects \
  -H "Authorization: Bearer vt_live_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"My Site","platform_type":"web","framework":"nextjs","app_type":"saas","domain":"yoursite.com"}'

The response includes your project id and its public ingest_key (vt_ingest_…). Set domain to your real site host — it's what the SEO/GEO step in section 5 uses.

Pick app_type to match your product — it selects which events get seeded into your funnel. ecommerce-lite seeds an add_to_cartpurchase_completed funnel; saas, subscription, consumer, and content seed the signup → trial → subscription funnel instead. Both share the session / signup / login / purchase spine, so the required events (section 3) are the same either way.

2. Connect GA4

Go to Connections and click Connect Google. Grant access, and VibesAnalytics auto-discovers your GA4 properties and Firebase projects — no manual measurement-ID hunting. Attaching a discovered GA4 property to your project lets the nightly pipeline pull normalized web metrics alongside your owned events. See Connect Google Analytics 4 for the full walkthrough.

Owned events (section 3) give you data immediately even with nothing connected, but connecting GA4 — and Search Console (section 5) — is part of the full setup: together they give you the real, multi-source picture (owned + organic + GA4-native), not just owned events. Wire both. The only reason to skip a provider is if you genuinely can't grant Google access.

3. Install owned events (no npm)

Add the hosted tracking script to your site's <head>, then fire events. This uses the VibeTraker global from our CDN script — no package to install.

<script src="https://vibesanalytics.com/vibetraker.iife.js"></script>
<script>
  VibeTraker.init({
    ingestKey: "vt_ingest_…",            // your project's public ingest key
    apiUrl: "https://vibesanalytics.com" // where events are sent
  });
  // session_started maps to "sessions"; fire it on load.
  VibeTraker.track("session_started", { path: location.pathname });
</script>

init() auto-captures a pageview, UTMs, and bot detection. Fire the canonical events at their real moments — for example, after a successful signup:

VibeTraker.identify(userId); // opaque id, never an email
VibeTraker.track("signup_completed", { method: "email" });

The required events are session_started, signup_completed, and purchase_completed. To see the full taxonomy with exact call sites, fetch your project's integration contract (GET /api/v1/workspaces/<w>/projects/<p>/contract) — it returns every event, where to place it, and a copy-paste snippet. Read more in Integration Contracts Explained.

Verify it's flowing: GET /api/v1/workspaces/<w>/projects/<p>/validate-tracking reports which required events have been seen. When all_required_seen is true, tracking is live and your project page starts showing metrics, tracking health, and insights.

4. Connect Telegram

On Connections, click Connect Telegram. You'll get a one-time deep link — open it in Telegram and tap Start within 15 minutes to link your workspace. After that, your nightly insight digest is pushed to that chat, and you can run /today, /insights, /projects, and /help on demand. Use /unlink to disconnect.

5. Map your site for SEO/GEO

Generate drop-in SEO/GEO files so your site is crawlable by classic search engines (Google, Bing) and cited by AI answer engines (ChatGPT, Perplexity, Claude, Google AI Overviews). Open your project page and expand the SEO / GEO panel, or call the API:

curl "https://vibesanalytics.com/api/v1/workspaces/<w>/projects/<p>/seo-scaffold?domain=yoursite.com" \
  -H "Authorization: Bearer vt_live_…"

You get paste-ready files: a robots.txt that explicitly allows AI crawlers and points at your sitemap, an llms.txt template that maps your key pages for AI engines, and a sitemap.xml starter. For Next.js projects you also get idiomatic app/robots.txt/route.ts, app/sitemap.ts, and app/llms.txt/route.ts handlers — pick either the static files or the handlers, not both.

The sitemap is a homepage-only starter: add one entry per page on your site, then submit https://yoursite.com/sitemap.xml in Google Search Console and Bing Webmaster Tools so search and AI engines discover your pages.

Next steps