Skip to main content
Connectors

Mixpanel connector

Set up the Mixpanel connector in Kaivo: authentication, configuration, the 6 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 Mixpanel 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 Mixpanel connector

Sync your Mixpanel product analytics into BigQuery with Kaivo to analyse events and user behaviour alongside the rest of your data.

CategoryMarketing & Sales, Tech
AuthenticationAPI key
SetupSelf-service

Getting started with the Mixpanel connector

  1. Sign up for Kaivo and create a workspace.
  2. Connect your Mixpanel 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 Mixpanel

The Mixpanel connector supports 2 ways to connect. Pick the one that fits how you work.

Service Account

Authenticate with your Mixpanel credentials. You provide:

FieldDescription
Username

Mixpanel Service Account Username. See the docs for more information on how to obtain this.

Secret

Mixpanel Service Account Secret. See the docs for more information on how to obtain this.

Project ID

Your project ID number. See the docs for more information on how to obtain this.

Project Secret

Authenticate with your Project Secret.

FieldDescription
Project Secret

Mixpanel project secret. See the docs for more information on how to obtain this.

Configuring the Mixpanel connector

When you set up the connector, you provide:

FieldDescription
Attribution Window

A period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted.

Project Timezone

Time zone in which integer date times are stored. The project timezone may be found in the project settings in the Mixpanel console.

Select Properties By Default

Setting this config parameter to TRUE ensures that new properties on events and engage records are captured. Otherwise new properties will be ignored.

Start Date

Any data before this date will not be fetched.

Region

The region of your Mixpanel instance, either US or EU.

Tables and columns synced from Mixpanel

Kaivo syncs 6 tables from Mixpanel 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.
dateTIMESTAMPThe date of the annotation in ISO 8601 date-time format.
project_idINT64The identifier of the project to which the annotation belongs.
idINT64The unique identifier of the annotation.
descriptionSTRINGThe description or notes associated with the annotation.
user__idINT64The unique identifier of the user.
user__first_nameSTRINGThe first name of the user.
user__last_nameSTRINGThe last name of the user.
_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.
cohort_idINT64The unique identifier of the cohort to which the member belongs
distinct_idSTRINGThe distinct identifier of the cohort member
browserSTRINGThe web browser used by the cohort member
browser_versionSTRINGThe version of the web browser used by the cohort member
citySTRINGThe city where the cohort member is located
country_codeSTRINGThe country code of the country where the cohort member is located
regionSTRINGThe region where the cohort member is located
timezoneSTRINGThe timezone of the cohort member
last_seenTIMESTAMPThe date and time when the cohort member was last seen
emailSTRINGThe email address of the cohort member
nameSTRINGThe name of the cohort member
first_nameSTRINGThe first name of the cohort member
last_nameSTRINGThe last name of the cohort member
idSTRINGThe unique identifier of the cohort member
unblockedSTRINGIndicator of whether the cohort member is unblocked
_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.
idINT64The unique identifier of the cohort data.
data_group_idINT64The identifier of the data group to which the cohort belongs.
nameSTRINGThe name or title of the cohort data.
descriptionSTRINGA brief description or summary of the cohort data.
createdTIMESTAMPThe date and time when the cohort data was created.
countINT64The total count or number associated with the cohort data.
is_visibleINT64A flag indicating the visibility status of the cohort data.
project_idINT64The identifier of the project to which the cohort data belongs.
_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.
distinct_idSTRINGThe unique identifier for the user.
browserSTRINGThe type of browser used by the user.
browser_versionSTRINGThe version of the browser used by the user.
citySTRINGThe city where the user is located.
country_codeSTRINGThe country code of the user's location.
regionSTRINGThe region where the user is located.
timezoneSTRINGThe timezone of the user's location.
last_seenTIMESTAMPThe date and time when the user was last seen.
emailSTRINGThe email address of the user.
nameSTRINGThe full name of the user.
first_nameSTRINGThe first name of the user.
last_nameSTRINGThe last name of the user.
idSTRINGThe unique ID associated with the user.
unblockedSTRINGIndicates whether the user is unblocked or not.
_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.
funnel_idINT64Unique identifier for the funnel.
nameSTRINGName of the funnel.
dateDATEDate field for the funnel data.
datetimeTIMESTAMPDate and time field for the funnel data.
analysis__completionINT64Completion metric value.
analysis__starting_amountINT64Starting amount of users in the funnel.
analysis__stepsINT64Total number of steps in the funnel.
analysis__worstINT64Worst performing step in the funnel.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: funnels__steps

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.
countINT64Count of users in this step.
custom_eventBOOLCustom event associated with the step.
custom_event_idINT64Unique identifier for the custom event.
avg_timeFLOAT64Average time taken in the step.
avg_time_from_startFLOAT64Average time taken from the start to this step.
goalSTRINGGoal set for the step.
overall_conv_ratioFLOAT64Overall conversion ratio for the step.
step_conv_ratioFLOAT64Conversion ratio for the step.
eventSTRINGEvent triggered in this step.
session_eventSTRINGSession event recorded for the step.
step_labelSTRINGLabel for the step.
selectorSTRINGSelector for the step.
selector_params__step_labelSTRINGLabel for the step selector.
time_buckets_from_start__lowerINT64Lower range boundary for time buckets.
time_buckets_from_start__higherINT64Higher range boundary for time buckets.
time_buckets_from_prev__lowerINT64Lower range boundary for time buckets.
time_buckets_from_prev__higherINT64Higher range boundary for time buckets.
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: funnels__steps__time_buckets_from_start__buckets

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.
valueINT64
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

Subtable: funnels__steps__time_buckets_from_prev__buckets

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.
valueINT64
_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.
dateDATEDate for which the revenue data is recorded
datetimeTIMESTAMPDate and time for which the revenue data is recorded
countINT64Number of revenue transactions for the specified date
paid_countINT64Number of successful paid transactions for the specified date
amountFLOAT64Total revenue amount for the specified date
_kaivo_extracted_atTIMESTAMPTimestamp that shows when the row was extracted. Auto-generated by Kaivo.

How the Mixpanel sync works

After the first load, Kaivo keeps your BigQuery warehouse up to date for you. Where Mixpanel 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 Mixpanel?

It depends on how much history is in your Mixpanel 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 Mixpanel'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 Mixpanel, 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 Mixpanel 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 Mixpanel connector in Kaivo and all of its synced data is deleted with it.

Common use cases for Mixpanel data

Event analysis

Analyse your Mixpanel events to study the actions that matter most over time.

Funnel and retention

Use event and user data to track how users move through key flows and come back.

Product context

Join product behaviour with your revenue data to connect usage to outcomes.

Use Mixpanel data in your AI and BI tools

Once Mixpanel 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 Mixpanel 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 Mixpanel connector pricing and plan details.

Was this helpful?

Still need help? Share an idea