Sponsored Content
Skip to main content

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

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.

Add a tracker with your AI assistant

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.

23 items
Tracker features
TrackerSupport tierLatest versionPage or screen viewsActivity trackingBuilt-in entitiesAnonymous trackingMediaEcommerceConsentSnowtype
Web (JavaScript and Browser), JavaScript, TypeScriptActively maintained4.8.0Page and screen: Screen views with the screen tracking pluginYesYesYesYesYesYesYes
Google Tag Manager, JavaScriptActively maintainedPageYesYesYesNoYes: With the ecommerce tag templateYesYes
Google AMP, HTMLMaintained1.1.0PageYesYesNoNoNoNoNo
Pixel, HTMLMaintained0.3.0PageNoNoNoNoNoNoNo
WebView, JavaScript, TypeScriptEarly release0.3.0Page and screenNoNo: The native tracker it forwards to adds its ownNoNoPartialNoNo
Android, Kotlin, JavaActively maintained6.2.0ScreenYes: Screen engagement, since 6.0.0YesYesYesYesYesYes
iOS, Swift, Objective-CActively maintained6.2.1ScreenYes: Screen engagement, since 6.0.0YesYesYesYesYesYes
React Native, TypeScript, JavaScriptActively maintained4.8.0Page and screenYes: Screen engagement, on mobileYesPartial: Version 4 supports server-side anonymization onlyNoYes: With the ecommerce pluginPartial: Basic consent eventsYes
Flutter, DartEarly release0.11.1Page and screen: Page views on web onlyYesYesYesYesNoPartial: Basic consent eventsYes
Roku, BrightScriptActively maintained0.4.0ScreenNoYesYesYesNoNoNo
Unity, C#Actively maintained0.8.1Page and screenNoNoYesNoPartialNoNo
Node.js, TypeScript, JavaScriptActively maintained4.8.0Page and screenNoNoPartial: Server-side anonymization onlyNoNoNoYes
Python, PythonEarly release1.0.3Page and screenPartial: Page pings tracked manuallyNoNoNoNoNoNo
Golang, GoActively maintained3.1.0Page and screenNoNoNoNoPartialNoYes
Java, JavaMaintained2.1.0Page and screenNoNoNoNoPartialNoYes
.NET, C#Maintained1.3.0Page and screenNoPartial: Session entityNoNoPartialNoNo
C++, C++Actively maintained2.0.0ScreenNoPartial: Session and desktop entitiesNoNoNoNoNo
Scala, ScalaMaintained2.0.0PageNoNoNoNoPartialNoNo
Ruby, RubyActively maintained0.8.0Page and screenNoNoNoNoPartialNoNo
PHP, PHPEarly release0.9.2Page and screenNoNoPartial: Server-side anonymization onlyNoPartialNoNo
Rust, RustEarly release0.2.0ScreenNoNoNoNoNoNoNo
Lua, LuaActively maintained0.2.0ScreenNoNoNoNoNoNoNo
Tracking CLI, Command lineUnsupportedNoNoNoNoNoNoNoNo
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​

TrackerLanguageUsed inSupported data modelsGitHubInstalled using
Web (JavaScript)TypeScript, JavaScriptWebUnified Digital, Attribution, Media Player, Ecommercesnowplow-javascript-trackerScript tag
Web (Browser)TypeScript, JavaScriptWebUnified Digital, Attribution, Media Player, Ecommercesnowplow-javascript-trackernpm, yarn, or pnpm
Google Tag ManagerJavaScriptWebUnified Digital, Attribution, Ecommercen/aTag Template Gallery
Google AMPHTMLAMP HTML webpagesn/aScript tag
PixelHTMLEmail, web environments where JavaScript is unavailablen/aScript tag
AndroidKotlin, JavaMobileUnified Digital, Attribution, Media Player, Ecommercesnowplow-android-trackerMaven
iOSSwift, Objective-CMobile (iOS), macOS, tvOS, watchOS, visionOSUnified Digital, Attribution, Media Player, Ecommercesnowplow-ios-trackerSPM or Cocoapods
React NativeTypeScript, JavaScriptMobileUnified Digital, Attributionsnowplow-javascript-trackernpm
FlutterDartMobileUnified Digital, Attribution, Media Playersnowplow-flutter-trackerpub.dev
RokuBrightScript, BrighterScriptMedia player applicationsMedia Playersnowplow-roku-trackernpm
WebViewTypeScript, JavaScriptHybrid mobile applicationsUnified Digital, Attributionsnowplow-webview-trackernpm or script tag

Server-side trackers​

TrackerLanguageGitHubInstalled using
Node.jsTypeScript, JavaScriptsnowplow-javascript-trackernpm
PythonPythonsnowplow-python-trackerPyPI
GolangGosnowplow-golang-trackerGitHub
JavaJavasnowplow-java-trackerMaven
.NETC#snowplow-dotnet-trackerNuGet
UnityC#snowplow-unity-trackerGitHub
C++C++snowplow-cpp-trackerCMake
ScalaScalasnowplow-scala-trackerMaven or JCenter
RubyRubysnowplow-ruby-trackerRubyGems
PHPPHPsnowplow-php-trackerPackagist
RustRustsnowplow-rust-trackercrates.io
LuaLuasnowplow-lua-trackerLuaRocks
Tracking CLI (deprecated, see Snowplow CLI)Command line, shell scriptssnowplow-tracking-cliGitHub

Webhooks​

WebhookTrack
AdjustWhich marketing channels are driving mobile app installations
IgluAny Iglu-compatible GET or POST request
IterableEvents provided by Iterable
MailGunEmail activity logged by MailGun
MandrillEmail activity logged by Mandrill
SendGridEmail activity logged by SendGrid
ZendeskEvents logged by Zendesk

Was this page helpful?