Trackers - collecting data from your own applications
Snowplow trackers are client- or server-side libraries that enable you to collect events from your own applications.
All Snowplow trackers have open-source licenses (Apache 2.0 License, except for the JavaScript tracker which is BSD 3-Clause License). You can find the source code for each tracker on GitHub, where possible.
The JavaScript tracker repository is a multirepository containing the Web (JavaScript and Browser), Node.js, and React Native trackers.
For tracking events from third-party applications, use our webhooks.
Client-side trackers
Tracker | Language | Used in | Snowtype? | Supported data models | GitHub | Installed using |
---|---|---|---|---|---|---|
Web (JavaScript) | TypeScript, JavaScript | Web | ✅ | Unified Digital, Media Player, Ecommerce | snowplow-javascript-tracker | Script tag |
Web (Browser) | TypeScript, JavaScript | Web | ✅ | Unified Digital, Media Player, Ecommerce | snowplow-javascript-tracker | npm, yarn, or pnpm |
Google Tag Manager | JavaScript | Web | ❌ | Unified Digital, Ecommerce | n/a | Tag Template Gallery |
Google AMP | HTML | AMP HTML webpages | ❌ | n/a | Script tag | |
Pixel | HTML | Email, web environments where JavaScript is unavailable | ❌ | n/a | Script tag | |
Google Analytics Plugin | HTML | Web | ❌ | n/a | Script tag | |
Android | Kotlin, Java | Mobile | ✅ | Unified Digital, Media Player, Ecommerce | snowplow-android-tracker | Maven |
iOS | Swift, Objective-C | Mobile (iOS), macOS, tvOS, watchOS, visionOS | ✅ | Unified Digital, Media Player, Ecommerce | snowplow-ios-tracker | SPM or Cocoapods |
React Native | TypeScript, JavaScript | Mobile | ✅ | Unified Digital | snowplow-javascript-tracker | npm |
Flutter | Dart | Mobile | ✅ | Unified Digital, Media Player | snowplow-flutter-tracker | pub.dev |
Roku | BrightScript, BrighterScript | Media player applications | ❌ | Media Player | snowplow-roku-tracker | npm |
WebView | TypeScript, JavaScript | Hybrid mobile applications | ❌ | Unified Digital | snowplow-webview-tracker | npm or script tag |
Server-side trackers
Tracker | Language | Snowtype? | GitHub | Installed using |
---|---|---|---|---|
Node.js | TypeScript, JavaScript | ✅ | snowplow-javascript-tracker | npm |
Python | Python | ❌ | snowplow-python-tracker | PyPI |
Golang | Go | ✅ | snowplow-golang-tracker | GitHub |
Java | Java | ✅ | snowplow-java-tracker | Maven |
.NET | C# | ❌ | snowplow-dotnet-tracker | NuGet |
Unity | C# | ❌ | snowplow-unity-tracker | GitHub |
C++ | C++ | ❌ | snowplow-cpp-tracker | CMake |
Scala | Scala | ❌ | snowplow-scala-tracker | Maven or JCenter |
Ruby | Ruby | ❌ | snowplow-ruby-tracker | RubyGems |
PHP | PHP | ❌ | snowplow-php-tracker | Packagist |
Rust | Rust | ❌ | snowplow-rust-tracker | crates.io |
Lua | Lua | ❌ | snowplow-lua-tracker | LuaRocks |
Tracking CLI | Command line, shell scripts | ❌ | snowplow-tracking-cli | GitHub |