Iterate’s Mixpanel integration offers powerful bi-directional capabilities to help you understand your users better and automate your feedback loops.
Note: There are two distinct ways to use Mixpanel with Iterate:
Mixpanel as a Source: Send survey responses and user data TO Mixpanel to analyze feedback alongside user behavior.
Mixpanel Webhooks: Use Mixpanel events to trigger email surveys sent FROM Iterate.
Send survey data to Mixpanel (Source)
Available on the Premium Integrations plan.
The Mixpanel Source integration allows you to automatically sync survey responses and user traits directly into your Mixpanel project. When a user responds to a survey, Iterate sends an event to Mixpanel and updates the user's profile properties in real-time.
1. Connect your Mixpanel Project
First, you need to authorize the connection between Iterate and Mixpanel.
Log in to your Mixpanel account.
Navigate to Settings (gear icon) > Project Settings.
Scroll down to Access Keys and copy your Project Token.
In a separate tab, open Iterate and go to Settings > Integrations.
Click Add Integration next to Mixpanel.
Paste your Project Token and select your Region (US or EU).
Note: This must match the Data Residency setting of your Mixpanel project.
Click Save.
2. Enable the integration
Once connected, you can enable the data sync on a survey-by-survey basis.
Go to the specific survey you wish to track.
Select the Responses tab and click on Integrations in the left sidebar.
Find Mixpanel in the list and toggle "Send survey responses to Mixpanel" to ON.
Customizing Events By default, Iterate uses the question text as the property name in Mixpanel. If you prefer shorter or cleaner property names (e.g., converting "How would you rate us?" to nps_score), click Edit events below the toggle. Here you can set custom labels or disable specific questions from being sent entirely.
Data sent to Mixpanel
When a user answers a question, Iterate sends data to Mixpanel in two ways: as a Track Event and as a Profile Update.
1. The "Survey Question Response" Event Every answer triggers a Survey Question Response event containing the following properties:
Survey IdSurvey NameQuestion(The prompt text)Response(The actual answer)Response String(Useful for text analysis)Response Int(Useful for numeric aggregation, e.g., NPS or Ratings)Label(If a custom name was configured)
2. User Profile Updates (Engage API) Iterate also updates the user's profile in Mixpanel. The property name will be the question prompt (or your custom label), and the value will be the user's response. This allows you to segment users in Mixpanel based on how they answered your survey.
User Identification To ensure data is mapped to the correct user, Iterate looks for an external_id (passed via the Iterate embed code or link parameters).
If an
external_idis present, we use it as the Mixpaneldistinct_id.If no
external_idis present, we fall back to Iterate's internal user ID.
Technical Details
Deduplication: Iterate includes a unique
$insert_id(formatted as{feedbackId}-{questionId}) with every event. This ensures that if data is retried, Mixpanel will ignore duplicates within their 5-day deduplication window.Matrix Questions: These are sent as individual properties formatted as
{question} - {subquestion}.User Info Questions: Responses are split into separate properties for
email,first_name,last_name, andphone.
Trigger surveys from Mixpanel (Webhooks)
You can use Mixpanel's webhook functionality to automatically trigger an Iterate email survey when a user performs a specific action in your product (e.g., "Completed Onboarding" or "Downgraded Plan").
1: Get your Iterate Webhook URL
In Iterate, select the Email survey you wish to send.
Go to the Send tab.
Select Email as the distribution method, then choose Integrate.
Copy the URL displayed in the Mixpanel section.
2: Configure the Webhook in Mixpanel
Log in to Mixpanel.
Click Settings (Gear Icon) > Integrations in the top navigation bar (if you do not see it there, look under the Data tab).
Scroll down and select Custom Webhook.
Click Connect.
Name your webhook (e.g., "Iterate NPS Survey").
In the URL field, paste the link you copied from Iterate.
Click Continue or Save.
3: Sync a Cohort to Trigger the Survey
Surveys are triggered when you export a Cohort to the webhook.
Navigate to Data > Lexicon > Cohorts.
Create a Cohort that defines which users should receive the survey (e.g., "Signed Up more than 30 days ago").
Click the three dots icon next to your Cohort title (or select the Cohort) and choose Export to > [Your Webhook Name].
Select Recurring Sync to ensure the survey is sent automatically whenever new users match the Cohort criteria.
Note: Mixpanel typically syncs cohorts every 30 minutes.
Click Begin Sync.