ht
Documentation
WelcomeConcepts

Get Started

OverviewCreate a sourceCreate a modelCreate a destinationCreate a sync
Documentation/Destinations/Mixpanel
ht
Documentation

Mixpanel

Table of Contents
Overview
Mixpanel gives you detailed, real-time insight into how people interact with your products. Get valuable customer insights to make smarter decisions and act faster based on how customers use your product or website.

Overview

Via the Mixpanel destination, Hightouch can create and sync Users, Groups, Events, and Lookup Tables.

Initial Setup

To configure your Mixpanel destination you will need to provide the following information: Project ID, Project Token, and Service Account Username and Secret.To find the Project ID, navigate to Settings -> Project Settings -> Overview -> Project Details:To find the Project Token, navigate to Settings -> Project Settings -> Overview -> Access Keys:Finally, in order to obtain your Service Account Username and Secret you must create a Service Account in Mixpanel by navigating to Settings -> Project Settings -> Service Accounts -> Add Service Account (be sure to give your service account Owner or Admin permissions):

Mixpanel Sync Types

Hightouch currently supports syncing the following Mixpanel sync types:
  • Events
  • Objects:
    • Users
    • Groups
  • Enrichment (Lookup Tables)

Syncing Mixpanel Objects

Sync Modes

This integration only supports the Upsert mode.In this mode, new users and groups will be inserted into Mixpanel and all attributes will be kept up-to-date within Mixpanel.This mode is good for the following scenarios:
  • You want to push objects into Mixpanel and want to keep the data up-to-date

Record Matching

Records can be matched from your source to your Mixpanel workspace by your Mixpanel User ID, email or Group ID.

Group Key (Groups Only)

If you are syncing group profiles, you need to set the group key of the type of group. You can find your group keys in Settings > Your Project.To sync your organization profiles, enter the key org_id into the Mixpanel group key field.

Field Mapping

You can sync columns from your source to Mixpanel's default and custom fields.

Assigning Users to Groups (Users Only)

To assign users to groups, create an upsert sync to users. 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 (i.e. google) or an array of group IDs (i.e. [ google, apple, microsoft ]).Then, find your group key, and use it as the destination field to sync to.

Users location

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

Syncing Mixpanel Events

Track Event Configuration

Hightouch supports sending events of a given name, i.e. Signed Up. Hightouch also allows you to choose the column containing the timestamp, user ID, and device ID.Note: Hightouch accepts a normal date time format for the timestamp, and automatically converts it to the format required by Mixpanel.

Field Mappings

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

Assigning Events to Groups

To assign users 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, similar to assigning users to groups.For example, to sync organizations, use a column called organizations containing either a group ID (i.e. google) or an array of group IDs (i.e. [ google, apple, microsoft ]).Then, find your group key, and use it as the destination field to sync to.

Syncing Mixpanel Lookup Tables

Hightouch supports integrating with Mixpanel Lookup Tables. As per Mixpanel's documentation:
Lookup tables provide the ability for Mixpanel customers to enrich their event and profile properties within Mixpanel with additional data with a simple CSV upload or via APIs.

Sync Modes

This integration only supports the All sync mode. In this mode, the entire lookup table is replaced with each sync.

Creating Lookup Tables

As of this writing, the only way to create Mixpanel lookup tables is to import them directly in Mixpanel. You can do this by navigating to Data Management -> Lexicon -> Lookup Tables -> Import -> Lookup Table:

Sync Configuration

Hightouch allows you to choose the specific lookup table you want to replace:

Record Matching

Records can be matched 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:

Field Mappings

You may also sync columns from your source to your Mixpanel Lookup Table's custom fields:

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 100MB uncompressed (roughly 1-2M rows).