Skip to main content
Connectors

SparkPost connector

Set up the SparkPost connector in Kaivo: authentication, configuration, the 7 BigQuery tables it syncs, and answers to common questions.

Written By Lauri Raivio

Last updated 16 days ago

Kaivo is a fully managed data platform that syncs your SparkPost data into a Google BigQuery warehouse and keeps it up to date automatically. There is no pipeline to build and no infrastructure to run, so you can spend your time analysing your marketing and sales data instead of moving it.

What is the SparkPost connector

Sync your SparkPost delivery data into BigQuery with Kaivo to monitor email deliverability and engagement.

CategoryMarketing & Sales
AuthenticationAPI key
SetupSelf-service

Getting started with the SparkPost connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your SparkPost account.
  3. Choose which tables to sync.
  4. Wait for the initial sync to finish.
  5. Query your data in BigQuery or your favourite AI or BI tool.

Authenticating SparkPost

Authenticate with your API Key.

FieldDescription
API Key

Configuring the SparkPost connector

When you set up the connector, you provide:

FieldDescription
Start Date

Any data before this date will not be fetched.

API Endpoint Prefix

Tables and columns synced from SparkPost

Kaivo syncs 7 tables from SparkPost into a dedicated dataset in your BigQuery warehouse. Click any table to see its columns and types.

ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
versionFLOAT64
audience_selectionSTRING
confidence_levelFLOAT64
created_atSTRING
default_template__count_acceptedFLOAT64
default_template__count_unique_confirmed_openedFLOAT64
default_template__engagement_rateFLOAT64
default_template__percentFLOAT64
default_template__template_idSTRING
end_timeSTRING
engagement_timeoutFLOAT64
idSTRING
metricSTRING
nameSTRING
start_timeSTRING
statusSTRING
test_modeSTRING
updated_atSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: ab_test__variants

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
confidenceFLOAT64
count_acceptedFLOAT64
count_unique_confirmed_openedFLOAT64
engagement_rateFLOAT64
percentFLOAT64
template_idSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
typeSTRING
click_trackingBOOL
customer_idFLOAT64
delv_methodSTRING
event_idSTRING
friendly_fromSTRING
injection_timeSTRING
ip_addressSTRING
ip_poolSTRING
mailbox_providerSTRING
mailbox_provider_regionSTRING
message_idSTRING
msg_fromSTRING
msg_sizeSTRING
num_retriesSTRING
outbound_tlsSTRING
queue_timeSTRING
raw_rcpt_toSTRING
rcpt_toSTRING
recipient_domainSTRING
recv_methodSTRING
routing_domainSTRING
sending_domainSTRING
sending_ipSTRING
subjectSTRING
template_idSTRING
template_versionSTRING
timestampSTRING
transmission_idSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: message_events__rcpt_tags

ColumnTypeDescription
_kaivo_parent_idSTRINGForeign key referencing _kaivo_id in the parent table. Auto-generated by Kaivo.
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
valueJSON
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
attributes__internal_idFLOAT64
attributes__list_group_idFLOAT64
idSTRING
nameSTRING
total_accepted_recipientsFLOAT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
creation_timeSTRING
domainSTRING
is_default_bounce_domainBOOL
shared_with_subaccountsBOOL
status__abuse_at_statusSTRING
status__cname_statusSTRING
status__compliance_statusSTRING
status__dkim_statusSTRING
status__mx_statusSTRING
status__ownership_verifiedBOOL
status__postmaster_at_statusSTRING
status__spf_statusSTRING
status__verification_mailbox_statusSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
created_atSTRING
idSTRING
shared_with_subaccountsBOOL
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
compliance_statusSTRING
customer_idFLOAT64
idFLOAT64
nameSTRING
statusSTRING
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.
ColumnTypeDescription
_kaivo_idSTRINGPrimary key that uniquely identifies the row. Auto-generated by Kaivo.
descriptionSTRING
has_draftBOOL
has_publishedBOOL
idSTRING
last_update_timeSTRING
last_useSTRING
nameSTRING
publishedBOOL
shared_with_subaccountsBOOL
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the SparkPost sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where SparkPost supports it, each sync pulls only new and changed records so it stays fast; otherwise it refreshes the whole table. Every record keeps its original ID, so you won't get duplicate rows.

Frequently asked questions

How long does the initial sync take for SparkPost?

It depends on how much history is in your SparkPost account. Most initial syncs finish within minutes, while large accounts can take a few hours. After that, syncs only fetch new and changed records, so they're much faster.

Can I sync only some tables or columns?

Yes. You pick which tables to sync when you set up the connection and can change the selection later. Tables you don't select are never copied to your warehouse.

What happens when SparkPost's schema changes?

New fields are never added automatically. You choose which fields to sync, so data you haven't selected (sensitive personal data, for example) never lands in your warehouse. When a new field appears, it becomes available for you to add. What happens to removed or renamed fields depends on a table's sync mode: full-refresh tables always match what's currently in SparkPost, so dropped fields disappear, while incremental tables keep their existing columns and history, so an old field stays and newly added fields fill in over time.

How do I handle GDPR or data deletion requests?

Your data lives in your own Kaivo-managed BigQuery warehouse, so the most direct option is to delete or anonymise specific records right in BigQuery. If you delete data in SparkPost instead, full-refresh tables drop it on the next sync, while incremental tables keep it, so you would remove the row in BigQuery or ask us to run a full refresh. To remove everything, delete the SparkPost connector in Kaivo and all of its synced data is deleted with it.

Common use cases for SparkPost data

Deliverability monitoring

Use message_events to track delivered, bounced, and failed messages over time.

Engagement tracking

Use message_events to measure opens and clicks across your sends.

Domain and template view

Join sending_domains and templates with events to compare performance.

Use SparkPost data in your AI and BI tools

Once SparkPost data lands in your Kaivo-managed BigQuery warehouse, you can explore it with AI tools or any BI tool that connects to BigQuery. Here's how the most common destinations work with SparkPost data.

Claude

Use Kaivo's MCP server to give Claude secure, workspace-scoped access to your data. Setup guide →

Power BI

Microsoft's BI tool with a native BigQuery connector. Supports direct query and scheduled refresh. Setup guide →

Data Studio

Free Google BI tool with native BigQuery support. One-click connection to your Kaivo warehouse; great for SMB teams on Google Workspace. Setup guide →

Tableau

The premium analytics standard, with native BigQuery integration. Setup guide →

Google Sheets

Use Connected Sheets to query BigQuery directly from a spreadsheet, with no SQL. Setup guide →

Excel

Connect via Power Query's BigQuery connector. Setup guide →

Metabase

Open-source BI tool with strong BigQuery support. Setup guide →

See our pricing page for SparkPost connector pricing and plan details.

Was this helpful?

Still need help? Share an idea