[![Snowplow logo][logo-image]][website] --- As of January 8, 2024, Snowplow introduced the Snowplow Limited Use License Agreement, and we are releasing new versions of our core pipeline technology under this license.…
[![Snowplow logo][logo-image]][website]
---
As of January 8, 2024, Snowplow introduced the Snowplow Limited Use License Agreement, and we are releasing new versions of our core pipeline technology under this license. There will be no security patches made to versions of our software that pre-date January 2024.
If you are currently using the pipeline in production, or in a way that is competitive with Snowplow, these changes affect you. If you wish to use the current version of Snowplow software, please contact us to discuss a plan that works for you.
We value all of our users and remain dedicated to helping our community use Snowplow in the optimal capacity that fits their business goals and needs.
Read more about this change here.
---
Introduction
Welcome to Snowplow, the Customer Context Layer transforming raw behavioral data into real-time customer context for AI agents and advanced analytics. AI runs on models, but wins on context.
Digital-first companies like Strava, Burberry, Supercell, Michaels, 1Password, HelloFresh, Experian, and Secret Escapes rely on Snowplow to collect and process event-level data in real time, delivering it securely to their warehouse, lake, or stream — without the engineering complexity of building data infrastructure.
---
Why a Customer Context Layer?
Snowplow is the data foundation for an organization's most demanding use cases: advanced analytics, context-aware AI agents, and real-time personalization. From predicting customer behaviors to powering agentic AI systems and detecting fraud in real time, Snowplow provides the high-fidelity behavioral context that makes it all possible.
Key benefits of Snowplow’s Customer Context Layer:
- Data depth and quality
- Centralized data governance
- Real-time operationalization and personalization
- Privacy and compliance
- AI- and BI-ready behavioral data
Why Snowplow?
- “Glass-box” technical architecture capable of processing billions of events per day
- Over 25 SDKs and webhooks to collect data from web, mobile, server-side, and other sources
- A unique approach based on schemas and validation ensures your data is as clean as possible
- Over 15 enrichments to get the most out of your data
- Stream data to your data warehouse/lakehouse or SaaS destinations of choice
- Build and manage behavioral tracking plans with Event Studio
- Power context-aware AI agents and proactive decisioning with Signals
This repository contains the major Snowplow components as individual submodule repositories.
---
Build with Snowplow
The Snowplow Developer Hub has solution accelerators, architecture guides, demo videos, and other helpful resources to get you started.
---
Community
Check out our Community for support and updates.
If you spot a bug, please raise an issue in the GitHub repository of the component in question.
---
Copyright and license
Copyright 2012-2026 Snowplow Analytics Ltd.
Snowplow components are licensed differently depending on their purpose. Read about our different licenses here.
[logo-image]: media/snowplow_logo.png
[website]: https://snowplow.io?utm_source=github&utm_content=main-repo
Members
-
snowplow ★ PINNED
The leader in Customer Data Infrastructure
Scala ★ 7.0k 1mo agoExplain → -
snowplow-javascript-tracker ★ PINNED
Snowplow event tracker for client-side and server-side JavaScript. Add analytics to your websites, web apps and servers.
TypeScript ★ 590 1d agoExplain → -
snowplow-ios-tracker ★ PINNED
Snowplow event tracker for Swift and Objective-C. Add analytics to your iOS, macOS, tvOS and watchOS apps and games
Swift ★ 89 10d agoExplain → -
snowplow-android-tracker ★ PINNED
Snowplow event tracker for Android. Add analytics to your Android apps and games
Kotlin ★ 122 17d agoExplain → -
factotum
A system to programmatically run data pipelines
Rust ★ 224 9mo agoExplain → -
iglu
Iglu is a machine-readable, open-source schema repository for JSON Schema from the team at Snowplow
Shell ★ 217 24d agoExplain → -
ansible-playbooks
Ansible playbooks to install common platforms and tools (e.g. JVM, Ruby, Postgres etc.)
Shell ★ 178 3y agoExplain → -
snowplow-mini
An easily-deployable, single-instance version of Snowplow
Go ★ 128 7mo agoExplain → -
iglu-central
Contains all JSON Schemas, Avros and Thrifts for Iglu Central
Shell ★ 123 24d agoExplain → -
scala-maxmind-iplookups
Scala client for MaxMind Geo-IP
Scala ★ 87 5mo agoExplain → -
sql-runner
Run templatable playbooks of SQL scripts in series and parallel on Redshift, PostgreSQL, BigQuery and Snowflake
Go ★ 81 1y agoExplain → -
dbt-snowplow-web
A fully incremental model, that transforms raw web event data generated by the Snowplow JavaScript tracker into a series of derived tables of varying levels of aggregation.
Shell ★ 65 4mo agoExplain → -
snowplow-micro
Standalone application to automate testing of trackers
Scala ★ 53 8d agoExplain → -
chrome-snowplow-inspector
Web Extension for debugging Snowplow pixels.
TypeScript ★ 47 8d agoExplain → -
snowplow-python-tracker
Snowplow event tracker for Python. Add analytics to your Python and Django apps, webapps and games
Python ★ 46 20d agoExplain → -
scala-weather
High-performance Scala library for looking up the weather
Scala ★ 46 4y agoExplain → -
scala-forex
High-performance Scala library for performing exchange rate lookups and currency conversions
Scala ★ 45 2y agoExplain → -
snowplow-s3-loader
Mirrors a Kinesis stream to Amazon S3 using the KCL
Scala ★ 42 2mo agoExplain → -
data-models
⚠️ MAINTENANCE-ONLY MODE: Snowplow maintained SQL data models for working with Snowplow web and mobile behavioral data.
PLpgSQL ★ 42 1y agoExplain → -
stream-collector
Collector for cloud-native web, mobile and event analytics, running on AWS and GCP
Scala ★ 38 10mo agoExplain → -
snowplow-php-tracker
Snowplow event tracker for PHP. Add analytics into your PHP apps and scripts
PHP ★ 37 9mo agoExplain → -
snowplow-react-native-tracker ▣
Snowplow event tracker for react-native apps
TypeScript ★ 32 1y agoExplain → -
snowplow-rdb-loader
Stores Snowplow enriched events in Redshift, Snowflake and Databricks
Scala ★ 30 5d agoExplain → -
enrich
Snowplow Enrichment jobs and library
Scala ★ 29 2mo agoExplain → -
snowplow-golang-tracker
Snowplow event tracker for Golang. Add analytics to your Go apps and servers
Go ★ 26 2mo agoExplain → -
quickstart-examples
Examples of how to automate creating a Snowplow Community Edition pipeline
HCL ★ 25 9mo agoExplain → -
snowplow-java-tracker
Snowplow event tracker for Java. Add analytics to your Java desktop and server apps, servlets and games. (See also: snowplow-android-tracker)
Java ★ 25 9mo agoExplain → -
dbt-snowplow-unified
A fully incremental model, that transforms raw web & mobile event data generated by the Snowplow JavaScript & mobile trackers into a series of derived tables of varying levels of aggregation.
Shell ★ 23 3mo agoExplain → -
snowplow-bigquery-loader
Loads Snowplow enriched events into Google BigQuery
Scala ★ 23 2mo agoExplain → -
snowplow-ruby-tracker
Snowplow event tracker for Ruby. Add analytics to your Ruby and Rails apps and gems
Ruby ★ 23 9mo agoExplain → -
snowplow-dotnet-tracker
Snowplow event tracker for .NET. Add analytics to your ASP.NET, C#, F# and Visual Basic apps, servers and games
C# ★ 23 9mo agoExplain → -
snowplow-python-analytics-sdk
Python SDK for working with Snowplow enriched events in Spark, AWS Lambda et al.
Python ★ 22 1y agoExplain → -
snowplow-scala-analytics-sdk
Scala SDK for working with Snowplow enriched events in Spark, AWS Lambda, Flink et al.
Scala ★ 21 1y agoExplain → -
dataflow-runner
Run templatable playbooks of Hadoop/Spark/et al jobs on Amazon EMR
Go ★ 19 4d agoExplain → -
snowbridge
For replicating streams across clouds, accounts and regions
Go ★ 18 17d agoExplain → -
snowplow-unity-tracker
Snowplow event tracker for Unity. Add analytics to your Unity games and apps
C# ★ 17 2mo agoExplain → -
dbt-snowplow-utils
Snowplow utility functions to be used in conjunction with the snowplow-web dbt package.
Shell ★ 15 19d agoExplain → -
iglu-server
A RESTful schema registry
Scala ★ 15 6mo agoExplain → -
dbt-snowplow-mobile
A fully incremental model, that transforms raw mobile event data generated by the Snowplow mobile trackers into a series of derived tables of varying levels of aggregation.
Shell ★ 15 4mo agoExplain → -
dbt-snowplow-attribution
An incremental dbt package revolving around marketing attribution analysis
PLpgSQL ★ 13 3mo agoExplain → -
dbt-snowplow-fractribution
Snowplow Fractribution (marketing attribution) model for dbt
Python ★ 13 2y agoExplain → -
snowplow-elasticsearch-loader
Writes Snowplow enriched events from Kinesis to Elasticsearch
Scala ★ 11 2mo agoExplain → -
snowplow-gtm-server-side-client
A Google Tag Manager Server-side Client template for collecting events using the Snowplow JavaScript Tracker
Smarty ★ 11 2y agoExplain → -
snowplow-cpp-tracker
Snowplow event tracker for C++. Add analytics to your C++ applications, games and servers
C++ ★ 9 23d agoExplain → -
snowplow-scala-tracker
Snowplow event tracker for Scala. Add analytics to your Scala, Akka and Play apps and servers
Scala ★ 9 1mo agoExplain → -
igluctl
A command-line tool for working with Iglu schema registries
Scala ★ 9 2y agoExplain → -
dbt-snowplow-media-player
A fully incremental model, that transforms media player event data generated by the Snowplow JavaScript tracker into derived tables for easier querying
Shell ★ 9 9d agoExplain → -
snowplow-tracking-cli
Command-line app for tracking Snowplow events. Add analytics to your shell scripts and terminal sessions
Go ★ 9 2y agoExplain → -
documentation
Snowplow Documentation Website
JavaScript ★ 8 1d agoExplain → -
dbt-snowplow-ecommerce
A fully incremental model, that transforms raw ecommerce event data generated by the Snowplow JavaScript tracker into a series of derived tables representing various ecommerce data objects.
Shell ★ 8 2mo agoExplain → -
snowplow-flutter-tracker
Snowplow event tracker for Flutter apps
Dart ★ 7 10d agoExplain → -
iab-spiders-and-robots-java-client
Java 8+ client library for the IAB and ABC International Spiders and Robots list
Java ★ 7 6mo agoExplain → -
snowplow-rust-tracker
No description.
Rust ★ 7 9mo agoExplain → -
release-manager
Uploads zipfiles to Bintray and creates versions
Python ★ 7 3y agoExplain → -
snowplow-cli
The universal Command Line Interface for Snowplow
Go ★ 6 2mo agoExplain → -
snowplow-badrows
No description.
Scala ★ 6 2y agoExplain → -
snowplow-lake-loader
Snowplow Lake Loader
Scala ★ 5 2mo agoExplain → -
iglu-scala-client
Scala client for Iglu schema registry
Scala ★ 5 2mo agoExplain → -
snowplow-golang-analytics-sdk
Golang Analytics SDK for working with Snowplow enriched events in cloud functions and other Go applications.
Go ★ 5 3mo agoExplain → -
schema-ddl
ASTs and generators for producing various DDL and Schema formats
Scala ★ 5 1y agoExplain → -
snowplow-dotnet-analytics-sdk
No description.
C# ★ 5 2y agoExplain → -
snowplow-gtm-server-side-tag
A Google Tag Manager Server-side Tag template for sending events to a Snowplow Collector
Smarty ★ 5 2y agoExplain → -
skills
The home for Snowplow's Agent Skills and MCP plugins.
★ 4 17d agoExplain → -
snowplow-gtm-server-side-amplitude-tag
A Google Tag Manager Server-side Amplitude Tag template for send events to the Amplitude HTTP API v2
Smarty ★ 4 3y agoExplain → -
snowplow-lua-tracker
Snowplow event tracker for Lua. Add analytics to your Lua apps and Lua-scripted games
Lua ★ 4 1y agoExplain → -
snowplow-snowflake-loader
No description.
Scala ★ 3 2mo agoExplain → -
dbt-snowplow-normalize
A dbt package to support modelling event data via split tables for use in downstream tools and systems.
Python ★ 3 3mo agoExplain → -
JavaNSQClient ⑂
Fast Java client for NSQ
Java ★ 3 3y agoExplain → -
iglu-scala-core
Core entities for working with Iglu in Scala
Scala ★ 1 2mo agoExplain → -
snowplow-gtm-variable-template-v4
No description.
Smarty ★ 1 7mo agoExplain → -
snowplow-gtm-tag-template-v4
No description.
Smarty ★ 1 1y agoExplain → -
snowplow-gtm-server-side-launchdarkly-tag
A Google Tag Manager Server-side LaunchDarkly Tag template for send events to the LaunchDarkly Metric Events API
Smarty ★ 1 3y agoExplain → -
iglu-javascript-client
Browser JavaScript client for Iglu
JavaScript ★ 1 1y agoExplain → -
looker-snowplow-mobile
A LookML block, that uses data from the Snowplow JavaScript tracker and Mobile Data Model derived tables and makes it available for exploration in Looker.
LookML ★ 1 4y agoExplain → -
homebrew-taps
Homebrew taps of snowplow apps
Ruby ★ 0 2mo agoExplain → -
.github
No description.
★ 0 3mo agoExplain → -
builds-event-subscriptions
No description.
TypeScript ★ 0 4mo agoExplain → -
snowplow-gtm-tag-template-ecommerce-v3
No description.
Smarty ★ 0 1y agoExplain → -
setup-snowplow-cli
Github action to setup snowplow-cli
JavaScript ★ 0 1y agoExplain → -
snowplow-gtm-variable-template-v3
GTM Custom Template Settings for the Snowplow JavaScript Tracker (v3)
Smarty ★ 0 3y agoExplain → -
snowplow-gtm-server-side-braze-tag
A Google Tag Manager Server-side Tag template for sending events to Braze
Smarty ★ 0 3y agoExplain → -
snowplow-gtm-server-side-http-request-tag
A Google Tag Manager Server-side Tag template for sending events to any JSON HTTP Endpoint
Smarty ★ 0 3y agoExplain → -
emr-etl-runner
Run Snowplow's enrichments on Amazon Elastic MapReduce with minimum fuss
Ruby ★ 0 3y agoExplain → -
snowplow-gtm-server-side-iterable-tag
A Google Tag Manager Server-side Iterable Tag template for send events to the Iterable Track API
Smarty ★ 0 3y agoExplain → -
snowplow-gtm-tag-template-v3
GTM Custom Template for the Snowplow JavaScript Tracker (v3)
Smarty ★ 0 2y agoExplain →
No repos match these filters.