Integrate Snowplow Data with Snowflake for Useful Analytics and Activation

A Step-by-Step Guide

Snowplow logo
Snowflake logo

Make the Most of Your Snowplow Data in Snowflake

Snowplow and Snowflake are a natural fit for data modeling, business intelligence and data activation – especially for retail brands interested in optimizing their overall business performance, acquisition and retention marketing programs, and merchandising and fulfillment operations decisions.

Snowplow is an open-source event tracking platform that enables businesses to collect and analyze granular, real-time event data from various sources. It provides a flexible and scalable solution for tracking user interactions across websites, mobile apps, and other digital platforms. Snowplow is designed to offer customizable event tracking and analytics for data-driven decision-making. Snowflake enables every organization to mobilize their data with Snowflake’s Data Cloud. Customers use the Data Cloud to discover and securely share data, power data applications, and execute diverse AI/ML and analytic workloads. Together, the software application and cloud data tooling provide business and data practitioners with an opportunity to analyze and optimize web analytics, digital marketing analytics and behavioral event data to drive profitable growth.

Connect to Snowplow

The first step toward useful, modeled Snowplow data in Snowflake is to connect the source and destination systems. There are many legacy tools available in market that handle the ETL or ELT transfer of Snowplow data to Snowflake, and there are emerging tools that accomplish this transfer while providing value-added services like local data logging, and semantic data labeling and mapping along the way – making Snowplow data modeling, analytics and activation easier once the data is landed in Snowflake.

To connect to Snowplow, follow these easy steps

  • Open SoundCommerce in any browser. Open the “Intelligent Pipeline” application from the top right navigation menu. Select “Sources” from the left navigation menu. Choose “Add New Source” from within the Sources pane to open the data source library.

  • Search or browse to find “Snowplow” within the data source library.

  • Complete the “Connection Setup” form with your credentials and token to securely connect to Snowplow and begin collecting source data.

Log Snowplow Data for Flexible Modeling in Snowflake

There are a few more considerations to address along the way. First, what happens if Snowplow is unavailable for some reason, or the data you’re expecting has been purged by Snowplow? What happens when Snowplow changes their API schemas and data scope? What happens if you need to reinterpret your Snowplow data for a new use case in the future?

You’ll want your Snowplow data immutably logged locally, just upstream of Snowflake to ensure you have the data and data flow flexibility you need to future-proof your Snowplow data and models. SoundCommerce provides permanent logging of Snowplow data upstream of Snowflake to ensure failover and future-proofing. Regardless of how you connect your Snowplow and Snowflake data, you’ll want a data lake or event log in the middle to ensure data integrity and modeling flexibility.

Define and Label Snowplow Data for Snowflake

As new technologies arise and best practices evolve, traditional integration tools like ETL and ELT data pipelines are giving way to intelligent pipelines that help prep data for Snowflake starting at ingest. Simply moving JSON from Snowplow to Snowflake leaves all the work for your data team in Snowflake.

As you onboard your Snowplow data into Snowflake, you’ll want to create semantic labels and metadata that describe the Snowplow data for easier unification and modeling across other systems and data in Snowflake.

There are third-party solutions that will catalog your Snowplow data and generate semantic labels and mappings after you’ve landed it in Snowflake. With SoundCommerce, the Snowplow data is defined and labeled on its way into Snowflake instead, to avoid this costly rework later. You’ll end up with business-ready entities like orders, customers, products and campaigns, making it much easier to model your Snowplow data in Snowflake.

Map Snowplow Entities to Snowflake

Once the raw Snowplow data has been organized into useful entities, it’s time to map the Snowplow data into useful tables in Snowflake.

Why do defined and labeled entities from Snowplow matter so much? The main reason is that Snowplow data needs to be combined with data from other SaaS and on-premise software systems in useful ways. Landing raw Snowplow data in Snowflake without this semantic understanding means data engineering and analyst teams must do all of the heavy lifting regarding the meaning of the Snowplow data and the standardization of the meaning of that Snowplow data from scratch in Snowflake.

Defining, labeling and mapping the Snowplow data on the way in means much less effort once the data is landed in Snowflake.

Materialize Snowplow Data in Snowflake

Next, you’ll establish a secure connection to Snowflake:

  • Select “Destinations” from the left navigation menu. Choose “Add New Destination” from within the Destinations pane to open the data destination library.

  • Complete the “Connection Setup” form to securely connect to Snowflake to establish a secure destination for your labeled, mapped and modeled data.

That’s it! You now have logged, labeled and mapped data from Snowplow flowing securely to Snowflake.

Model Snowplow Data in Snowflake

Once you have well-formed entities from Snowplow onboarded to Snowflake, it’s time to build useful analytical and behavioral models on the Snowplow data – and combine the Snowplow data with data sets from other systems in Snowflake for more advanced, cross-dimensional analysis.

You can build your own analytical models on the Snowplow data in Snowflake using languages like SQL and Python, organized into model libraries in tools like DBT or Coalesce. With SoundCommerce, you get prebuilt analytical models for Snowplow running in Snowflake, with ready access to the model source code in DBT.

Host the Modeled Snowplow Data in Snowflake for Analytics

Snowflake supports reporting and visualization through a wide variety of analytics tools including Sigma, Tableau, Looker, Power BI and Microstrategy to name a few. You can build your own dashboards, tabular views and graphs in any of these tools to reveal insights about Snowplow in your Snowflake models. SoundCommerce provides pre-built embedded reports in Sigma to reduce the time, cost and risk of BI reporting of Snowplow data out of Snowflake – so you can start making better decisions and taking better action as soon as you’ve connected Snowplow to Snowflake.

Host the Modeled Snowplow Data in Snowflake for Campaign and Customer Activation

Whether your marketing team uses Snowplow for activation – or uses other tools and channels or both to take action on the data – you’ll want to be able to easily move your modeled Snowplow data in Snowflake to your most important marketing applications.

If you’ve followed the steps above to properly onboard and model your Snowplow data in Snowflake, it’s easy to use reverse ETL (rETL) tools like Census or Hightouch to orchestrate the data from there, or use SoundCommerce native orchestrations to push data into common channels and applications like Facebook, Instagram, TikTok, Braze, Klaviyo, Insider or Dynamic Yield to put the Snowplow data in Snowflake to use!

Getting Your Snowplow Data Defined, Labeled, Mapped and Modeled in Snowflake is Easy!

SoundCommerce can automate the steps necessary to bring Snowplow data into Snowflake, addressing the key functions of raw Snowplow data logging, Snowplow semantic definitions and mappings, and pre-built Snowplow data models that are analytics- and activation ready in Snowflake.

Contact us today to get started with Snowplow in Snowflake!

Technical Resources for Integrating
Snowplow Data with Snowflake

More information and technical specifications for data collection from Snowplow is available at:

Snowplow API Documentation

More information and technical specifications for data ingest into Snowflake is available at:

Snowflake API Documentation

Integrate and Model Snowplow Data in Snowflake