Visitors allows you to send custom events to track user actions and conversions.
Sends a custom event.
visitors.track("signup", {
source: "footer",
})The name of the event you want to track.
Optional object containing event properties
Any additional custom properties for this event.
Track clicks declaratively using HTML data attributes. No JavaScript required.
Add data-visitors-event to any clickable element (buttons, links, etc.):
<button data-visitors-event="Signup">
Get Started
</button>Add additional data-visitors-* attributes to include event properties:
<button
data-visitors-event="Signup"
data-visitors-plan="Pro"
data-visitors-source="hero"
>
Get Started
</button>This sends a Signup event with properties { plan: "Pro", source: "hero" }.
For form submissions, it's best to use visitors.track() in your submit handler after validation succeeds. For example:
const handleSubmit = async (e) => {
e.preventDefault()
const result = await submitForm(data)
if (!result.success) return
visitors.track("signup", {
source: "footer",
})
}This ensures you only track successful submissions and events aren't tracked for failed validation failures.