Skip to main content

useTrack

What is an Event in Matomo?

An Event in Matomo is any user interaction you want to track:

  • Button click
  • Form submit
  • Link click
  • Anything you choose

Every event has:

  • Category (string)
  • Action (string)
  • Name (string, optional)
  • Value (number, optional)

Using useTrack()

The useTrack() hook gives you:

const { track } = useTrack();

You can then call:

track("cat.click", {
name: "Clicked Cat",
value: 1,
});

Why use useTrack?

✅ Type-safe — only valid event keys
✅ IDE autocomplete
✅ No magic strings
✅ Auto queueing if Matomo not ready


Example component

const LikeButton = () => {
const { track } = useTrack();

const handleClick = () => {
track("cat.click", {
name: "Like Button",
value: 1,
});
};

return <button onClick={handleClick}>Like</button>;
};