Search documentation...

K

Mixpanel

Perform deeper analysis and better understand user behavior by bringing enriched customer data from your data warehouse into Mixpanel

Overview

Ideally, your data warehouse is the single source of truth for all your customer data. When that's the case, using your warehouse as the source for your Mixpanel data enables richer product-usage analysis. You can sync enriched data from your warehouse to create more granular segments on Mixpanel as well as bring in data from your engagement tools. Moreover, you can ensure that your product and growth teams work with data that's always up-to-date and in the expected format. Lastly, if your company also uses a Business Intelligence tool such as Looker or Mode, you can ensure that the data is consistent across both systems.

Supported syncing

Object TypeDescriptionSupported Sync Modes
ObjectsSync records to objects such as users or organizations (groups) in your destination.Upsert
EventsSync records as events to your destination. This is often in the form of a track call.Insert
Lookup tablesSync records as a CSV file to enrich event and profile properties within Mixpanel.All sync

In Upsert mode, new users and groups are inserted into Mixpanel and all attributes are kept up-to-date.

In All sync mode, the entire lookup table is replaced with each sync.

Getting started

To configure your Mixpanel destination you need to provide the following information:

  • Project ID
  • Project Token
  • Service Account Username and Secret
  • Group Keys, when syncing group objects

Project ID

To find your Project ID, click the Settings icon, then Project Settings. Then navigate to Overview > Project Details.

Mixpanel Project ID

Project token

To find your Project Token, click the Settings icon, then Project Settings. Then navigate to Overview > Access Keys.

Mixpanel Project Token

Service account

To receive your Service Account Username and Secret you must first create a Service Account.
Click the Settings icon, then Project Settings. Then navigate to Service Accounts > Add Service Account and copy the Username and Secret.

Mixpanel Service Account

Be sure to give your Service Account Owner or Admin permissions.

Group keys

If you are syncing group profiles or assigning users to groups, you need to indicate which Group Key to use. To find your Group Keys, click the Settings icon, then Project Settings. Then navigate to Overview > Group Keys. Copy the appropriate Key value.

Example Group Keys in the Mixpanel UI

Syncing data

Objects

You can decide to sync either User Objects or Group Objects.

Selecting the User object in the Hightouch UI

When syncing Group Objects, enter the appropriate group key into the Mixpanel group key field.

Record matching

You can match records from your source to your Mixpanel workspace by Mixpanel User ID, email or Group ID.

Matching records on the Mixpanel UserID in the Hightouch UI

Field mapping

You can sync columns from your source to your default and custom fields in Mixpanel. If you're syncing User Objects, you can see two sections: one for native Mixpanel fields and one for custom fields.

Field mapping in the Hightouch UI

If you're syncing Group Objects, you can only see one section.

Field mapping in the Hightouch UI

Users location

By default, users uploaded using Hightouch won't have any associated location in Mixpanel. To set a location, provide an IP address (field $ip), or longitude and latitude coordinates (fields $longitude and $latitude). For more information, you can visit Mixpanel's official documentation.

Assigning users to groups

To assign users to groups, create a sync for User Objects. Then, create a column in your model which contains the group IDs that you want to assign the user to. For example, to sync organizations, use a column called organizations containing either a group ID (google) or an array of group IDs ([google, apple, microsoft]). Then, find your group key, and use it as the destination field to sync to.

Events

Hightouch supports sending events of a given name, for example, Signed Up.

To ensure syncs send each event, use a hash function for the event model's primary key . The hash should combine all columns, including member ID, timestamp, etc. See the event sync documentation for more information.

Hightouch lets you choose the column containing the event timestamp.

Hightouch accepts various date time formats for the timestamp and automatically converts them to the format required by Mixpanel.

Record matching

You can match records from your source to your Mixpanel workspace by Mixpanel User ID.

Matching events records in the Hightouch UI

Field mapping

Hightouch allows you to pass data to the event properties of a Mixpanel event.

Mapping fields in the Hightouch UI

Assigning events to groups

To assign events to groups, create a sync to events. Then, create a column in your model which contains the group IDs that you want to assign the event to.
For example, to sync organizations, use a column called organizations containing either a group ID (google) or an array of group IDs ([google, apple, microsoft]). Then, find your group key, and use it as the destination field to sync to.

Assigning events to a group using group key in the Hightouch UI

Lookup tables

To sync data to your Lookup tables, choose Enrichment. Then choose the specific Lookup table you want to replace.

Syncing to Look up tables in the Hightouch UI

Record matching

You can match records from your source to your Mixpanel workspace by the ID mapping of your choice. The ID mapping should reference the unique identifier field of the events or profiles you are seeking to enrich.

Matching records on the "ID" field in the Hightouch UI

Field mapping

You may also sync columns from your source to your Mixpanel Lookup table's custom fields.

Field mapping to custom fields in the Hightouch UI

Creating lookup tables in Mixpanel

To create Lookup tables, you can import them directly in Mixpanel. You can do this by clicking on the Data Management icon and then on Lexicon. Navigate to Lookup Tables > Import > Lookup Table.

Creating lookup tables in the Mixpanel UI

Limitations

Mixpanel's Lookup table endpoint comes with the following limits:

  • Only 100 requests are allowed in a rolling 24 hour period. Please be mindful of this when choosing your sync schedule. Mixpanel recommends updating Lookup tables at most hourly.
  • A Lookup table must not exceed 100 MB uncompressed (roughly 1-2M rows).

Tips and troubleshooting

Common errors

Changing projects

If you need to change your Project ID, you also need to update the API Key that you originally provided. Project ID and API keys are paired together in the Mixpanel platform.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

On this page

OverviewSupported syncingGetting startedProject IDProject tokenService accountGroup keysSyncing dataObjectsEventsLookup tablesTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?