Mailchimp to PostgreSQL: 2 Easy Methods

on Data Integration, Tutorials • August 31st, 2021 • Write for Hevo

Does your team use Mailchimp to manage its marketing campaigns? Are you eager to start generating actionable insights from the data related to these campaigns? If this applies to you, then moving your data from Mailchimp to PostgreSQL database may be a good first step. This blog post will take you through two ways of connecting Mailchimp to PostgreSQL

Table of Contents

Introduction to Mailchimp

Mailchimp Logo
Image Source

Mailchimp is a comprehensive marketing platform that enables you to create and manage interactions with your customer base. These interactions may be in the form of automated campaigns, newsletters, etc. Using Mailchimp enables you to have complete control of these customer engagement and marketing efforts. It has become a popular marketing platform because of its simplicity and ease of use. 

Key features of Mailchimp

  • Automated Email Campaigns: Marketing campaigns can be fully automated based on certain trigger actions. 
  • Geo-targeting: Mailchimp enables you to specifically target individuals from a particular location or region. This is very helpful for businesses that offer different products or product versions depending on location.
  • Analytics/Reporting Feature: Mailchimp offers an integrated reporting and analytics feature that enables you to generate simple charts and graphs to help you monitor your marketing efforts. 
  • Advanced E-Commerce Functionality: Mailchimp allows you to track the number of purchases and revenue generated by specific campaigns. This makes it easy for you to monitor individual campaign performance. 

Introduction to PostgreSQL

Postgresql logo
Image Source

PostgreSQL is a widely-used relational database that operates using a variant of SQL. PostgreSQL is very versatile since it scales with different workloads. This versatility enables it to be a fully functional store for many situations, from small applications to large-scale data warehouses. Furthermore, PostgreSQL has an architecture that encourages extensibility. Thus, you are able to incorporate code from other languages without having to recompile the database. PostgreSQL is also ACID-compliant and runs on all the major operating systems. 

Key Features of PostgreSQL

  • ACID-compliant: PostgreSQL is ACID-compliant and this ensures that your transactions are handled in a reliable and timely manner.
  • Open Source: PostgreSQL is fully open source and has an active community to help you with efficient tips, bug resolution, etc.
  • Extensibility: PostgreSQL is among the most customizable databases on the market. This means it is readily able to incorporate new functionality into its system.

Loading data from Mailchimp to PostgreSQL

Method 1: Using ETL Scripts to Connect Mailchimp to PostgreSQL

This method requires you to build custom ETL scripts using Mailchimp’s APIs to transfer data to PostgreSQL. For this method, you need to invest significantly in engineering resources.

Method 2: Using Hevo Data to Connect Mailchimp to PostgreSQL

Hevo Data, a No-code Data Pipeline, enables you to seamlessly integrate data from Mailchimp and other free data sources to the PostgreSQL database. This can be done within minutes without having to write any custom scripts. Hevo provides a simple, fast, and reliable way to take care of your data integration needs.

GET STARTED WITH HEVO FOR FREE

Methods to Connect Mailchimp to PostgreSQL

There are 2 methods you can implement to connect Mailchimp to PostgreSQL. They are as follows:

Method 1: Using ETL Scripts to Connect Mailchimp to PostgreSQL

Prerequisites

You need to take care of the following prerequisites before proceeding to write ETL scripts in this method:

  • Mailchimp Account
  • HTTP client (to interact with the Mailchimp REST API)
  • Authorization 
  • Operational PostgreSQL Database
  • Business rules (For data transformation)

The high-level steps for manually transferring data from Mailchimp to PostgreSQL are:

Step 1: Extracting Data from Mailchimp

You can extract the data from Mailchimp by interacting with its REST API. Mailchimp has a very rich API that exposes a lot of endpoints for you to interact with. Some of these are lists, reports, campaigns, etc. The data will be returned in JSON format. You can choose to interact with the API directly or with a tool like Curl or Postman. For example, you can use the following command with Curl.

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

This will yield the following response in JSON format:

{ "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 },…………

More information on the Mailchimp API is available in this link: https://mailchimp.com/developer/guides/get-started-with-mailchimp-api-3/

Step 2: Preparing the Data

The data from Mailchimp is in JSON format and so it may require flattening before it is loaded into PostgreSQL. You may want to convert your JSON file to CSV to match the relational database structure of PostgreSQL. However, this is not mandatory as you can also feed the JSON into a SQL statement that extracts the information and feeds it into a table. The following is an example of code that can help you achieve this.

with json (doc) as (
   values 
    ('[
      {
        "id": 08133………
}
    ]'::json)
)
insert into TABLE1 ;

You also have to make sure that the data types in your Mailchimp data match the data types in PostgreSQL. You may also want to create a schema to ensure that your tables in PostgreSQL match their corresponding endpoints in the Mailchimp data. PostgreSQL currently provides support for many of the widely used data types today. More information on the data types supported by PostgreSQL can be found in this link: https://www.PostgreSQLql.org/docs/9.5/datatype.html.

Step 3: Loading Data into PostgreSQL

We can load the data into PostgreSQL through the following steps:

  • Create a staging table

First, you need to create an appropriate staging table to load data. An example of doing this is as follows:

CREATE TABLE TABLE_NAME
(COLUMN_1 TYPE,
COLUMN_2 TYPE……)
Mailchimp to PostgreSQL: Creating table in PostgreSQL
  • Use the COPY SQL command to load the data

Once you are satisfied with the state of your data, you can use the COPY command to load it into PostgreSQL. An example of this code is as follows: 

COPY table_name
FROM 'file_name.csv' HEADER CSV DELIMITER ',';

This will transfer your data to the corresponding PostgreSQL table.

Limitations of Connecting Mailchimp to PostgreSQL

  • Difficult data transformation: It is incredibly difficult to perform fast data transformations like date/time conversions with this method.
  • Time-consuming: This method takes up a lot of time because you have to manually write code to perform the ETL tasks. This could prove to be problematic when you have limited engineering resources.
  • Constant monitoring and maintenance: This method requires constant surveillance as inaccurate data will be returned if the Mailchimp API is down or if there are any connectivity issues.
  • Real-time limitations: You will have to write extra code to configure cron jobs to approach even basic real-time functionality.

Method 2: Using Hevo Data to Connect Mailchimp to PostgreSQL

Image Source

Hevo Data, a No-code Data Pipeline, helps you transfer data from 100+ data sources (including 30+ free sources) to PostgreSQL & lets you visualize it in a BI tool. 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.

It provides a consistent & reliable solution to manage data in real-time and always have analysis-ready data in your desired destination. It allows you to focus on key business needs and perform insightful analysis using various BI tools such as Power BI, Tableau, etc. 

Sign up here for a 14-Day Free Trial!

The steps to load data from Mailchimp to PostgreSQL are as follows:

  • Step 1: Set up and configure your Mailchimp platform by entering the Pipeline name to move data from Hevo Data to Mailchimp.
Mailchimp to Postgresql: Source Configuration
Image Source
  • Step 2: Load data from Mailchimp to PostgreSQL by providing your Postgresql databases credentials like Database Host, Port, Username, Password, Schema, and Name along with the destination name.
Mailchimp to Postgresql: Destination Configuration
Image Source

Some of the salient features of Hevo are:

  • Data in real-time: Hevo’s real-time architecture ensures that your data is moved instantly and without delay. Thus, you can access analysis-ready data in real-time with Hevo. 
  • Simplicity: Hevo’s interface is intuitive and easy to use. It does not require any setup and starts transferring data instantly.
  • Transformations: Hevo provides preload transformations through Python code. It also allows you to run transformation code for each event in the pipelines you set up. You need to edit the event object’s properties received in the transform method as a parameter to carry out the transformation. Hevo also offers drag and drop transformations like Date and Control Functions, JSON, and Event Manipulation to name a few. These can be configured and tested before putting them to use.
  • Connectors: Hevo supports 100+ integrations to SaaS platforms, files, databases, analytics, and BI tools. It supports various destinations including Google BigQuery, Amazon Redshift, Snowflake Data Warehouses; Amazon S3 Data Lakes; and MySQL, MongoDB, TokuDB, DynamoDB, PostgreSQL databases to name a few.  
  • Reliable data load: Hevo has a fault-tolerant architecture that ensures that your data loads are reliable and consistent. This means that you can move data with zero loss.
  • Scalability: Hevo can handle a wide variety of data from 100+ sources like databases, analytics applications, sales and marketing applications, etc. at any scale. Thus, Hevo helps you scale your data infrastructure as your needs grow.
  • Zero maintenance: Hevo is fully managed and automated. Thus, setting it up does not require a lot of effort on your end. 

Conclusion

There are multiple ways to transfer data from Mailchimp to PostgreSQL. Hevo Data is the perfect alternative if you are looking for an easy way to transfer your data without the drawbacks of manual script writing. It provides hassle-free data integration that lets you focus on core tasks that require more strategizing and attention.

Extracting complex data from a diverse set of data sources can be a challenging task and this is where Hevo saves the day! Hevo offers a faster way to move data from Databases or SaaS applications into your Data Warehouse to be visualized in a BI tool. 

Hevo Data, a No-code Data Pipeline provides you with a consistent and reliable solution to manage data transfer between a variety of sources and a wide variety of Desired Destinations with a few clicks.

Visit our Website to Explore Hevo

Hevo Data with its strong integration with 100+ sources (including 30+ free sources) 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 so that you can 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 a seamless transfer of data from Mailchimp to PostgreSQL with 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.

What are your thoughts on transferring data from Mailchimp to PostgreSQL? Let us know in the comments. 

No-code Data Pipeline for PostgreSQL