Vibiz

Events

What to send yourself, and what the tag already sends for you.

Send what the browser cannot see for itself. Recognised names map onto the standard events of the ad platforms, which is what lets a conversion reach campaign optimisation. An unlisted name is kept as your own custom event rather than renamed.

Send purchases as purchases, not proxies

Reporting add_to_cart or begin_checkout as a conversion teaches ad platforms to find people who start checkouts and abandon them, which is exactly who they will then deliver.

Conversions

Revenue, or the promise of it. These are the events worth optimising toward.

Intent

Steps toward a sale. Optimisable, but not revenue.

Engagement and identification

From your server

The same names, sent with @vibiz/analytics/node. Properties go under properties; who the event is about goes on the call itself.

import { track } from '@vibiz/analytics/node';

await track({
  orgId: process.env.VIBIZ_ID,
  event: 'purchase',
  visitorId: order.visitorId,
  userId: order.customerId,
  eventId: `purchase-${order.id}`,
  properties: { value: 4200.5, currency: 'EUR', order_id: order.id },
});

order_id already deduplicates a purchase the browser sent too. Add eventId only when the same occurrence is also reported under an id you chose, such as a Meta pixel on the page given that same value.

There is no identify on the server: each call says who it is about. userId becomes Meta's external_id, and contact carries contact details and traits, under the same consent rule as the browser.

await track({
  orgId: process.env.VIBIZ_ID,
  event: 'sign_up',
  userId: user.id,
  contact: { email: user.email, phone: user.phone, plan: 'pro' },
  advertisingConsent: user.adsConsent === true,
});

Without advertisingConsent: true, only the traits (plan here) are sent. A call needs at least one of visitorId, userId or contact; with none of them it returns { ok: false } instead of sending an event nobody can be matched to.

Sent for you

Do not send these by hand. Adding your own on top double counts every one.

Property

Type

Properties outside an ad platform vocabulary, such as plan or method, are stored and reportable in Vibiz. They are simply not forwarded.

On this page