Stripe Tableau Integration: 3 Easy Methods

|

Stripe Tableau Integration

Do you run a business that uses Stripe to manage online payments? Do you wish to analyze your payments data but find it difficult to set up Stripe Tableau integration? If yes, then you’ve come to the right place. This article will give a step-by-step guide on setting up Stripe Tableau integration so that a proper analysis of your business performance can be performed.

Table of contents

Introduction to Stripe

Stripe Logo - Transfer Data for Free from Stripe to your target destination
Image Source: eWeek

Stripe is a payment gateway tool that is primarily used by businesses across the world to accept payments online. It has a suite of applications that allows businesses to collect revenue, manage frauds, and expand internationally. These applications are built on a cloud-based infrastructure that provides reliability, scalability, and security. The gateway supports over 135+ currencies allowing businesses to collect payments from different parts of the world. Stripe also has a set of developer tools that enable developers to integrate their website or applications with Stripe allowing payments directly through their system.

More information on Stripe can be found here.

Introduction to Tableau

Tableau Logo - Transfer Data for Free from Stripe to your target destination
Image Source: Wikipedia

Tableau is considered to be one of the most powerful and fastest-growing Business Intelligence and visualization tools available. It allows users to explore and manage data faster to discover previously unknown insights and prepare reports and dashboards sharing those insights in a form that can be understood by everyone in an organization irrespective of their skillset. Tableau is easy to set up and use, allowing integration from various sources like file systems such as CSV, Excel, etc, relational databases such as Oracle, SQL Server, DB2, etc, or cloud warehousing systems such as Google BigQuery, Windows Azure, etc.

More information on Tableau can be found here.

Download the Guide on How to Set Up a Data Analytics Stack
Download the Guide on How to Set Up a Data Analytics Stack
Download the Guide on How to Set Up a Data Analytics Stack
Learn how to build a self-service data analytics stack for your use case.

Ways to Set up Stripe Tableau Integration

Method 1: Manually Exporting Data from Stripe to Set up Stripe Tableau Integration

This method involves manually exporting the required data in CSV form using the Stripe user interface and importing it in Tableau.

Method 2: Using Cloud Data Warehouses to Set up Stripe Tableau Integration

This method involves using the Stripe API to export all required data to a cloud data warehouse, which is then connected to Tableau.

Method 3: Using Hevo Data to Set up Stripe Tableau Integration

Hevo is a No-code Data Pipeline. It will automatically load your Stripe data into Tableau without writing any line of code.

Transfer Data from sources like Stripe to your target destination for Free!

Get Started with Hevo for Free

Pre-requisites

  • Working knowledge of Stripe.
  • Working knowledge of Tableau.
  • An active Stripe account.
  • Tableau installed on the host workstation.

3 Methods to Set up Stripe Tableau Integration

Method 1: Manually Exporting Data from Stripe to Set up Stripe Tableau Integration

Various data attributes that are allowed to be exported on Stripe are description, time of creation, amount, refunds (if any), currency, the amount after currency conversion, refund amount after currency conversion, fee, tax, customer ID, etc.

This method can be implemented using the following steps:

Step 1: Exporting Data from Stripe

The first step of the process would involve exporting the required data from Stripe. After logging in, select the “Payments” option on the left panel of the Stripe dashboard. The user can also choose to export data on the customer details or balance as per the requirements of the analysis.

Export Stripe Data
Image Source: Stripe

Select the “Export” option on the upper right corner, as shown above.

Filter Stripe Export Data
Image Source: Stripe

Select the required filters and select “Export.” The required data will be sent to the registered email address as a CSV file that can be downloaded.

Step 2: Importing Stripe Data into Tableau as CSV Files

Once the CSV has been downloaded, the next step is to connect that file to the Tableau workspace. Upon opening the Tableau desktop application, there will be few options to open specific types of files. The left panel would have another option called “More,” which allows the user to choose from various possible file types.

Connecting File to Tableau
Image Source: Tableau

This will open a file selector using which the file type is to be selected as “Character Delimited file (*.csv)” and the CSV file exported from Stripe has to be selected.

Final Step in Stripe Tableau Integration
Image Source: Tableau

Once the right file is selected and opened in Tableau, any required analysis can be conducted.

Limitations of Setting up Stripe Tableau Integration by Manual Extraction of Data from Stripe

  • No real-time replication of data. The user will have to manually export the data regularly, or the analysis might lead to incorrect results or false insights since all the data wasn’t available.
  • The entire dataset would be exported each time which will lead to duplication of data. These duplicates have to be identified and removed each time any analysis has to be conducted.

Method 2: Using Cloud Data Warehouses to Set up Stripe Tableau Integration

In this method, all the required data will be moved from Stripe to a centralized cloud data warehousing platform. Tableau will then be connected to this data warehousing platform allowing the user to conduct the required analysis. 

Although any cloud data warehouse can be used as per the choice of the user, Google BigQuery will be used for this example. 

This method can be implemented by using the following steps:

Step 1: Retrieving Stripe API Keys

Stripe has its own set of developer tools, documentation for which can be accessed here. It also provides a REST API that allows accessing, storing, and retrieving data. Any data returned by this API is in the JSON format. More information regarding the API can be found here.

Stripe users can access their APIs by logging on to Stripe and selecting “API Keys” under the “Development” options on the right panel of the dashboard, as seen in the screenshot below:

Stripe Developer Tools - Transfer Data for Free from Stripe to your target destination
Image Source: Stripe

User will only be able to see the API keys if it has a developer or administrator access. The user also has to ensure that the account is in live mode and not on test mode. The test mode can be turned off using the toggle button on the left panel. If these conditions are met, the user will see something like the screenshot below:

Retrieving Stripe API Keys
Image Source: Stripe

The publishable and secret keys have to be copied and saved in a safe location.

Step 2: Extracting Data from Stripe

Any call to the Stripe API is made over HTTPS for security reasons. Stripe API allows basic CRUD operations over all its core resources that use data such as charges, balance, refund, customer details, etc.  This example makes use of curl to access the API.

The following operations can be performed to extract data using the Stripe API:

curl https://api.stripe.com/v1/charges?limit=3 
   -u sk_test_BQokikJOvBiI2HlWgH4olfQ2:

The response would look similar to the following:

{
  "object": "list",
  "url": "/v1/charges",
  "has_more": false,
  "data": [
    {
      "id": "ch_17SY5f2eZvKYlo2CiPfbfz4a",
      "object": "charge",
      "amount": 500,
      "amount_refunded": 0,
      "application_fee": null,
      "balance_transaction": "txn_17KGyT2eZvKYlo2CoIQ1KPB1",
      "captured": true,
      "created": 1452627963,
      "currency": "usd",
      "customer": null,
      "description": "thedude@grepinnovation.com Account Credit",
      "destination": null,
      "dispute": null,
      "failure_code": null,
      "failure_message": null,
      "fraud_details": {
      }, …….

The customer object would look similar to the following:

{
  "id": "sub_7hy2fgATDfYnJS",
  "object": "subscription",
  "application_fee_percent": xxxx,
  "cancel_at_period_end": false,
  "canceled_at": xxxx,
  "current_period_end": 1455306419,
  "current_period_start": 1452628019,
  "customer": "cus_7hy0yQ55razJrh",
  "discount": xxxx,
  "ended_at": xxxx,
  "metadata": {
  },
  "plan": {
    "id": "gold2132",
    "object": "plan",
    "amount": 2000,
    "created": 1386249594,
    "currency": "usd",
    "interval": "month",
    "interval_count": 1,
    "livemode": false,
    "metadata": {
    },
    "name": "Gold ",
    "statement_descriptor": null,
    "trial_period_days": null
  },
  "quantity": 1,
  "start": 1452628019,
  "status": "active",
  "tax_percent": null,
  "trial_end": null,
  "trial_start": null
}

Stripe Developer Tools also allow the creation of Webhooks giving users the option to stream data. An event can be set which could be anything from a new payment received or a certain minimum amount of transactions that have been completed. As soon as that event occurs, Stripe will push the required data to the Webhook. More details on Stripe Webhook can be found here.

Step 3: Loading Stripe Data into a Data Warehouse (Using Google BigQuery as an Example here)

Google BigQuery supports only 6 data types i.e. string, integer, float, boolean, record, and timestamp, and 2 data formats i.e. CSV and JSON. The user has to ensure that the data is in the right format before it can be stored in Google BigQuery.

The data can be loaded in Google BigQuery by first loading it into the Google Cloud Platform using the JSON API from where a load job can be created for Google BigQuery.

To load the data into Google Cloud Platform, the following operations have to be performed:

POST /upload/storage/v1/b/myBucket/o?uploadType=media&name=myObject HTTP/1.1 Host: www.googleapis.com Content-Type: application/text Content-Length: 
number_of_bytes_in_file
 	Authorization: Bearer 
your_auth_token your Stripe data

The response would look similar to the following:

HTTP/1.1 200 Content-Type: application/json { "name": "myObject" }

The data has now been successfully loaded on Google BigQuery. Although Google BigQuery has been used for this example, the user can choose to use a warehouse of choice.

For more information on Data Migration to Amazon Redshift from Stripe, refer to this article or for Data Migration to Snowflake refer to this article.

Step 4: Connecting the Data Warehouse to Tableau

This is the final process in setting up Stripe Tableau integration. Once all required data has been moved to Google BigQuery, it has to be connected to Tableau so that the required analysis can be conducted on the data.

Upon opening Tableau on the host workstation, the user will be given an option to connect to a data source. Upon selecting More” on the left panel, the user has to select “Google BigQuery,” as shown in the screenshot below:

Connecting to a Warehouse - Transfer Data for Free from Stripe to your target destination
Image Source: Tableau

For Tableau to connect to the data warehouse, it’ll require access to the Google account associated with the BigQuery data source. This would require the user to sign in to their Google account.

Google Authentication for Warehouse Access
Image Source: Tableau

Upon successful sign-in, the user has to accept the terms and conditions and allow Tableau to access the account. Upon successfully establishing a connection to the Google BigQuery data source, the user will see a screen like this:

Final Step in Stripe Tableau Warehouse Integration - Transfer Data for Free from Stripe to your target destination
Image Source: Tableau

The user can select the desired schema on the left panel in the schema dropdown list and conduct the required analysis on it. This example shows how Google BigQuery can be connected to Tableau.

For detailed steps on how Amazon Redshift can be connected to Tableau, refer to our detailed article here, and for Snowflake Tableau connection, refer to another detailed article here.

Limitations of Setting up Stripe Tableau Integration via a Data Warehouse

  • The operations are too technical to be performed by someone who doesn’t have a technical background or the right experience.
  • Requires a cloud data warehousing system to be set up, which might not be available.
  • Since all possible data from Stripe is being transferred to the data warehouse every time, it’ll create duplicate data that has to be identified and removed manually to conduct analysis properly.

Method 3: Using Hevo Data to Set up Stripe Tableau Integration

Hevo Logo - Transfer Data for Free from Stripe to your target destination

Hevo is a No-code Data Pipeline. It supports pre-built data integrations from 100+ data sources, including Stripe. Hevo offers a fully managed solution for your fully automated pipeline to set up Stripe Tableau integration and will let you directly load data to Tableau from Stripe. It will automate your data flow in minutes without writing any line of code. Its fault-tolerant architecture makes sure that your data is secure and consistent. Hevo provides you with a truly efficient and fully automated solution to manage data in real-time and always have analysis-ready data at Tableau.

Now you can transfer data from Stripe to your target Destination for Free using Hevo!

Sign up here for a 14-Day Free Trial!

Hevo focuses on three simple steps to get you started

  • Connect: Connect Hevo with Stripe and various other payments, sales & marketing data sources by simply logging in with your credentials.
  • Integrate: Consolidate your payments & customer data from several sources in Hevo’s Managed Data Integration Platform and automatically transform it into an analysis-ready form.
  • Visualize: Connect Hevo with your desired BI tool such as Tableau and easily visualize your unified payments and sales data to gain better insights.

As can be seen, you are simply required to enter the corresponding credentials to implement this fully automated data pipeline without using any code.

The detailed documentation of the functionality offered can be found here.

Let’s look at some salient features of Hevo

  • Fully Managed: It requires no management and maintenance as Hevo is a fully automated platform.
  • Data Transformation: It provides a simple interface to perfect, modify, and enrich the data you want to transfer. 
  • Real-Time: Hevo offers real-time data migration. So, your data is always ready for analysis.
  • Schema Management: Hevo can automatically detect the schema of the incoming data and maps it to the destination schema.
  • Live Monitoring: Advanced monitoring gives you a one-stop view to watch all the activities that occur within pipelines.
  • Live Support: Hevo team is available round the clock to extend exceptional support to its customers through chat, email, and support calls.

Explore more about Hevo by signing up for a 14-day free trial today.

Conclusion

This article shows various methods of setting up Stripe Tableau integration to conduct an in-depth analysis of payments and customer data from Stripe to make the right business decision. The process can either be done manually every time analysis has to be conducted or automated using Hevo.

Hevo provides a No-Code Data Pipeline that allows accurate and real-time replication of data from 100+ sources of data.

Visit our Website to Explore Hevo

Give Hevo a try and Sign Up up for a 14-day free trial today! You can now transfer data from sources like Stripe to your target destination for Free using Hevo!

Manik Chhabra
Former Research Analyst, Hevo Data

Manik has a keen interest in data, software architecture, and has a flair for writing hightly technical content. He has experience writing articles on diverse topics related to data engineering and infrastructure. The problem solving and analytical thinking ability combined with the impact he can make in data professional's day to day life motivate him to create content.

Free No-Code Data Pipeline for Stripe