Core functionality for Snowplow Browser trackers

Downloads in past


490743.6.019 days ago2 years agoMinified + gzip package size for @snowplow/browser-tracker-core in KB


Snowplow Browser Tracker Core
!npm versionnpm-imagenpm-url !Licenselicense-image
Browser Core module to be used by Snowplow Browser based trackers.
It should rarely be used alone, you probably want @snowplow/browser-tracker.

Maintainer quick start

Part of the Snowplow JavaScript Tracker monorepo.
Build with Node.js (14 or 16) and Rush.

Setup repository

npm install -g @microsoft/rush 
git clone https://github.com/snowplow/snowplow-javascript-tracker.git
rush update

Building Browser Tracker Core

cd libraries/browser-tracker-core
rushx build

Running tests

rushx test

Package Installation

With npm:
npm install @snowplow/browser-tracker-core


import { addTracker, createSharedState, getTracker } from '@snowplow/browser-tracker-core';

const sharedState = createSharedState();
const tracker = addTracker('snowplow_sp1', 'sp1', 'js-3.0.0', '{{collector}}', sharedState, {}); // Also stores reference at module level
const sameTracker = getTracker('snowplow_sp1');


const domainUserId = tracker.getDomainUserId();

Other features

This package contains a number of helper functions for tracking events in the browser as well as the core functionality of the Snowplow JavaScript Tracker.

Copyright and license

Licensed and distributed under the BSD 3-Clause License (An OSI Approved Licenseosi).
Copyright (c) 2022 Snowplow Analytics Ltd, 2010 Anthon Pang.
All rights reserved.