Coupler.io Blog

An Easy-to-Follow Guide to the Klaviyo – Google Sheets Integration

Integrate Klaviyo into Google Sheets

To connect Klaviyo to Google Sheets and automate data exports for marketing performance reporting or analytics, you need a Klaviyo API key and Coupler.io. The latter is a data integration platform and AI analytics that provides a Klaviyo data connector to spreadsheets, dashboards, DWHs, and AI tools. It requires no coding skills or any technical background to integrate Klaviyo into Google Sheets.

How to generate a Klaviyo API key?

Coupler.io uses the Klaviyo API to load your data, so a Klaviyo API Key is required to get the Klaviyo data through the API. It works like a password to authenticate the request. To get your Klaviyo API Key, log into your account dashboard and follow these steps:

Now, we are ready to go for the Klaviyo Google Sheets integration.

How to integrate Klaviyo with Google Sheets using Coupler.io

1. Extract your Klaviyo data automatically

First, click Proceed in the form below to create a Coupler.io account for free and a Google Sheets connector for Klaviyo. No credit card is required.

Then, connect your Klaviyo account by providing your API key.

After this, select a data entity: Campaigns list, Profiles list, or Report. For the Report, you’ll also need to specify start/end dates and metrics to include.

2. Preview and organize your data

In the next step, you can check the dataset that is about to be imported into Google Sheets and organize it to your liking:

3. Load data and schedule updates

Once this is done, proceed with the next steps and connect your Google Sheets account. You’ll also need to select a spreadsheet and a sheet to load data from Klaviyo.

A special thing about Coupler.io is that it supports multiple destinations for your data flows. This means that the same data from Klaviyo can be connected to Google Sheets, Data Studio, Claude, etc.

The last thing to do is make your report in Google Sheets self-updating. Specify your preferences for scheduled updates, and Coupler.io will keep refreshing your Klaviyo data in the spreadsheet. 

You can schedule updates at intervals of up to every 15 minutes, so data flows into your automated report in near real-time.

4. Bonus step – Talk to your data in AI agent

With your Google Sheets – Klaviyo integration up and running, you can click the AI Agent tab and chat with it about your data.

It’s a built-in LLM to analyze your data in a conversational form. So, if Klaviyo data in Google Sheets is more for data sharing and some results demonstration, AI Agent is more for drilling down into insights. Here are some questions you can ask:

Which email flows are cannibalizing each other? Are subscribers who enter the welcome series less likely to convert from the browse-abandonment flow?

Are there specific days or send windows where my flows underperform, and does that vary by segment?

I see a spike in spam complaints on Tuesday sends. Is that a content problem, a frequency problem, or a list-quality problem

The responses will be executed and validated by the Coupler.io Analytical Engine. The Agent will interpret them and provide you with a required response.

Use Coupler.io as an add-on for Google Sheets to load Klaviyo data

Alternatively, you can also install a Coupler.io add-on for Google Sheets – then you will be able to go through the same steps directly from a spreadsheet. Once it’s installed, you can find the add-on on the Extensions tab.

Now you can add, edit, and run data flows from Google Sheets worksheets.

What data you can export from Klaviyo

When you set up a data flow in Coupler.io, you select a data entity that determines which dataset lands in your destination. There are two groups: reports (aggregated performance data over a date range) and core entities (raw records you can filter and transform).

Reports

Data entityWhat it containsWhen to use it
Metrics analyticsAggregated event data — counts, sums, unique users — for any standard or custom event (“Placed Order,” “Opened Email,” “Clicked SMS,” etc.)Tracking account-wide activity and growth trends over time
Campaign performance reportPerformance stats per campaign — delivery, opens, clicks, conversions, revenue — over a selected date rangeComparing campaign results side by side or building a historical performance log
Segment performance reportTotal members, members added/removed, net changes per segment, with hourly/daily/weekly/monthly breakdownsMonitoring how audience composition shifts after campaigns or seasonal events
Flow performance reportPerformance stats per flow — delivery, opens, clicks, conversions — over a selected date rangeEvaluating which automated journeys drive engagement and revenue
Forms performance reportViews, submits, submit rate, and closures per sign-up form, with the same time-interval optionsComparing lead generation performance across different forms and placements

Core entities

Data entityWhat it containsWhen to use it
CampaignsOne-time marketing sends — message content, recipient estimates, send status, channel settingsKeeping a running log of everything sent without checking Klaviyo’s UI each time
ProfilesSubscriber and customer records — contact info, predictive analytics (churn risk), email/SMS consent history, push tokensList cleanup, custom segmentation, or joining subscriber data with Shopify/WooCommerce orders
FlowsAutomated journeys (welcome series, abandoned carts, post-purchase sequences) with automation logic and individual messagesAuditing automation setup or comparing flow configurations
SegmentsDynamic audience groups with their defining conditions and rulesSnapshots of how targeting criteria are performing over time
FormsSign-up form configurations, targeting rules, and submission dataComparing acquisition performance across multiple forms in a spreadsheet

Each entity exports as a flat table, ready for formulas, pivot tables, or dashboards as soon as it hits the destination.

Visualize your Klaviyo data with ready-to-use dashboard templates

Integrating Klaviyo with Google Sheets is just the first step. To gain actionable insights from your data, you need proper visualization. Coupler.io offers multiple ready-to-use Looker Studio dashboard templates specifically designed for Klaviyo data. These dashboards automatically connect to your data source and provide real-time insights without any manual setup or design work.

Klaviyo analytics dashboard

This ready-to-use dashboard template helps you monitor and analyze your Klaviyo email marketing performance with intuitive visualizations. Perfect for marketers who want to quickly understand campaign effectiveness without building reports from scratch.

What insights you can get

How to use this dashboard

To use this dashboard, simply follow the instructions in the Readme tab to connect your Klaviyo account and load data to the dashboard in Looker Studio. The process is straightforward and requires no technical expertise – just authenticate your Klaviyo account and the dashboard will automatically populate with your data.

Email marketing analytics dashboard template for Klaviyo

This dashboard brings together Klaviyo email data and Google Analytics 4 website data. As a result, it provides a complete picture of how your email campaigns influence user behavior on your website and drive conversions.

What insights you can get

How to use this dashboard

When you open this dashboard, check the Readme tab first – it contains all the necessary instructions to connect your Klaviyo and Google Analytics 4 accounts. The dashboard uses direct connectors to pull data from both platforms, eliminating manual exports and providing you with a comprehensive cross-channel view of your marketing performance that updates automatically.

Klaviyo email campaign performance dashboard for Shopify/WooCommerce store

Open rates and click rates only tell half the story. Coupler.io offers a Klaviyo email performance dashboard for Shopify and WooCommerce that adds store order data to the picture. Each version is a separate Looker Studio template that connects to your store platform alongside Klaviyo.

What insights you can get

How to use this dashboard

Open the template and follow the setup instructions. You’ll connect your Klaviyo account and your store platform (Shopify or WooCommerce) through the built-in Coupler.io connector. The dashboard populates with your data automatically and refreshes on the schedule you set.

Other ways to integrate Klaviyo into Google Sheets

Klaviyo allows exporting data into .csv files, which can be later imported into Google Sheets. This method requires you to repeat the manual export-import process every time you need fresh data. Therefore, it is not feasible if you’re looking to connect Klaviyo to Google Sheets and integrate the data flow. 

The best part of Klaviyo is its seamless integration with other platforms. The availability of the API makes it possible to connect it with any other platform or tool. API (Application Programming Interface) is a mechanism that enables communication between two applications through a common protocol.

I’ve already shared how to connect Klaviyo API with Google Sheets using the no-code Coupler.io connector. Google Apps Script is another tech-savvy option. This programmatic method requires the knowledge of Apps Script to pull data from Klaviyo to Google Sheets. Similar to Coupler.io, it also uses the Klaviyo API to integrate Google Sheets (although with Coupler.io, it happens under the hood).

Connect Klaviyo to Google Sheets using Google Apps Script

Google Apps Script is a JavaScript-based language supported by Google Workspace to integrate various applications. You can use the Google Apps Script to call the Klaviyo API, fetch the required data, and import it into Google Sheets.

This method demands high proficiency in the JavaScript language and working with APIs. Let’s say you want to get all the profiles from Klaviyo into Google Sheets. You can follow these steps to do that using Google Apps Script:

function ListProfiles() {
   const API_URL = "https://a.klaviyo.com/api";
   const DATA_ENDPOINT = "/v1/people";
   const API_KEY = "Your_Klaviyo_API Key";
   const response = UrlFetchApp.fetch(API_URL + DATA_ENDPOINT + "?api_key=" + API_KEY);
   const content = JSON.parse(response.getContentText());
   const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // Change Sheet1 to the name of your sheet




  // Create the header row 
  var headerValues = ["ID", "Email", "First Name", "Last Name", "Address 1", "Address 2", "City", "Country", "Region", "Zip", "Title", "Phone Number", "Organization", "Updated"]; // the header row values
  sheet.getRange(1, 1, 1, headerValues.length).setValues([headerValues]); // add the new header row


   // Get existing data in sheet
   const dataRange = sheet.getDataRange();


   const values = dataRange.getValues();




   // Loop through Klaviyo data and update sheet
   for (let i = 0; i < content.data.length; i++) {
       const id = content.data[i].id;
       
       // Check if id already exists in sheet
       let existingRowIndex = -1;
       for (let j = 1; j < values.length; j++) { // Start at 1 to skip header row
           if (values[j][0] == id) { // Column 1 contains the id
               existingRowIndex = j + 1; // Add 1 to account for header row
               break;
           }
       }
       
       // If id exists, update other details in same row
       if (existingRowIndex > 0) {
           const rowToUpdate = sheet.getRange(existingRowIndex, 1, 1, 14);
           rowToUpdate.setValues([[id, content.data[i].email, content.data[i].first_name, content.data[i].last_name, content.data[i]['$address1'], content.data[i]['$address2'], content.data[i]['$city'], content.data[i]['$country'], content.data[i]['$region'], content.data[i]['$zip'], content.data[i]['$title'], content.data[i]['$phone_number'], content.data[i]['$organization'], content.data[i].updated]]);
       }
       
       // If id doesn't exist, add new row
       else {
           sheet.appendRow([id, content.data[i].email, content.data[i].first_name, content.data[i].last_name, content.data[i]['$address1'], content.data[i]['$address2'], content.data[i]['$city'], content.data[i]['$country'], content.data[i]['$region'], content.data[i]['$zip'], content.data[i]['$title'], content.data[i]['$phone_number'], content.data[i]['$organization'], content.data[i].updated]);
       }
   }
}

Remember to replace Your_Klaviyo_API Key in the above code with your Klaviyo Private API Key that we generated earlier.

Please note that the above-provided code is just an example of fetching profile data from Klaviyo to Google Sheets. It is programmed to replace the existing data with a fresh one on each run. You may need to modify the code, use different API endpoints, and other functions to retrieve data and make it function as per your requirements.

Once everything looks good, you can configure the Google Apps Script to automate data importing. Let’s see how to do that.

Auto-update Google Sheets from Klaviyo at regular intervals

Google Apps Script supports various event-based triggers to auto-run functions. You can create a time-based trigger to automatically import Klaviyo data to Google Sheets at regular intervals.

Let’s say you want to update Google Sheets every minute for the latest data. You can follow these steps:

Optionally, you can also choose the frequency to receive notifications in case of apps script failure.

Now, Google Apps Script will run the script at regular intervals to auto-update data in Google Sheets from Klaviyo.

Which is the best method to build a Google Sheets – Klaviyo integration?

Connecting Klaviyo to Google Sheets can help you import data such as profiles, campaigns, and metrics to analyze your marketing performance. In this article, we learned two main ways to integrate Klaviyo into Google Sheets.

Klaviyo Google Sheets integration using the Google Apps Script method requires coding expertise. This can be challenging and is prone to technical errors. Therefore, the best method to connect Google Sheets to Klaviyo is using Coupler.io. The platform automates the integration with minimum technical knowledge. In addition to Google Sheets, you can connect Klaviyo to Power BI and other tools to make the most out of your data.

Automate Klaviyo data export with Coupler.io

Get started for free
Exit mobile version