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 |
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 |
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 |
*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.