Mailchimp to Snowflake: 2 Easy Methods

on Tutorials, Data Integration, Data Warehouses, Mailchimp, Snowflake • April 10th, 2020 • Write for Hevo

Mailchimp to Snowflake blog cover image

Does your team use Mailchimp to manage its Marketing Campaigns? Do you want to gain actionable insights from this data? If this applies to you, then you might benefit from moving your Mailchimp data to a Data Warehouse like Snowflake.

This article explains 2 easy methods of moving data from Mailchimp to Snowflake. The blog will provide an introduction to Mailchimp and Snowflake. Afterward, it will explain the 2 methods to connect these two platforms. Furthermore, it will discuss the limitations of manually setting up Mailchimp to Snowflake integration. Read along to evaluate the 2 methods and choose the one which best suits your needs.

Table of Contents

Prerequisites

  • Working knowledge of Databases and Data Warehouses.
  • A Mailchimp account.
  • A Snowflake account.
  • Working Knowledge of SQL.
  • Clear idea regarding what data is to be transferred.

Introduction to Mailchimp

Mailchimp to Snowflake Integration - Mailchimp Logo
Image Source

Mailchimp is an all-in-one Marketing Platform. It enables you to create and manage all of your interactions with your customer base, which may be in the form of Newsletters, Mailing lists, Automated Campaigns, etc. Mailchimp enables end-to-end management of all these activities including detailed customization and high-level reporting. Mailchimp is very popular due to its simplicity and ease of use.

Key features of Mailchimp:

  • Analytics and Reporting Feature: Mailchimp enables you to generate high-level reports and charts through its analytics feature. This enables you to gain information on the success of your campaigns
  • Ecommerce Functionality: You can track the number of purchases for a specific campaign through Mailchimp. Thus, you can closely monitor your individual campaigns
  • Geo-targeting: Using Mailchimp enables you to target individuals from specific geographic locations, allowing you to get more specific with your campaigns.
  • Automated campaigns: Mailchimp enables you to automate Marketing Campaigns once certain actions are triggered 

Mailchimp’s Endpoints:

  • Automation: This is used to automate tasks such as sending emails triggered by specified time intervals or certain activities.
  • Campaigns: This is useful when you want to manage your E-Mail campaigns. It provides information about recipients, the type of campaign, and also the number of E-Mails delivered. You will be able to track your campaign’s success closely.
  • Conversations: It helps you track your interaction with your customers by providing several filters, such as information about unread E-Mails, information regarding replies sent, and other details.
  • Lists: Gives you a list of all users in a specific campaign. It can also be used to extract important information about the campaign such as the number of subscribers, users who left the campaign, etc.
  • Reports: It delivers analytical data which will help you make marketing decisions easily.

To learn more about Mailchimp, visit here.

Introduction to Snowflake

Mailchimp to Snowflake Integration - Snowflake Logo
Image Source

Snowflake is a fully managed Cloud-based Data Warehouse that operates using the Software-as-a-Service (SaaS) model. This model ensures that its users do not have to involve themselves with maintenance activities after setup. Snowflake has become a popular Data Warehouse option on the market due to its Speed, Scalability, and Simplicity. Snowflake also separates its storage and compute layers. This enables both layers to be scaled and priced independently of each other.

Key Features of Snowflake:

  • Speed: Scaling in Snowflake does not impact already running queries. Thus, running speeds are unaffected.
  • Low Maintenance: Snowflake does not require a lot of infrastructure management or software/hardware installations from your internal team as much of this is handled on the back end. 
  • Cloning Functionality: You can create instant copies of your objects in real-time with Snowflake. These are not deep copies, but stored pointers to the original data. Snowflake is thus able to save a lot of space through this functionality when compared to copy functions in other Data Warehouses.
  • Separate Compute and Storage Layers: The separate compute and storage layers mean that you can scale up or down on either one without affecting the other. 

To learn more about Snowflake, visit here.

Methods to Set up Mailchimp to Snowflake Integration

Method 1: Using Custom Code to Set up Mailchimp to Snowflake Integration

Using a manual ETL process would need you to custom code each step. This will require extracting data from Mailchimp manually in the JSON(JavaScript Object Notation) format and then converting it into the format required by Snowflake. Afterward, another step will involve loading this data into Snowflake using certain commands inbuilt commands.

Method 2: Using Hevo Data to Set up Mailchimp to Snowflake Integration

Hevo Data provides a hassle-free solution and helps you directly transfer data from Mailchimp to Snowflake and numerous other Databases/Data Warehouses or destinations of your choice without any intervention in an effortless manner. Hevo Data is fully managed and completely automates the process of not only loading data from your desired source but also enriching the data and transforming it into an analysis-ready form without having to write a single line of code.

Get Started with Hevo for Free

Hevo’s pre-built integration with Mailchimp along with 100+ other data sources(including 40+ free data sources such as Mailchimp) will take full charge of the data transfer process, allowing you to focus on key business activities.

Methods to Set up Mailchimp to Snowflake Integration

You can implement the following 2 methods to set up your Mailchimp to Snowflake Integration:

Method 1: Using Custom Code to Set up Mailchimp to Snowflake Integration

This process requires an investment from your Engineering team. The following are the required high-level steps:

Step 1: Extract the Data from Mailchimp

Mailchimp provides a rich REST API from which you can extract your data. Mailchimp’s API exposes a lot of endpoints with lists, campaigns, etc. that you can interact with. Your Mailchimp data will be returned in JSON format. You can choose to interact with the API directly or with a tool like Postman or curl. Example (with curl), 

curl --request GET --url 'https://usX.api.Mailchimp.com/3.0/lists/57afe96172/members' --user 'anystring:apikey' —include

The response will be of the following form:

{ "members": [ { "id": "f777bbffab8d1ceca8b757df63c47cb8", "email_address": "urist.mcvankab+1@freddiesjokes.co", 
"unique_email_id": "882e9bec19", "email_type": "html", "status": "subscribed", "status_if_new": "", 
"merge_fields": { "FNAME": "", "LNAME": "" }, "interests": { "9143cf3bd1": true, "3a2a927344": false, "f9c8f5f0ff": false, 
"f231b09abc": true, "bd6e66465f": false },…………

Additional information on Mailchimp’s API can be found here.

Step 2: Prepare the Data

Special care must be taken to ensure that the data types in Mailchimp match those in Snowflake. Snowflake provides support for many of the widely used data types today. Specific information on Snowflake data types can be found here.

You might also have to create additional tables to accommodate your Mailchimp data if the JSON is nested.

Step 3: Load the Data into Snowflake

We can load the data into Snowflake via SnowSQL, Snowflake’s command-line interface. Specifically, we’ll use the COPY INTO SQL command. The files can be loaded from a Snowflake Stage or any of its external storage locations. 

Loading from Snowflake Stages.

You can use the PUT command to ingest the data into a Snowflake stage. You can then use COPY INTO to load it into Snowflake.

Loading From External Storage Locations.

The data can either be loaded directly from an external location or loaded from a Snowflake external stage. The following is code to load from an external stage, Amazon s3, GCS, and Microsoft Azure respectively

  • External Stage:
COPY INTO TABLE1 FROM @External_Stage_Name
  • Amazon s3:
COPY INTO TABLE1 FROM s3://bucket
CREDENTIALS= (AWS_KEY_ID='YOUR AWS ACCESS KEY' 
AWS_SECRET_KEY='YOUR AWS SECRET ACCESS KEY') 
ENCRYPTION= (MASTER_KEY = 'YOUR MASTER KEY') 
FILE_FORMAT = (FORMAT_NAME = JSON_FORMAT)
  • GCS:
COPY INTO TABLE1 FROM 'gcs://bucket’
STORAGE_INTEGRATION=(Integration_name) 
ENCRYPTION= (MASTER_KEY = 'YOUR MASTER KEY') 
FILE_FORMAT = (FORMAT_NAME = JSON_FORMAT
  • Microsoft Azure:
COPY INTO TABLE1 FROM azure://your account.blob.core.windows.net/container
STORAGE_INTEGRATION=(Integration_name) 
ENCRYPTION= (MASTER_KEY = 'YOUR MASTER KEY') 
FILE_FORMAT = (FORMAT_NAME = JSON_FORMAT)

Limitations of Implementing the Manual Method:

  • Real-time Data Availability: The manual method does not make accommodations for real-time data updates. You have to configure cron jobs and write lots of extra code to even have limited real-time functionality
  • Maintenance: Using this method will return inaccurate data if the Mailchimp API experiences any issues or is down. Thus, it has to be monitored continuously
  • Time-Consuming: This method is time-consuming since you have to manually write code to perform your ETL tasks. This could be problematic in fast-paced organizations where tight deadlines are enforced
  • Difficulty with Data Transformations: There is no way to perform quick transformations (like date/time/currency conversions) under this method.

Method 2: Using Hevo Data to Set up Mailchimp to Snowflake Integration

Mailchimp to Snowflake Integration - Hevo Data Pipeline Logo
Image Source

Hevo Data, a No-code Data Pipeline, helps you directly transfer data from Mailchimp and 100+ other data sources (including 40+ free sources such as Mailchimp) to Data Warehouses such as Snowflake, Databases, BI tools, or a destination of your choice in a completely hassle-free & automated manner. Hevo is fully managed and completely automates the process of not only loading data from your desired source but also enriching the data and transforming it into an analysis-ready form without having to write a single line of code. Its fault-tolerant architecture ensures that the data is handled in a secure, consistent manner with zero data loss.

Hevo Data takes care of all your data preprocessing needs and lets you focus on key business activities and draw a much powerful insight on how to generate more leads, retain customers, and take your business to new heights of profitability. It provides a consistent & reliable solution to manage data in real-time and always have analysis-ready data in your desired destination.

Moving your data from Mailchimp to Snowflake with Hevo Data is a very straightforward and automated process. It can be completed by using the following steps:

  • Configure the Data Source: Configure and connect your Mailchimp account as a data source.
Mailchimp to Snowflake Integration - Configuration of Mailchimp with Hevo Data
Image Source

To get more details about Configuring Mailchimp with Hevo Data visit this link.

  • Configure Destination: Configure your Snowflake account as the destination.
Mailchimp to Snowflake Integration - Configuration of Snowflake with Hevo Data
Image Source

To get more details about Configuring Snowflake with Hevo Data visit this link.

You now have a real-time pipeline for syncing data from Mailchimp to Snowflake.

More Reasons to Try Hevo Data:

  • Simplicity: Hevo is easy to use and intuitive. Using Hevo will ensure that your data is transferred in just a few clicks
  • Scalability: Hevo easily handles data from a wide variety of free sources at any scale. Thus, helping you scale your data infrastructure as your needs grow. 
  • Minimal Setup: Hevo is a fully managed and automated platform. Thus, it does not require a lot of effort to set up on your end
  • Reliable data load: Hevo has an inbuilt fault-tolerant architecture which ensures that your data loads are done reliably and consistently with minimal data loss. 
  • Real-time: Hevo’s real-time streaming architecture ensures that your data transfer is instant and without delay. This enables you to get real-time insights from your data.

Conclusion

This article introduced you to Snowflake Data Warehouse and Mailchimp and explained their key features. It also explained the step-by-step process of setting up Mailchimp to Snowflake integration. The first approach of creating the ETL process through custom codes, although effective, will require a good amount of time and resources on your part.

Visit our Website to Explore Hevo

Hevo Data with its strong integration with 100+ data sources (including 40+ Free Sources such as Mailchimp) allows you to not only export data from your desired data sources & load it to the destination of your choice but also transform & enrich your data to make it analysis-ready. Hevo also allows integrating data from non-native sources using Hevo’s in-built Webhooks Connector. You can then focus on your key business needs and perform insightful analysis using BI tools. 

Want to give Hevo a try? Sign Up for a 14-day free trial and experience the feature-rich Hevo suite first hand. You may also have a look at the amazing price, which will assist you in selecting the best plan for your requirements.

Share your experience of understanding the process of setting up Mailchimp to Snowflake Integration in the comment section below! We would love to hear your thoughts.

No-code Data Pipeline for Snowflake