If you are using Hubspot as your CRM, then every interaction with your customers or prospects is captured directly within the platform. In most cases, Hubspot acts as a sales platform and an inbound marketing platform. Chances are you are probably even using Hubspot for content management and marketing automation. You might even be using it for some email marketing and social media marketing.
The problem is, Hubspot only shows one view of your customers and prospects. To truly target your highest value leads and create a good customer experience, your sales teams and marketing teams need to enrich this data with additional information that only exists in your warehouse, Snowflake.
As the analytics platform for all of your data, Snowflake already has a complete 360-degree view of customers. After all, this is where you build all of your unique data models, capture your product usage data, store your event data, and perform business intelligence.
- Data models: (customer health score, product qualified lead, LTV, ARR, etc.)
- Product usage data: (new integrations, new users, workspaces created, last login date, etc.)
- Event data: (items in cart, shopping cart abandonment, pages viewed, session length, etc.)
On top of this, you are probably even already storing your Hubspot data in your Snowflake environment, so the question is: how can you sync your Snowflake data to Hubspot? Generally, this can be quite challenging, but luckily you have a wide range of options.
Option 1: Manual CSV files
One of the easiest ways to move data from Snowflake to Hubspot is to simply download a specific data set as a CSV file and then upload that file directly to Hubspot. Generally, this only takes a few minutes and is relatively easy to do. There are a couple of challenges to this approach though. Firstly, you have to ensure that your file has the proper columns/rows before uploading it to Hubspot, otherwise, you risk ruining the data that already exists in Hubspot (the last thing you want to do is accidentally mess up the sales pipeline).
As you're probably already aware, there is no rollback or undo button in Hubspot. On top of this, data stored in a CSV file becomes stale really quickly. Generally, your business teams need to act on fresh data in order to be effective. Going this route also means that your engineering team will be fulfilling constant ad-hoc data requests.
Option 2: Custom integrations
Building a custom integration directly to Hubspot is one way to address manual CSV downloads/uploads. However, building a custom data pipeline directly to Hubspot can pose equal challenges. Firstly, Snowflake and Hubspot are constantly changing and updating their APIs.
On top of this, building and maintaining an entirely new data pipeline for Hubspot can be extremely time-consuming to build and this is not even accounting for the maintenance involved with keeping it up and running. If you have a relatively small amount of data this could be doable, but scaling this approach and building more data pipelines for additional SaaS applications in the future is nearly impossible.
Option 3: iPaaS (Integration Platform as a Service)
If you have a relatively simple use case an iPaaS solution like Tray or Workato could suit your needs for sending data from Snowflake to Hubspot. These types of tools provide you with a platform where you can build low code intuitive workflows. You can use these workflows to move data from one system to another.
Generally, iPaaS tools are designed to be a one-size-fits-all solution and you can easily find yourself neck-deep in complex if/then statements and numerous dependencies within each individual step. In most cases, iPaaS solutions are best suited for automating tasks and business processes rather than moving complex data from one system to another.
Option 4: CDPs (Customer Data Platform)
CDPs are probably the most well-known and popular solution for moving data from one system to another. CDPs help you consolidate all of your customer data into a centralized location and let you push it out to nearly any destination of your choosing. CDPs take an extremely long time to implement because they typically come with long and drawn-out sales cycles.
On top of this, CDPs don’t necessarily play nicely with your current technologies. To be specific, CDPs simply create a second source of truth. They are also extremely rigid and in many cases they only let you map columns/rows based on users and accounts, which makes it really difficult to leverage your own unique custom objects or data models. In addition to this, you don’t own the data since it is no longer in your own cloud environment.
Option 5: Reverse ETL (Hightouch)
Reverse ETL works completely differently from all of the other options because you can use the power of Snowflake to move data directly to Hubspot. Reverse ETL tools like Hightouch integrate with your current technology stack, providing built-out integrations to let you sync data from Snowflake to Hubspot in real-time.
All you have to do is define your data using SQL or your own existing data models. Better yet, Hightouch doesn’t actually store any of your data, so you never have to worry about compliance issues. Getting started with Reverse ETL is extremely simple if you follow these steps.
Step 1: Connect to your data source
Step 2: Connect Hightouch to your destination
Step 3: Create a data model or leverage an existing one
You can use SQL to define your data directly in the Hightouch UI or even leverage your existing data models.
Step 4: Choose your primary key
With Hightouch you can map on any unique key, not just users and accounts.
Step 5: Create your sync
Once you have created your sync, you simply have to choose the appropriate columns and map them to the fields in your end destination.
Step 6: Schedule your sync
Once your sync is created you can run it manually, define a set interval, or schedule it to run after a dbt job is completed.
The first integration with Hightouch is completely free so you can actually get started today. If you want to learn more about Reverse ETL, download our guide.