Track generic site timings on web
Use the trackTiming method to track user timing events such as how long resources take to load. This method is provided as part of the site-tracking plugin.
Timing events must be manually tracked.
Install plugin
- JavaScript (tag)
- Browser (npm)
| Tracker Distribution | Included |
|---|---|
sp.js | ✅ |
sp.lite.js | ❌ |
Download:
| Download from GitHub Releases (Recommended) | Github Releases (plugins.umd.zip) |
| Available on jsDelivr | jsDelivr |
| Available on unpkg | unpkg |
Note: The links to the CDNs above are pinned to a specific version at the time of writing. Check the plugin's GitHub releases for newer versions, and update the pinned version when you upgrade.
window.snowplow('addPlugin',
"https://cdn.jsdelivr.net/npm/@snowplow/browser-plugin-site-tracking@4.10.2/dist/index.umd.min.js",
["snowplowSiteTracking", "SiteTrackingPlugin"]
);
npm install @snowplow/browser-plugin-site-trackingyarn add @snowplow/browser-plugin-site-trackingpnpm add @snowplow/browser-plugin-site-tracking
import { newTracker, trackPageView } from '@snowplow/browser-tracker';
import { SiteTrackingPlugin, trackSiteSearch } from '@snowplow/browser-plugin-site-tracking';
newTracker('sp1', '{{collector_url}}', {
appId: 'my-app-id',
plugins: [ SiteTrackingPlugin() ],
});
Timing event
Use the trackTiming method to track how long something took. Here are its arguments:
| Name | Required? | Description | Type |
|---|---|---|---|
category | Yes | Timing category | string |
variable | Yes | Timed variable | string |
timing | Yes | Number of milliseconds elapsed | number |
label | No | Label for the event | string |
An example:
- JavaScript (tag)
- Browser (npm)
snowplow('trackTiming', {
category: 'load',
variable: 'map_loaded',
timing: 50,
label: 'Map loading time'
});
import { trackTiming } from '@snowplow/browser-plugin-site-tracking';
trackTiming({
category: 'load',
variable: 'map_loaded',
timing: 50,
label: 'Map loading time'
});
Timing events are implemented as Snowplow self describing events. Here is the schema for a timing event.