Plugins
The Javascript Tracker is based around a plugin architecture which allows new functionality to be added to the tracker. There are a number of Snowplow maintained plugins, however you are also free to build your own or leverage community plugins too.
All plugins
The following table lists the Snowplow plugins (alphabetical order), what kinds of data are created using them, and their distribution for the JavaScript (sp.js
file or minimal version) and Browser (npm
etc. package) trackers. Read more about configuring plugins here or on the individual pages.
If you are using the JavaScript tracker with the full sp.js
and your plugin is included, no further installation or initialization is required. You can use it straight away.
Plugin | Creates | Tracked | sp.js | sp.lite.js | Package name |
---|---|---|---|---|---|
Ads | Events | Manual | ✅ | ❌ | browser-plugin-ad-tracking |
Button click | Events | Automatic | ❌ | ❌ | browser-plugin-button-click-tracking |
Client Hints | Entities | Automatic | ✅ | ❌ | browser-plugin-client-hints |
Consent (Enhanced) | Events and entities | Manual | ❌ | ❌ | browser-plugin-enhanced-consent |
Consent (original) | Events and entities | Manual and automatic | ✅ | ❌ | browser-plugin-consent |
Debugger | Other | n/a | ❌ | ❌ | browser-plugin-debugger |
Ecommerce (Snowplow) | Events and entities | Manual | ❌ | ❌ | browser-plugin-snowplow-ecommerce |
Ecommerce (Enhanced) | Events | Manual | ✅ | ❌ | browser-plugin-enhanced-ecommerce |
Ecommerce (original) | Events | Manual | ✅ | ❌ | browser-plugin-ecommerce |
Errors | Events | Manual and automatic | ✅ | ❌ | browser-plugin-error-tracking |
Event Specifications | Entities | Automatic | ❌ | ❌ | browser-plugin-event-specifications |
Forms | Events | Automatic | ✅ | ❌ | browser-plugin-form-tracking |
GA cookies | Entities | Automatic | ✅ | ❌ | browser-plugin-ga-cookies |
Geolocation | Entities | Automatic | ✅ | ❌ | browser-plugin-geolocation |
Kantar Focal Meter | Other | n/a | ❌ | ❌ | browser-plugin-focalmeter@focalmeter_plugin |
Link click | Events | Automatic | ✅ | ❌ | browser-plugin-link-click-tracking |
Media (Snowplow) | Events and entities | Manual | ❌ | ❌ | browser-plugin-media |
Media (HTML) | Events and entities | Automatic | ❌ | ❌ | browser-plugin-media-tracking |
Media (Vimeo) | Events and entities | Automatic | ❌ | ❌ | browser-plugin-vimeo-tracking |
Media (Youtube) | Events and entities | Automatic | ❌ | ❌ | browser-plugin-youtube-tracking |
Optimizely X | Entities | Automatic | ✅ | ❌ | browser-plugin-optimizely-x |
Performance navigation timing | Entities | Automatic | ❌ | ❌ | browser-plugin-performance-navigation-timing |
Performance timing (original) | Entities | Automatic | ✅ | ❌ | browser-plugin-performance-timing |
Privacy Sandbox | Entities | Automatic | ❌ | ❌ | browser-plugin-privacy-sandbox |
Site* | Events | Manual | ✅ | ❌ | browser-plugin-site-tracking |
Timezone | Other | Automatic | ❌ | ❌ | browser-plugin-timezone |
Web vitals | Events | Automatic | ❌ | ❌ | browser-plugin-web-vitals |
Events | Automatic | ❌ | ❌ | browser-plugin-browser-features |
*The site tracking plugin provides events for site search, social media interactions, and timing.
You can find the plugins code here and also search for them on npmjs.com.
Browser features plugin (deprecated)
Deprecated: This plugin is deprecated. The navigator.mimeTypes
API which this tracker uses is now deprecated and modern browsers may no longer populate these values.
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 (latest) |
Available on unpkg | unpkg (latest) |
Note: The links to the CDNs above point to the current latest version. You should pin to a specific version when integrating this plugin on your website if you are using a third party CDN in production.
window.snowplow('addPlugin',
"https://cdn.jsdelivr.net/npm/@snowplow/browser-plugin-browser-features@3/dist/index.umd.min.js",
["snowplowBrowserFeatures", "BrowserFeaturesPlugin"]
);
npm install @snowplow/browser-plugin-browser-features@3
yarn add @snowplow/browser-plugin-browser-features@3
pnpm add @snowplow/browser-plugin-browser-features@3
import { newTracker, trackPageView } from '@snowplow/browser-tracker';
import { BrowserFeaturesPlugin } from '@snowplow/browser-plugin-browser-features';
newTracker('sp1', '{{collector_url}}', {
appId: 'my-app-id',
plugins: [ BrowserFeaturesPlugin() ],
});
trackPageView();
Tracked data
This plugin will add MIME Type tracking. This allows the tracker to populate the f_*
fields within the canonical event model.