Vertex

Docs

Track events

Events are the atoms of Vertex: a name, a user, a timestamp and a bag of properties. Everything else — funnels, retention, alerts — is derived from them.

The track call

Call vertex.track with an event name and an optional properties object. Names are case-sensitive; properties can be strings, numbers or booleans and become filterable dimensions in every report.

js
vertex.track('signup', {
  plan: 'growth',
  referrer: 'lorem-newsletter',
  trialDays: 14,
});

Identify users

Anonymous visitors get a device id automatically. Once someone logs in, call vertex.identify with your own stable user id — Vertex stitches the anonymous history onto the identified profile so funnels survive the login boundary.

js
vertex.identify('user_1024', {
  plan: 'starter',
  company: 'Dolorsoft',
  signupAt: '2026-06-01',
});

Naming conventions

Pick one convention on day one and enforce it in code review; renaming events later splits your history. We recommend lowercase object-verb names.

Good: 'invoice-paid', 'funnel-created', 'report-shared'. Avoid: 'Clicked The Big Green Button', 'event27', 'tmp-test-final-2'.

Server-side events

Anything that happens outside a browser — webhooks, cron jobs, payments — should be sent from your backend with a secret key. Server events merge with browser events on the same userId.

bash
curl -X POST https://api.lorem.example/v1/events \
  -H "Authorization: Bearer $VERTEX_API_KEY" \
  -d '{"event": "invoice-paid", "userId": "user_1024", "properties": {"amountCents": 2900}}'