Tracking

Tracker functions

The Umami tracker exposes a function that you can call on your website if you want more control over your tracking. By default everything is automatically collected, but you can disable automatic pageviews using data-auto-pageview="false" and send them yourself with umami.track(). Use data-auto-track="false" only if you want to disable tracker initialization entirely. See Tracker configuration.

Functions#

v2.0.0

Pageviews#

v2.0.0

Track a page view.

By default the tracker automatically collects the following properties:

PropertyDescription
hostnameHostname of server
languageBrowser language
referrerPage referrer
screenScreen dimensions (e.g. 1920x1080)
titlePage title
urlPage URL
websiteWebsite ID (required)

If you wish to send your own custom payload, pass in an object to the function:

The above will only send the properties website, url and title. If you want to include existing properties, pass in a function:

Events#

v2.0.0

Track an event with a given name.

Event Data#

v2.0.0

Track an event with dynamic data.

When tracking events, the default properties are included in the payload. This is equivalent to running:

Event Data Limits#

Event Data can work with any JSON data. There are a few rules in place to maintain performance.

Data TypeLimit
NumbersMax precision of 4.
StringsMax length of 500.
ArraysConverted to a string, max length of 500.
ObjectsMax of 50 properties. Arrays are considered 1 property.

Overriding Event Timestamps#

You can override the event timestamp by adding a UNIX timestamp in seconds to the payload:

Sessions#

v2.13.0

Pass in your own ID to identify a user.

Session Data#

v2.13.0

Save data about the current session.

To save data without a unique ID, pass in only a JSON object.