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, Attribution, Media Player, Ecommerce | snowplow-javascript-tracker | Script tag |
| Web (Browser) | TypeScript, JavaScript | Web | ✅ | Unified Digital, Attribution, Media Player, Ecommerce | snowplow-javascript-tracker | npm, yarn, or pnpm |
| Google Tag Manager | JavaScript | Web | ❌ | Unified Digital, Attribution, 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, Attribution, Media Player, Ecommerce | snowplow-android-tracker | Maven |
| iOS | Swift, Objective-C | Mobile (iOS), macOS, tvOS, watchOS, visionOS | ✅ | Unified Digital, Attribution, Media Player, Ecommerce | snowplow-ios-tracker | SPM or Cocoapods |
| React Native | TypeScript, JavaScript | Mobile | ✅ | Unified Digital, Attribution | snowplow-javascript-tracker | npm |
| Flutter | Dart | Mobile | ✅ | Unified Digital, Attribution, 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, Attribution | 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 |