Home

Awesome

Browser and Node.js analytics for Snowplow

actively-maintained Release License Build Status Saucelabs Test Status

snowplow-logo

Snowplow is a scalable open-source platform for rich, high quality, low-latency data collection. It is designed to collect high quality, complete behavioral data for enterprise business.

To find out more, please check out the Snowplow website and our documentation.

Snowplow JavaScript Trackers Overview

The Snowplow JavaScript Trackers allow you to add analytics to your websites, web apps and Node.js applications when using a Snowplow pipeline.

With these trackers you can collect user event data (page views, e-commerce transactions etc) from the client-side and server-side tiers of your websites and web apps.

Technical documentation can be found for each tracker in our Documentation.

@snowplow/browser-tracker (npm)

Technical DocsSetup Guide
i1i2
Technical DocsSetup Guide

@snowplow/javascript-tracker (tag based)

Technical DocsSetup Guide
i3i4
Technical DocsSetup Guide

@snowplow/node-tracker (npm)

Technical DocsSetup Guide
i5i6
Technical DocsSetup Guide

Maintainers

Contributing
i7
Contributing

Maintainer quick start

Assuming git, Node.js 18 - 20 are installed.

Clone repository

git clone https://github.com/snowplow/snowplow-javascript-tracker.git

Install gitleaks

To commit with safety in the repository, preventing sensitive key leakage, we use gitleaks. Gitleaks runs as a pre-commit hook making sure it can prevent accidental committing of sensitive data.

To install gitleaks, you can follow the getting started section on the repository.

For open source users before the update, you might need to re-run rush install to update your git hooks from source.

:warning: To disable gitleaks check, you can run your commit command with the SKIP=gitleaks variable. e.g. SKIP=gitleaks git commit -m "Unsafe commit".

Building

npm install -g @microsoft/rush
rush update
rush build

Testing

To run unit tests:

rush test

To run e2e browser tests (locally):

cd trackers/javascript-tracker/
rushx test:e2e:local

Sauce Labs Test Status

Copyright and license

Licensed and distributed under the BSD 3-Clause License (An OSI Approved License).

Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang.

All rights reserved.