Snowflake Hybrid Connected / Native Apps — featuring Snowplow

This post was co-authored with John Bourous and Daniela Howard from the Snowplow team.

At Snowflake, we’re going beyond data and analytics. Our core mission is to extend the Snowflake Data Cloud to not just be about data analytics and collaboration, but to be the platform for developers building applications. It’s why Snowflake has invested heavily into the Native App Framework. One day, there will be entire SaaS applications and LLMs containerized inside this framework, and developers will be able to deploy and monetize their apps securely through the Snowflake Marketplace without having to manage infrastructure. As of the time this was written, we’re not quite there yet, but even today, native apps can be powerful accelerators when placed alongside an existing managed or connected app — something we would call a hybrid model.

The Hybrid Model — how it works

A hybrid model isn’t necessarily a new idea for Snowflake application deployments, and it’s something that has been seen in a few apps today that use both managed and connected deployments. For native apps specifically, it simply means that a native app is used to enhance the existing application experience — it’s not a full replacement of the existing application.

A provider can have their connected architecture in two different Cloud Service Providers to serve customers co-located in each, but only needs one Snowflake account to distribute their application to customers in both.

Snowplow has developed this approach with their new Snowplow Digital Analytics native app. Using Streamlit as a front-end, they’ve deployed an application on the public marketplace that is pre-loaded with demo data. This allows a customer to get a look and feel of what the native app offers for them for visualization within Snowflake.

Once the customer is ready to get started in production, they can then work with the Snowplow team to deploy the connected app and flip a switch in the app to use the “live” data. The native app is given permissions to read the data from objects (i.e. tables) that the connected app writes to.

The public listing for the Snowplow Digital Analytics app on the Marketplace, as seen through a Snowflake account.
The Streamlit home page for the brand’s users inside of Snowflake.

Because Snowplow has developed on the native app framework, they can push out improvements and updates to the app without disrupting the customer’s work.

Creating a Hybrid Model — Benefits to Providers

The connected app model has worked really well for both Snowplow and the joint Snowflake customers, so why change that?

Eliminating Onboarding Friction

One of the best use-cases for a native app in a hybrid model is to help accelerate time to value for customers. This will likely be a key theme for native apps moving forward.

In Snowplow’s case, they specifically wanted to help customers get to insights faster by automating the harder parts of the setup. In particular, they wanted to auto-deploy their cross-platform dbt unified model so users get derived tables with deterministic identity resolution and incremental sessionization right out of the box with the least amount of manual setup required!

Improving Accessibility

With Streamlit in Snowflake, builders finally have an easy way to create an interface for business teams that can abstract Snowflake functions, and build interactive dashboards.

For Snowplow, using Streamlit as a front-end was a way to give marketing teams an alternative to a solution like Google Analytics. It was also a way to allow analytics teams an easier way to get started and customize their own solutions on Snowflake.

A Natural Progression

For Snowplow, this is the natural extension of their Data Cloud-native approach, where the customer controls their own data. Providing insights directly into Snowflake can reduce data fragmentation and shorten feedback loops between data teams and the rest of the business.

Benefits to Snowflake Customers

For digital analytics, many businesses have relied on solutions like Google Analytics for years. That can be a fine solution for some small businesses, but when a brand starts to scale, they need to own their own data and use a reliable, transparent, and compliant solution that scales with the brand’s growth.

In a recent Gigaom study, Snowplow performed much better and was much more cost effective than Google Analytics:

  • Snowplow performed 6.9x faster than GA4
  • Snowplow queries efficiently scan over 99% less data than GA4 queries
  • Snowplow queries were 42% less complex and allowed for more user-friendly queries

Besides cost and performance, there are a number of other benefits to customers in using Snowplow and Snowflake for Digital Analytics:

Flexible, extensible data collection and modeling

For retailers specifically, a brand is getting a better framework — there are more descriptive insights on purchasing behavior which can be surfaced with complete and in-depth clickstream data. Unlike Google Analytics, Snowplow will never sample events. This also means that Snowplow’s simplified, out-of-the-box Unified Digital Model, brands can aggregate journeys across web and mobile. This same model can be used to create a single view of the customer in the Data Cloud.

Near Real-Time

Snowplow is using Snowflake’s new Snowpipe Streaming functionality to get data to Snowflake efficiently and in real-time. Then, instead of hours or days, your dashboards and downstream processes are updated within a few minutes.

Compliant and Future-Proof

Because the brand is owning data in their Snowflake account, with both Snowflake and Snowplow deployed in the same cloud region, brands can ensure adherence to privacy regulation and policies like GDPR, CPRA, and the HHS mandate, where Google Analytics can’t guarantee compliance.

Also, 1st-party server set cookies, with a survival duration for 1 year, allow for more data completeness than GA cookies. Google Analytics will struggle with the new Safari Intelligent Tracking Protection (ITP) cookie limitations created by Apple earlier this year.

Turnkey Visualization

While we’ve covered the Streamlit app that allows for easy visualization inside of Snowflake, Snowplow has developed templates for analytics teams in the most popular Business Intelligence tools, including PowerBI, Tableau, and Preset (Superset).

Getting Started

If you’re a builder looking to build on Snowflake, reach out to your Snowflake account team, or simply just try something on your own with a trial account at signup.snowflake.com.

If you’re a brand and are ready to try out the Snowplow app now, head over to the Snowflake Marketplace to download the app. If you want to reach out to the Snowplow team, submit your interest here.

--

--

Luke Ambrosetti
Snowflake Builders Blog: Data Engineers, App Developers, AI/ML, & Data Science

Partner Solutions Engineer @ Snowflake. data apps + martech. sweet tea and fried chicken connoisseur. drummer’s syndrome survivor.