For AI agents: a Markdown version of this page is at https://docs.snowplow.io/docs/sources.md. The index of all documentation pages is at https://docs.snowplow.io/llms.txt, and the index for this section is at https://docs.snowplow.io/docs/cdi/llms.txt.
Snowplow sources overview
- Cloud: available
- Private Managed Cloud: available
- Self-Hosted: available
- Add-on: not available
Tracker SDKs are included with all Snowplow platforms.
Find out more about Snowplow CDI and product availability, or contact Support to upgrade.
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).
Compare trackers
This matrix shows which features each tracker supports, and its maintenance group. Use the filters to narrow it to one platform or tier. Each filtered view has its own URL, for example ?category=mobile. For the latest version of each tracker, see tracker versions.
| Tracker | Support tier | Latest version | Page or screen views | Activity tracking | Built-in entities | Anonymous tracking | Media | Ecommerce | Consent | Snowtype |
|---|---|---|---|---|---|---|---|---|---|---|
| Web (JavaScript and Browser), JavaScript, TypeScript | Actively maintained | 4.8.0 | Page and screen: Screen views with the screen tracking plugin | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| Google Tag Manager, JavaScript | Actively maintained | Page | Yes | Yes | Yes | No | Yes: With the ecommerce tag template | Yes | Yes | |
| Google AMP, HTML | Maintained | 1.1.0 | Page | Yes | Yes | No | No | No | No | No |
| Pixel, HTML | Maintained | 0.3.0 | Page | No | No | No | No | No | No | No |
| WebView, JavaScript, TypeScript | Early release | 0.3.0 | Page and screen | No | No: The native tracker it forwards to adds its own | No | No | Partial | No | No |
| Android, Kotlin, Java | Actively maintained | 6.2.0 | Screen | Yes: Screen engagement, since 6.0.0 | Yes | Yes | Yes | Yes | Yes | Yes |
| iOS, Swift, Objective-C | Actively maintained | 6.2.1 | Screen | Yes: Screen engagement, since 6.0.0 | Yes | Yes | Yes | Yes | Yes | Yes |
| React Native, TypeScript, JavaScript | Actively maintained | 4.8.0 | Page and screen | Yes: Screen engagement, on mobile | Yes | Partial: Version 4 supports server-side anonymization only | No | Yes: With the ecommerce plugin | Partial: Basic consent events | Yes |
| Flutter, Dart | Early release | 0.11.1 | Page and screen: Page views on web only | Yes | Yes | Yes | Yes | No | Partial: Basic consent events | Yes |
| Roku, BrightScript | Actively maintained | 0.4.0 | Screen | No | Yes | Yes | Yes | No | No | No |
| Unity, C# | Actively maintained | 0.8.1 | Page and screen | No | No | Yes | No | Partial | No | No |
| Node.js, TypeScript, JavaScript | Actively maintained | 4.8.0 | Page and screen | No | No | Partial: Server-side anonymization only | No | No | No | Yes |
| Python, Python | Early release | 1.0.3 | Page and screen | Partial: Page pings tracked manually | No | No | No | No | No | No |
| Golang, Go | Actively maintained | 3.1.0 | Page and screen | No | No | No | No | Partial | No | Yes |
| Java, Java | Maintained | 2.1.0 | Page and screen | No | No | No | No | Partial | No | Yes |
| .NET, C# | Maintained | 1.3.0 | Page and screen | No | Partial: Session entity | No | No | Partial | No | No |
| C++, C++ | Actively maintained | 2.0.0 | Screen | No | Partial: Session and desktop entities | No | No | No | No | No |
| Scala, Scala | Maintained | 2.0.0 | Page | No | No | No | No | Partial | No | No |
| Ruby, Ruby | Actively maintained | 0.8.0 | Page and screen | No | No | No | No | Partial | No | No |
| PHP, PHP | Early release | 0.9.2 | Page and screen | No | No | Partial: Server-side anonymization only | No | Partial | No | No |
| Rust, Rust | Early release | 0.2.0 | Screen | No | No | No | No | No | No | No |
| Lua, Lua | Actively maintained | 0.2.0 | Screen | No | No | No | No | No | No | No |
| Tracking CLI, Command line | Unsupported | No | No | No | No | No | No | No | No |
- Support tier
- Maintenance group. See the tracker maintenance classification
- Page or screen views
- A method to track page view or screen view events
- Activity tracking
- Page pings on web, screen engagement on mobile
- Built-in entities
- Entities attached automatically, such as web page, session, device, or screen
- Anonymous tracking
- Track without user or session identifiers, client side or server side
- Media
- Built-in media player events (Media v2)
- Ecommerce
- Snowplow ecommerce events for products, carts, and checkouts. Partial: transaction events (tr, ti) only
- Consent
- Built-in consent events
- Snowtype
- Snowtype can generate tracking code for this tracker
Client-side trackers
| Tracker | Language | Used in | 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 | 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 |