---
title: Mixpanel
description: Connect Mixpanel, understand its sync behavior, and query every table and column it writes.
species: reference
---
# Mixpanel

Connect Mixpanel with service-account credentials and a project id. The source writes 4 fixed tables under `titan.mixpanel`.
```sql
select
  insert_id,
  event,
  distinct_id
from titan.mixpanel.events
limit 10
```

## Connect Mixpanel

1. Open **Apps**, choose **Connect app**, and select **Mixpanel**.
2. Enter service-account credentials and a project id.
3. Review the tables, then save the source.
4. Watch **Sync history** until the first run completes.

Credentials are stored as secrets. They never become lake columns or appear in query results.

## Sync behavior

Configure the initial sync date and late-arrival lookback so delayed events are refreshed without rereading all history.

A new source syncs when you connect it and then follows its schedule. The default recurring interval is 4 hours. An interrupted run keeps its completed progress and retries safely.

Every lake table also has the [system columns](/v2/docs/concepts/your-lake#the-system-columns) `_synced_at` and `_deleted`; the column reference below lists source columns only.

## Table reference

### `events`

`titan.mixpanel.events` has 5 source columns.

```columns table=mixpanel.events
insert_id                               string pk           Source field `insertId`.
event                                   string              Source field `event`.
distinct_id                             string              Source field `distinctId`.
time                                    datetime            Source field `time`.
properties                              json                Source field `properties`.
```

### `profiles`

`titan.mixpanel.profiles` has 2 source columns.

```columns table=mixpanel.profiles
distinct_id                             string pk           Source field `distinctId`.
properties                              json                Source field `properties`.
```

### `cohorts`

`titan.mixpanel.cohorts` has 4 source columns.

```columns table=mixpanel.cohorts
id                                      integer pk          Source field `id`.
name                                    string              Source field `name`.
description                             string              Source field `description`.
created                                 datetime            Source field `created`.
```

### `funnels`

`titan.mixpanel.funnels` has 2 source columns.

```columns table=mixpanel.funnels
funnel_id                               integer pk          Source field `funnelId`.
name                                    string              Source field `name`.
```

## Deletes and history

Rows are merged by their source key. When the source can prove that a row was deleted, Supernova keeps the row and sets `_deleted` so queries can choose whether to include history. Filter current-state queries with `where not _deleted`.
