tsk_live_…. It is publishable — it ships in your JavaScript bundle by design, and it
cannot read or change anything in your workspace.
1. Install
Trevo. Pin the exact
version in production:
2. Initialise
Once, as early as your app boots:identify() when you know who the user is — usually right after login:
identify() later can move
someone from one variant to another. Call it as early as you can, and before rendering
anything you are testing.
3. Read a variant
getVariant() is synchronous and does no network call — assignment is a local hash of
the user’s identity and the experiment key. The same user always gets the same variant.
It returns 'control' for an experiment key it does not recognise, so shipping this code
before the experiment exists in Trevo is safe.
Calling getVariant() also records an exposure — “this user saw this variant”. That
is the denominator for your results, so only call it where the user genuinely sees the
thing. To read an assignment without recording an exposure:
4. Record a conversion
Nothing is tracked automatically. A conversion exists only where you write one:trevo.flush() exists if you want to force it.
5. Check it arrived
Open Data → Events in your workspace. Your event should appear within a few seconds. If nothing shows up, see No events arriving.What to do next
- Using React?
install/reacthas a provider and a hook that handle initialisation for you. - On Next.js?
install/nextjsresolves variants on the server so the first paint is already correct — no flash of the control version. - Tracking conversions on a backend?
install/node. Server-side events are immune to ad blockers and closed tabs, which improves the numbers for your browser experiments too. - Multiple variants?
defineExperiment()gives you a typed union and makes an unhandled variant a compile error. See Browser API.