Klaviyo Klaviyo BigQuery Google BigQuery Tutorial

How to Connect Klaviyo to Google BigQuery

Juan Bello

Juan Bello

Founder, Porter Metrics

Jan 30, 2026
15 min read

To connect Klaviyo to Google BigQuery:

  1. 1

    Log in with Google on portermetrics.com.

  2. 2

    Select Google BigQuery as destination.

  3. 3

    Select Klaviyo as data source and name your connection.

  4. 4

    Connect your Klaviyo account using your Private API key.

  5. 5

    Authenticate BigQuery via Google login or Service Account.

  6. 6

    Select Project ID, Dataset location, Dataset, and Table name (or create new).

  7. 7

    Select metrics (e.g., Profile Average Order Value) and dimensions (e.g., Campaign Name).

  8. 8

    Optionally, prompt custom fields (e.g., Revenue Per Email, CLV).

  9. 9

    Set date range (e.g., this month to date).

  10. 10

    Schedule refreshes in natural language (e.g., “daily at 8am”).

  11. 11

    Set write mode (overwrite, append, or update).

  12. 12

    Send and monitor execution logs.

Four free and paid ways to connect Klaviyo to Google BigQuery

2. General ETL/ELT tools

Data integration platforms for data engineers. Examples: Fivetran, Stitch, Airbyte.

Export raw tables that mirror the source schema: one table for profiles, one for lists, one for campaigns, one for flows. Each table contains all fields. The data engineer writes SQL JOINs to relate tables, selects fields, transforms data, and uses dbt or Python for preprocessing before visualization.

3. Google BigQuery Data Transfer Service

Free native Google integration for data engineers.

Setup requirements:

  • Generate a Private API Key in Klaviyo Account Settings.
  • Copy the private key for API authentication.
  • Rate limits: 75 requests/second for most endpoints.
  • No OAuth required — API key authentication.
  • Build custom ETL pipeline to BigQuery (no native integration).

What you get:

  • Profiles, lists, and segments data.
  • Campaign and flow performance metrics.
  • Manual data pipeline maintenance required.

Limitations:

  • No native BigQuery integration: requires custom ETL pipeline.
  • Event data limits: large event volumes may require pagination.
  • API versioning: Klaviyo is transitioning to new API versions.
  • Metric calculations: some metrics require custom aggregation.

4. Manual CSV export or Google Sheets

Export from Klaviyo manually. No automation.

How it works:

Limitations:

  • No automation: repeat manually for each update.
  • Column limit: maximum 700 columns per export. No documented row limit.
  • No scheduled refreshes.
  • Manual upload to BigQuery required.

How to Connect Klaviyo to Google BigQuery for Marketers (No Code)

Porter is an AI-native connector. Configure everything with natural language, not SQL or forms. Custom fields, filters, scheduling—all prompted in plain English. No coding, no data engineering required.

  • Data preview is always live. As you select metrics, dimensions, filters, and date ranges, Porter shows your data in real-time. Verify everything before sending to BigQuery.
  • Data arrives transformed, blended, and ready to visualize. No SQL transformations needed after.

In this tutorial, we’ll show you how to send your Klaviyo data to Google BigQuery with Porter. We’ll send email marketing data including fields like Campaign Opens, Clicks, Revenue, and custom fields like Revenue per Email and Conversion Rate.

Set a connection

Log in to portermetrics.com with Google. Click “Create” and select “Google BigQuery” as destination. Name your connection (e.g., “Klaviyo Campaign Performance”). Select Klaviyo as data source.

Select your BigQuery projects interface

Connect your Klaviyo accounts

Enter your Klaviyo Private API key. You can generate this in your Klaviyo account settings. Select the Klaviyo accounts you want to connect.

Connect Klaviyo to Google BigQuery

Multi-account

Consolidate dozens or hundreds of accounts in a single report.

Required permissions

Full access or custom API key on the Klaviyo account.

Tokens never expire

Your Klaviyo connection stays active as long as your API key remains valid.

Connect your BigQuery destination

Authenticate with Google login or Service Account. Select Project ID, Dataset location, Dataset, and Table name.

Select your BigQuery projects interface
  • Google login (recommended): Porter lists your projects in a dropdown. Easiest option.
  • Service Account JSON: for companies with strict permissions management on Google Workspace. Copy a JSON text from your project details to connect.
  • Dataset location: US, EU, or your preferred region.
  • Auto-update schema: if you change your query later, Porter updates the schema automatically and rewrites it in your BigQuery table, unlike other tools.

New to BigQuery? Create your first project:

Go to console.cloud.google.com. In the Navigation Menu (top left), select BigQuery → Studio. On the left panel, you’ll see your projects.

  1. Create a Project: select or create a new project (e.g., “Marketing Data”). Choose a name, type, and organization. BigQuery creates a folder for it.
  2. Create a Dataset: expand your project folder, click the ellipsis, and select “Create Dataset.” Name it (e.g., “email_data”) and select a location (US or EU).
  3. Create a Table: inside your dataset, you can create a table (e.g., “klaviyo_email”). Or let Porter create it automatically when you send your first query.

The Project ID, Dataset name, and Table name you set here are the same values you’ll enter in Porter’s BigQuery configuration.

Verify your data in BigQuery:

When you select a table, BigQuery shows the Schema view first. This is the metadata: field names, field types, and modes. To see your exported data, go to the Preview tab. Once your query executes, you’ll see the complete table with your data.

Google BigQuery dataset preview

Choose metrics

In the metrics dropdown, search and select: e.g., Profile Historic CLV, Profile Predicted CLV, Profile Total CLV, Profile Average Order Value, Profile Historic Number Of Orders.

Select Klaviyo metrics to transfer to Google BigQuery
+500 Fields Available: Porter brings most fields from the Klaviyo API. Expect the exact same data you see in the platform. See all Klaviyo fields

Choose dimensions

To segment your data, in the dimensions dropdown, search and select: e.g., Campaign Name, Campaign Channel, Date.

Select Klaviyo dimensions to transfer to Google BigQuery
  • Other dimensions: Date, Campaign Archived, Campaign Channel, Campaign Created At, Campaign ID, Campaign Ignore Unsubscribers, Campaign Is Add UTM.
  • Time dimensions: Date, Week, Month, Quarter, Year available for trending analysis.
  • Full field list: Check the Porter documentation for all available fields and dimensions.

See all Klaviyo fields

Create custom fields

For custom metrics, add a new metric, prompt your formula in natural language, and check the formula generated and a preview of the query. Choose the format of your metric (number, currency, percentage). For this example: CLV Growth = “Profile Predicted CLV / Profile Historic CLV”, Churn Risk = “Profile Churn Probability / Profile Total CLV”.

Create custom metrics with natural language interface

For custom dimensions, prompt your formula to segment data based on naming conventions. If your naming conventions include objective, funnel stage, or products, prompt a formula like: “If campaign name contains ‘awareness’, tag as ‘Awareness’. If contains ‘consideration’, tag as ‘Consideration’. If contains ‘conversion’, tag as ‘Conversion’. Else ‘Other’.” In the preview, see how Porter transforms conditionals into regex for custom segmentations.

Create custom dimensions interface

Create your own metrics or dimensions so no SQL or transformation is needed in BigQuery. Your data is ready to be connected to Looker Studio. Supported operations: math (sum, subtract, divide, multiply), conditionals (if/then/else), regex (pattern matching). Same capabilities as Looker Studio calculated fields.

Set date range

Select a date range from the dropdown. For this example: last 30 days.

Set a date range interface
  • Dynamic ranges: today, yesterday, last 7/14/28/30/90 days, this week/month/quarter/year to date, last week/month/quarter/year.
  • Fixed ranges: specific start and end dates.
  • Auto-update: data refreshes automatically based on dynamic range.

Add filters

The Klaviyo connector may return records with no activity. We’ll create a filter to exclude them.

For this example:

  • Condition: Exclude
  • Field: Email Status
  • Operator: equals
  • Value: 0
Create a filter interface

This excludes all campaigns without activity, so your query only returns campaigns with activity.

  • Available operators: equals, contains, not contains, greater than, less than, starts with, ends with.
  • Value detection: Porter detects if the field is a number or text automatically.
  • Combine filters: add AND/OR logic within the same condition or create multiple filters in one query.

Schedule refresh

Prompt your schedule in natural language. For this example: “every day at 8am”.

Schedule data refreshes with AI interface
  • Examples: “Every Monday at 5am”, “Weekdays at 7pm”, “Every hour”, “Every Tuesday and Friday at 9am”.
  • Auto-convert: Porter converts prompts into cron expressions.
  • Timezone: detected automatically from your browser.
  • Minimum frequency: every minute. No extra cost for frequent refreshes.

Choose write mode

Select how Porter writes data to BigQuery. For this example: Overwrite.

Data refresh mode interface
  • Overwrite (recommended): deletes existing table and writes fresh data. No duplicates.
  • Append: adds new rows below existing data. Risk of duplicates if same date range runs twice.
  • Update: matches rows by dimension and updates values. For CRM data with changing values.

Send, monitor, and organize

Click “Save” to save your query and click “Send” to deliver the data to Google BigQuery. The transfer takes a few seconds depending on the volume of data. Once finished, you can refresh it or create more queries.

Manage your data interface

To create more queries: go back to the query manager inside your connection, or go to Porter Metrics → Account → Reports → Connections. In the Queries tab, you’ll see all queries running from your account with their associated connection, name, data sources, last run time, latest status, and option to run manually.

To monitor executions: click the ellipses icon and select “History.” You’ll see logs with exact date and time, execution type (manual or scheduled), and status. If an error occurs, you’ll see the specific error message.

To organize your data: manage connections and queries within them. Name connections by campaign (e.g., “Black Friday”), by client, or by data source. Within each connection, create as many queries or tables as needed and rename them. You can enable/disable queries or connections, and update any query anytime—Porter refreshes and updates the schema on BigQuery automatically.

How to Connect Your BigQuery Table to Google Looker Studio

First, verify your data in BigQuery:

Go to console.cloud.google.com/bigquery. In the left menu, under Products, find BigQuery → Studio. This is where you manage your tables.

BigQuery hierarchy:

  • Project (e.g., “Marketing Data”): your top-level container.
  • Dataset (e.g., “Email Data”): a collection of tables within a project.
  • Table (e.g., “Klaviyo”): your actual data.

In BigQuery Studio, go to “Classic Explorer” and select your project. Click the ellipsis to create a new dataset if needed (set a name and location, e.g., US or Europe). Navigate to your dataset and table. In “Schema,” see the list of fields and their types. In “Preview,” see your actual data. To refresh data, go back to Porter and resend—Porter overwrites the table.

Connect BigQuery to Looker Studio:

Go to Looker Studio. Click “Create” and select “Report” to start a blank report. Looker Studio will prompt you to add a data source. Search for “BigQuery” and connect your Google account.

You’ll see options: Recent Projects, My Projects, Shared Projects, Custom Query, Public Datasets.

Select “My Projects” and navigate to your project, dataset, and table. In this example: Project “Marketing Data” → Dataset “Email Data” → Table “Klaviyo”. Click “Add” to connect.

Once connected, Looker Studio loads the fields from your table. Create a chart, add your dimensions (e.g., date) and metrics (e.g., Profile Average Order Value). Make sure to set a date range that matches your query in Porter.

Looker Studio BigQuery connection
Rename fields for readability: BigQuery field names use underscores (e.g., “klaviyo_email_spend”). To rename them, go to Resource → Manage added data sources → Actions → Edit. Double-click on each field name to change it (e.g., “klaviyo_email_spend” → “Spend”). This makes fields more readable for end users.

Your BigQuery data is now connected to Looker Studio.

Klaviyo Templates for BigQuery + Looker Studio

Porter has the most complete Looker Studio template gallery for marketing data.

Templates are compatible with BigQuery tables created in Porter.

Note: BigQuery field names use underscores instead of spaces (e.g., “amount_spent” instead of “Spend”). You may need to map fields when connecting a template.

Available templates:

Why Marketers Move Klaviyo Data to BigQuery

  • Connect any reporting tool: BigQuery connects to Looker Studio, Power BI, Tableau, or any BI tool. One warehouse, every destination.
  • Multi-touch attribution: Join Klaviyo with raw GA4 event data. Trace the full user path from ad click to conversion.
  • Source of truth: Define what “conversion” means for your company. Compare Meta vs. GA4 vs. HubSpot. Pick one source for CAC, ROAS, and CPA. End the “which number is right” debate.
  • Company-wide access without platform permissions: Managing permissions across platforms is a pain. With BigQuery, anyone can access marketing data without accounts or roles in each platform. One permission model, all data.
  • Make data available for AI: AI needs clean, structured data with context. Every AI tool feels siloed. Integrating sources is complicated. With BigQuery as your universal warehouse, any AI tool can access your marketing data. No custom integrations. No complicated setup.
  • Data blending: Combine Klaviyo with CRM, GA4, Shopify, Google Ads in one warehouse. Measure real profit, not platform ROAS. Calculate blended CAC across all channels.

What’s Next

Now that your Klaviyo data is in BigQuery:

  • Connect to BigQuery: learn Google BigQuery for marketers and read tutorials to connect other data sources.
  • Connect to Looker Studio: Build dashboards that load in seconds. Use Porter templates or create your own.
  • Connect to Google Sheets: Export BigQuery data to Sheets for quick analysis, sharing with clients, or custom calculations.
  • Blend data from multiple sources: Add Google Ads, GA4, Shopify, CRM to the same connection. Porter auto-maps equivalent fields. Create cross-channel reports without SQL joins.
  • Create AI workflows: Automate alerts and reports with natural language. Example: “Every Monday at 9am, get Klaviyo data for last 7 days, analyze performance with AI, send summary to Slack.”
  • Use templates: Start with pre-built Looker Studio templates. Campaign performance, creative analysis, audience breakdowns—ready to connect.
  • Explore other destinations: Send Klaviyo data to Google Sheets, PostgreSQL, or other warehouses. Same setup process.

Browse all Klaviyo templates

Ready to connect Klaviyo to BigQuery?

Start your free trial and get your marketing data flowing in minutes.

Book a call →