Snowflake Data Sharing

How Braze Built Support for Snowflake Data Sharing

By Mike Dulle and Jeff Stutz Nov 2, 2020

Without data, modern marketing doesn’t work. Companies with poor data management aren’t just missing key insights; they’re also making it almost impossible for themselves to compete in today’s customer-first marketing landscape. That’s because the key tools at marketers’ disposal—audience segmentation, messaging personalization, and behavior-triggered outreach—all require smart data collection and management to work effectively.

The central role that data plays in marketing today is always on our minds at Braze as we think about how to evolve our customer engagement platform. From the beginning, Braze has been architected to support ongoing data streaming—rather than batch data processing—and make it easier for brands to act effectively on first-party data to support better customer experiences.

The growing importance of data to modern marketing has served to bring together marketing, product, and data/business intelligence (BI) teams, among others, to support effective customer engagement and retention efforts. When these groups work together effectively, they can achieve truly responsive, impactful business results. But to do that, they all need to be on the same page when it comes to the information at their disposal. The Braze platform’s support for Snowflake Data Sharing helps make that possible. So let’s take a behind-the-scenes look at this innovative feature and how it came to be.

From Data Lake to Data Sharing: How the Process Got Started

When Mike first arrived at Braze, the company was in the beginning stages of a major internal project intended to transform storage and data management within the Braze platform. Our main goal at the time was to be able to more effectively store raw event data in order to support querying for product features around retention, funnels, and other event-driven analytics. To make that happen, we were planning to build a new internal Data Lake on top of an established cloud platform, in large part because Braze was already using that provider to support other aspects of our product.

The Braze Data Lake is designed to support increased data agility within our platform

That effort was already underway, but once Mike was named the product manager overseeing the initiative, he started digging deeper into the practical aspects of the project. He eventually came to the conclusion that the cost, performance impacts, and maintenance requirements associated with the plan were less ideal than we’d hoped. While the approach would likely have worked if we’d pursued it, these qualms motivated us to start exploring other options that could help us bring our Data Lake vision to fruition more sustainably.

Braze + Snowflake: Building a Data Partnership

It was during that exploratory phase that we began looking seriously at Snowflake. While Snowflake is now a globally known brand when it comes to business data, at the time they were still relatively new in the data space and were primarily focused on building out giant data warehouses in order to help brands improve their analytics. But after we started looking at Snowflake as a possible solution to support our Data Lake needs, we determined that their service was better suited and purpose-built for what we intended to do, leading us to switch our focus away from the cloud vendor we’d originally planned to use and instead work on building it out using Snowflake’s services.

While we chose Snowflake because its platform was a particularly good fit for our Data Lake needs, once we started diving into what was possible with Snowflake, we realized that it had in-progress functionalities that could potentially allow us to broaden what was currently possible within the Braze platform. The exemplar was their Data Sharing feature, which was still in active development at the time. If you’re not familiar with Snowflake Data Sharing, it’s a powerful, innovative feature within the Snowflake platform that that enables account-to-account sharing of data through Snowflake database tables, secure views, and secure user-defined functions (UDFs), all without copying or transferring any data between accounts.

At the time, Braze was really starting to put a major focus on data democratization, inspired in part by the advocacy of Matt McRoberts, the head of our Alliances team and a big believer in the importance of data agility within marketing technology stacks. And when we began working with Snowflake to support our Data Lake initiative, we became one of the first Snowflake customers to be briefed about Data Sharing and what it made possible: Mike remembers sitting in a meeting with Snowflake representatives, hearing all about what they were building, and thinking, “What if we could give Braze clients access to the relevant data that we’re storing in our Data Lake—while also using it ourselves? Wouldn’t that be cool?”

Reader, it was indeed cool. From our conversations with the Snowflake team, we knew that Data Sharing support could make it possible for our customers to have in-the-moment access to event data generated by their users and stored within the Braze platform. This would give them the ability to analyze patterns of behavior for predictive modeling, generate custom conversion and funnel reports to better understand the user’s journey, or support ad hoc conversion analysis and historical campaign comparison, among other capabilities. And because Braze was among the first Snowflake partners to use the feature as it was being developed, we were able to beta test it and ensure that it could work for our needs and capabilities, as well as those of our customers.

Snowflake Data Sharing: Challenges and Opportunities

While adding Snowflake Data Sharing support was a major win for Braze and our customers, it didn’t happen overnight or without complications. Being among the first companies to leverage Data Sharing allowed us to provide timely feedback to Snowflake on what was working and what wasn’t—but it also meant that there were going to be some bumps in the road. To make the integration work the way we needed, Braze and Snowflake had to spend a lot of time and effort learning together, and each side had to be willing to go above and beyond to iron out issues or use engineering resources to address problems that cropped up.

We also had one big wrinkle that needed to be addressed before we could roll out Data Sharing Support to our full customer base—namely, cross-region Data Sharing. When we launched Data Sharing Support in 2018, joint customers had to have their Braze and Snowflake instances based in the same region to be able to take advantage of the new feature. That’s because there’s a cost associated with keeping data in sync across regions, unlike within a given region, where the data in question can be queried in place by shared Braze/Snowflake customers without requiring any syncing.

Snowflake Data Sharing is built to allow its customers to leverage the feature across different data regions (for instance, the eastern US or central Europe), but only if they are single-tenant customers, as granularity for replication with Snowflake is designed to be full-table only. For a multi-tenant Snowflake customer like Braze, our tables within Snowflake contain data for all customers in a given region, complicating an easy cross-region view. So when Braze decided to build initial support for this feature, we made the decision to launch with a region-specific version to allow customers to begin taking advantage of it, while also working on a longer-term plan across our Product and Engineering organization to build out true cross-region support for our global customer base.

To meet this challenge, the Braze Product team had to collaborate closely with the Engineering team to build and automate custom functionality that allowed Braze to syphon off data that needed to be shared with customers who have Braze and Snowflake instances located in different regions, then replicate that data into the appropriate Braze instance and use Snowflake’s native Data Sharing in that region. For example, if a company stored Braze data on AWS US East, but had their Snowflake instance on AWS US West, this new functionality would add that customer’s data to the “Replicate to US West” Table, which would be replicated in full—and in the receiving region, the data in the aggregated replicated table would be split up to ensure each customer sees only their own data. This new functionality supports true global data agility and allows additional customers to unlock deeper Braze customer engagement insights using their own Snowflake data warehousing technology.

Final Thoughts

At its core, Braze support for Snowflake Data Sharing is designed to allow brands to leverage Braze and Snowflake in tandem to better understand what’s happening with their messaging campaigns and their customer relationship and to take effective action with the Braze platform. (Check out this case study from shared Braze and Snowflake customer Payomatic to see what that looks like in practice.) So it’s fitting that making this project a reality took close collaboration not only between the Braze Product and Engineering teams, but also between Braze and Snowflake as organizations.

In some ways, that’s probably my biggest takeaway from this whole process. Effective teamwork is, of course, a key component of any engineering initiative, but teamwork isn’t always about finding ways to work effectively across teams—sometimes it can mean partnering thoughtfully with other companies to guide a process that can benefit both sides, as well as your shared customers.

For Braze and Snowflake, that partnership has only grown. In fact, Braze was among the first companies to put up a tile in the Snowflake Data Marketplace, which is the next evolution of Snowflake’s Data Sharing feature. This marketplace, which launched globally in June 2020, provides detailed listings allowing Snowflake users to dig into relevant integrations from Braze and other marketplace partners, all within the Snowflake UI, supporting a better, more intuitive experience.

Want to learn more about how the Braze Product and Engineering organization has worked together with technology partners to support our platform’s ability to provide key customer value? Check out Braze Cofounder and CTO Jon Hyman’s exclusive look at how Braze leverages AWS’ Auto Scaling feature to support our platform’s massive, ever-changing scale.

Interested in becoming part of the Braze Product and Engineering team? Check out our open roles on the Braze Careers page.

Mike Dulle and Jeff Stutz

Related Content

Snowflake Data Sharing

Braze Identified as a Leader in Snowflake’s 2023 Modern Marketing Data Stack Report

Read More

Braze Alloys

Activating Your Data Warehouse for Segmentation and Personalization

Read More

FORGE 2022

How Braze Cloud Data Ingestion Gives New Life to Customer Data

Read More

Snowflake Data Sharing

How Being Powered by Snowflake Helps Braze Customers Move at the Speed of Data

Read More