Snowplow sources overview
Snowplow supports a wide range of sources which send events to your Collector endpoint.
Snowplow tracker SDKs are client- or server-side libraries that enable you to collect events from your own applications. For tracking events from third-party applications, use webhooks.
If you use Snowplow CDI, a coding agent connected to the Snowplow MCP server can choose the right tracker for your application, add it, and check that the events arrive in your pipeline. For example: "Add Snowplow tracking to this app for the events in our tracking plan, and confirm they reach my development pipeline."
Install the Snowplow MCP server and skills in your coding agent, such as Claude Code, Cursor, or Codex, with npx plugins add snowplow/skills. In Console, the Snowplow Assistant has the same tools.
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.
All Snowplow trackers have open-source licenses (Apache 2.0 License, except for the JavaScript tracker which is BSD 3-Clause License).
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 | |
| 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 (deprecated, see Snowplow CLI) | Command line, shell scripts | ❌ | snowplow-tracking-cli | GitHub |
Webhooks
| Webhook | Track |
|---|---|
| Adjust | Which marketing channels are driving mobile app installations |
| Iglu | Any Iglu-compatible GET or POST request |
| Iterable | Events provided by Iterable |
| MailGun | Email activity logged by MailGun |
| Mandrill | Email activity logged by Mandrill |
| SendGrid | Email activity logged by SendGrid |
| Zendesk | Events logged by Zendesk |