Vibiz
Vibiz
Vibiz docs
Overview
Install with an agentConsent and privacyEventsIdentify and traitsInstallPackagesVerify
Overview

Overview

Analytics and ad attribution for TypeScript and JavaScript apps.

One install in a TypeScript or JavaScript app. Pageviews, clicks, forms, time on page and ad attribution are captured for you.

npm i @vibiz/analytics
import { init } from '@vibiz/analytics';

init({ orgId: 'org_xxx' });

What it does

The job is not counting pageviews. It is capturing the identifiers an ad platform needs to attribute a sale, at the only moment they exist, and delivering the real revenue back so optimisation has something true to learn from.

page_viewEvery load, and every route change in a single page app.
page_leftTime on page, total and active, plus scroll depth.
clickOn links and buttons, with the element described.
rage_clickThree hits on one element inside a second.
leadEvery form submit, with the contact details the visitor typed.
attributionEvery UTM tag and click id on the landing URL, plus Meta identifiers.

Do not send these by hand

Adding your own pageview or click tracking on top will double count every one of them.

Why the tag has to be there first

_fbc, Meta's click id, exists only in the URL of the ad click, for the length of one page load. If nothing captures it there, no backfill, no CRM export and no support ticket will ever produce it. Everything else can be added later.

Install

Next.js, React, or Node on the server.

Events

What to send, and what is already sent for you.

Identify

Attach a person, and your onboarding answers, to a visitor.

Consent

Advertising consent, and what is kept readable vs hashed.

Verify

Prove it works, and diagnose it when it does not.

Install with an agent

Paste-ready prompt for Cursor, Claude Code, Codex.

Vibiz docs

Two products. An MCP server that gives an AI client control of your workspace, and an analytics SDK that tells you which ad produced which customer.

Install with an agent

Hand the install to a coding agent instead of wiring it by hand.

On this page

What it doesWhy the tag has to be there first