{"site":{"name":"Koji","description":"AI-native customer research platform that helps teams conduct, analyze, and synthesize customer interviews at scale.","url":"https://www.koji.so","contentTypes":["blog","documentation"],"lastUpdated":"2026-05-27T06:43:51.465Z"},"content":[{"type":"documentation","id":"e0d4475e-d757-4a93-a3e8-3ca4902dabdd","slug":"mixpanel-research-integration","title":"Mixpanel + Koji: Trigger AI Interviews from Product Events and Pipe Insights Back as Properties","url":"https://www.koji.so/docs/mixpanel-research-integration","summary":"The Koji + Mixpanel integration is bidirectional. From Mixpanel into Koji: export a behavioral cohort (drop-offs, aha skippers, power users, churned-and-returned, feature-adoption laggards) and trigger a Koji AI-moderated interview to every user in it via webhook or Zapier. From Koji back into Mixpanel: on every interview's `analysis_ready` event, post a `Koji Interview Completed` event with theme, sentiment, quality score, and transcript URL, plus update user profile properties like `last_interview_sentiment` and `last_interview_themes`. The result is a single Mixpanel workspace where you can segment any behavioral metric by qualitative theme — funnel conversion by theme, retention curves by sentiment, A/B test reads with the qualitative why attached. The integration uses Koji's headless API, HMAC-signed webhooks, and Mixpanel's Ingestion API. Three integration paths exist: Zapier (no code, 30 min), Mixpanel Cohort Sync + serverless forwarder (1 hour), or reverse ETL (Hightouch/Census, production-grade). Identity resolution works via email or custom respondent_id; anonymous-mode studies skip the Mixpanel write entirely. Available on the Interviews plan (€79/mo) and Enterprise.","content":"# Mixpanel + Koji: Closing the Loop Between Product Analytics and Customer Conversations\n\n**Answer first:** Mixpanel tells you exactly *what* users do — funnels, retention curves, feature adoption rates. Koji's AI-moderated interviews tell you *why* they do it. The integration pattern is bidirectional: (1) export a Mixpanel cohort and trigger a Koji interview link to every user in it, and (2) pipe each completed Koji interview's themes, sentiment, and quality score back into Mixpanel as a custom event (`Koji Interview Completed`) and user profile properties. End-to-end this takes about 30 minutes to wire up via Mixpanel's Cohort Sync + Koji's headless API, or under an hour with no code via Zapier. With tools like Koji, the gap between \\\"these 142 users dropped off at the trial step\\\" and \\\"here are the seven things they actually said about why\\\" closes inside the same workspace you're already in every morning.\n\nIf you've ever stared at a Mixpanel funnel and wished you could click a drop-off step to read the transcripts of users who fell out, this is the integration that builds that experience.\n\n## Why combine Mixpanel and Koji\n\nMixpanel is the system of record for product behavior at thousands of growth-stage teams. It is excellent at quantitative analysis — funnels, retention, cohorts, JTBD-style breakdowns — and it answers \\\"what is happening\\\" better than almost any other tool. What it cannot do is tell you *why* a user did what they did. Most product teams patch that gap badly:\n\n- Sending a quarterly NPS email (low response rates, low candor).\n- Asking the CS team for vibes (anecdotal, biased to the loudest users).\n- Booking five user interviews a month (slow, costly, and a tiny sample compared to the cohort).\n\nKoji solves the scale problem — AI-moderated interviews can run dozens per week without scheduling — but the larger unlock is **targeting**. You don't want to interview \\\"users.\\\" You want to interview \\\"users who hit the activation event then went silent for 14 days\\\" or \\\"users in the top decile of usage who are still on the free plan.\\\" Mixpanel already knows how to define those audiences. The integration just hands them to Koji.\n\n## What flows in each direction\n\n### Mixpanel → Koji (trigger interviews from behavior)\n\n- A user enters a Mixpanel cohort (defined by any combination of events and profile properties).\n- A Cohort Sync to a webhook destination (or a daily export) fires the user's email to your forwarder.\n- The forwarder calls Koji's headless API to start an interview for that respondent (see [starting interviews via API](/docs/starting-interviews-via-api)).\n- Koji sends the personalized interview link via your email tool of choice, or via Koji's built-in delivery.\n\n### Koji → Mixpanel (pipe insights back as events + profile properties)\n\nWhen each Koji interview reaches `analysis_ready`, the webhook payload includes themes, sentiment, quality score, and a transcript URL. Your forwarder POSTs to Mixpanel's Ingestion API:\n\n- **As a custom event** — `Koji Interview Completed` with properties: `theme_top_1`, `theme_top_2`, `sentiment`, `quality_score`, `interview_mode` (voice or text), `transcript_url`.\n- **As user profile properties** — `last_interview_at`, `last_interview_sentiment`, `last_interview_themes` (list), `last_interview_quality`.\n\nOnce that data lands, you can build Mixpanel reports that segment any behavioral metric by interview theme — e.g., \\\"Day-30 retention for users whose last interview surfaced 'pricing confusion' is 18 points lower than the cohort average.\\\" That is a join survey tools cannot produce because surveys don't generate themes natively.\n\n## Step 1 — Decide which Mixpanel cohorts will trigger interviews\n\nThe highest-leverage Mixpanel → Koji pairings are behavioral cohorts where the *why* is most valuable:\n\n- **Activation drop-offs.** Users who signed up, hit step N of the funnel, then went silent for 7 days. Ask: what stopped them?\n- **Aha-moment skippers.** Users who used the product 3+ sessions but never hit the activation event. Ask: what did they think the product was supposed to do?\n- **Power users on the free plan.** Users in the top decile of usage who never converted. Ask: what would make them upgrade?\n- **Recently reactivated churners.** Users who returned after 30+ days dormant. Ask: what changed?\n- **Feature-adoption laggards.** Users who used a key feature once and never again. Ask: what disappointed them?\n\nDefine each one in Mixpanel as a saved cohort. The [feature adoption research](/docs/feature-adoption-research), [customer retention research](/docs/customer-retention-research), and [user onboarding research](/docs/user-onboarding-research) docs cover the methodology side of each pattern.\n\n## Step 2 — Trigger Koji interviews from Mixpanel\n\nThere are three integration paths, in order of operational maturity:\n\n### Path A: Zapier or Make (no code, ~30 minutes)\n\n1. **Trigger:** Mixpanel → New Cohort Member (via Mixpanel Cohort Sync to a Zapier-compatible destination, or via a scheduled export).\n2. **Action:** Koji → Start Interview, passing the respondent's email and the study ID.\n3. **Optional action:** Email tool → Send personalized interview link.\n\nFor Zapier specifics, see [Zapier research automation](/docs/zapier-research-automation).\n\n### Path B: Mixpanel Cohort Sync + Koji headless API (~1 hour)\n\nIf you're on a plan that includes Cohort Sync, pipe the cohort to a webhook destination. A small serverless function receives the cohort payload, iterates the user list, and calls Koji's [start interview API](/docs/starting-interviews-via-api) for each respondent. Koji deduplicates on `respondent_email`, so re-running the same cohort doesn't double-invite anyone.\n\n### Path C: Reverse ETL (Hightouch, Census, RudderStack) (production-grade)\n\nFor a high-volume program, use a reverse-ETL tool to mirror the Mixpanel cohort into Koji on a schedule. This is the cleanest pattern for teams that already run reverse ETL for other destinations and want to keep the integration declarative rather than imperative.\n\nFor any path, the [user research API guide](/docs/user-research-api-guide), [API authentication](/docs/api-authentication) doc, and [rate limits and CORS](/docs/rate-limits-and-cors) doc cover the credential and quota basics.\n\n## Step 3 — Pipe Koji results back into Mixpanel\n\nSubscribe to Koji's `interview.analysis_ready` event (full reference in [webhook setup](/docs/webhook-setup)). Your forwarder:\n\n1. **Verifies the Koji HMAC signature.** Reject any request whose signature does not match.\n2. **Posts to Mixpanel's Ingestion API** with two payloads:\n   - A `track` call: `event = \\\"Koji Interview Completed\\\"` with event properties for theme, sentiment, quality, mode, and transcript URL.\n   - An `engage` call: setting `last_interview_sentiment`, `last_interview_themes`, `last_interview_quality`, and `last_interview_at` as user profile properties on the matching `distinct_id`.\n3. **Handles anonymous interviews.** When `respondent_email` is null (anonymous-mode study), skip the Mixpanel write — there is no `distinct_id` to attach to.\n\nThe write completes in well under 100ms p95 and shows up in Mixpanel within roughly 2 minutes (subject to Mixpanel's standard ingestion latency).\n\n## What you can build in Mixpanel once the data lands\n\n- **Funnel × theme segmentation.** Take any onboarding or activation funnel and segment by `last_interview_themes`. The drop-off step where \\\"setup confusion\\\" is 4x represented is the actual problem to fix.\n- **Retention curves by sentiment.** Are users whose last Koji interview was `negative` more likely to churn? You don't have to guess — chart it.\n- **Cohort triggers from sentiment.** Build a cohort \\\"users whose `last_interview_sentiment = negative` in the last 30 days\\\" and pipe it to your CSM tool for save-the-account outreach.\n- **A/B-test annotation.** When you ship a change, drop Koji interview links to the control and treatment cohorts and pipe the qualitative read back into Mixpanel alongside the quant lift. You stop relying on instinct to explain \\\"why did treatment win?\\\"\n- **Feature adoption diagnostics.** For any feature whose adoption stalled, define a cohort of users who saw it but didn't adopt, trigger interviews, and surface the friction theme. The [feature adoption research](/docs/feature-adoption-research) doc walks through the playbook.\n\n## Comparison: Koji + Mixpanel vs. survey-tool + Mixpanel\n\nMixpanel integrates with most major survey tools (SurveyMonkey, Typeform, Qualtrics) via Zapier or its native marketplace. Why is the Koji integration meaningfully different from a survey integration?\n\n- **Themes are first-class.** Survey integrations deposit a numeric score and a raw text blob. Koji deposits *themes* — Mixpanel can group on them directly. With a survey, you'd have to run a downstream analysis pipeline to extract themes before you could segment cohorts on them. The [understanding themes and patterns](/docs/understanding-themes-patterns) doc covers how Koji generates them.\n- **AI follow-up probing closes the \\\"it's fine\\\" answers.** When a Typeform open-text says \\\"it's fine,\\\" that is the end of the data. When a Koji interview gets \\\"it's fine,\\\" the AI follows up and typically extracts the real reason in 2-3 more turns. The Mixpanel property ends up populated with substance, not filler. See the [AI probing guide](/docs/ai-probing-guide).\n- **Quality gating.** Koji scores each conversation 1-5 and you can configure your forwarder to only write back quality 3+ to keep your Mixpanel profile properties clean. Surveys cannot filter this way — every junk response lands as a property and contaminates your downstream analysis. See [understanding quality scores](/docs/understanding-quality-scores).\n- **Structured questions for clean events.** Koji's six structured question types (open_ended, scale, single_choice, multiple_choice, ranking, yes_no — see [structured questions guide](/docs/structured-questions-guide)) emit clean structured event properties, not unstructured text. That means a Mixpanel cohort like \\\"users whose last interview said they'd recommend us 9+ on a 0-10 scale\\\" works without any post-processing.\n\nIf you're evaluating the broader category, the [Koji vs Mixpanel](https://www.koji.so/blog/koji-vs-mixpanel-2026) comparison covers when each tool is the primary system — they're complementary, not competitive.\n\n## Plan requirements and cost\n\nWebhooks and the headless API are included on the Interviews plan (€79/month, 79 credits) and Enterprise. The Insights plan (€29/month) doesn't include webhooks — for that tier, the Zapier path works on any plan. Text interviews cost 1 credit, voice interviews cost 3, and only conversations scoring 3 or higher on Koji's quality gate consume credits. See the [plan comparison guide](/docs/plan-comparison-guide) and [understanding usage and credits](/docs/understanding-usage-limits) for the full breakdown.\n\nA typical \\\"Mixpanel-triggered\\\" research program — three weekly studies of 10 respondents each — uses roughly 30 credits/week if running text and ~90/week if running voice, well within the Interviews plan or a modest overage budget (€1/credit flat).\n\n## Identity resolution: matching Koji respondents to Mixpanel users\n\nThe single most important integration design decision is *how do you match a Koji interview back to the right Mixpanel user?* Two patterns work cleanly:\n\n- **Email as the join key.** Simplest. The Mixpanel cohort export includes the user's email, you pass it to Koji as `respondent_email`, Koji passes it back on the webhook, you `engage` the matching `distinct_id`. Works as long as your Mixpanel identity is email-keyed.\n- **Custom respondent_id as the join key.** If your Mixpanel `distinct_id` is a UUID or internal user ID, pass that as Koji's `respondent_id` (separate from email) and round-trip it on the webhook. This is the pattern most reverse-ETL setups use because it keeps email out of the integration entirely.\n\nFor anonymous-mode interviews, neither key is available. That's deliberate — anonymous studies are not meant to be joined back to identified users. Use anonymous mode for sensitive topics ([anonymous employee research](/docs/anonymous-employee-research-ai-interviews)) and identified mode for closed-loop product research.\n\n## Compliance, consent, and what flows to Mixpanel\n\nFor product research, the interview transcript itself typically stays in Koji. Only themes, sentiment, quality, and (optionally) the transcript URL flow to Mixpanel. That keeps Mixpanel out of scope for any privacy regime that classifies raw transcripts as sensitive while still letting your product team segment on the insights.\n\nFor regulated industries — fintech, healthcare, HR — see [GDPR-compliant AI user research](/docs/gdpr-compliant-ai-user-research), [HIPAA-compliant AI user research](/docs/hipaa-compliant-ai-user-research), and [anonymizing customer interview data](/docs/anonymizing-customer-interview-data). When Koji runs in anonymous mode, no email is collected and your Mixpanel write should be skipped entirely — there is no user to attach properties to. This is enforced by your forwarder, not by Koji.\n\n## A 30-minute first run\n\nThe fastest end-to-end test you can do:\n\n1. In Koji, create a small study (3-5 questions) targeting one of the cohorts above. Publish.\n2. In Mixpanel, define the corresponding cohort and export the user list to CSV.\n3. Use Koji's [CSV participant import](/docs/importing-participants-csv) to load the cohort directly — no integration code required.\n4. Watch the interviews roll in over the next 24-48 hours. Review the themes, sentiment, and quotes in the [insights dashboard](/docs/insights-dashboard).\n5. Once you're sold on the loop, wire up the webhook → Mixpanel forwarder so future studies are automated.\n\nThat manual first run is usually enough to convince a skeptical PM that the quant-qual loop is worth the engineering cost of full automation.\n\n## Related Resources\n\n- [Structured Questions Guide](/docs/structured-questions-guide) — the six question types whose answers ride along on every Mixpanel event.\n- [Amplitude Research Integration](/docs/amplitude-research-integration) — sister guide for Amplitude with the same pattern.\n- [Webhook Setup](/docs/webhook-setup) — full reference for Koji webhook events and HMAC signature verification.\n- [Research Automation Webhooks](/docs/research-automation-webhooks) — idempotency, retries, and replay patterns for production forwarders.\n- [User Research API Guide](/docs/user-research-api-guide) — programmatic access to studies and interviews.\n- [Zapier Research Automation](/docs/zapier-research-automation) — no-code path for the same integration.\n- [Feature Adoption Research](/docs/feature-adoption-research) — methodology for interviewing users who saw a feature but didn't adopt.\n- [Real-Time Research Insights](/docs/real-time-research-insights) — how themes appear in Koji as conversations complete.","category":"API Reference","lastModified":"2026-05-27T03:21:05.993822+00:00","metaTitle":"Mixpanel + Koji Integration: AI Interviews From Mixpanel Cohorts","metaDescription":"Trigger Koji AI-moderated interviews from Mixpanel cohorts and pipe themes, sentiment, and quality scores back into Mixpanel as events and user profile properties.","keywords":["mixpanel integration","mixpanel customer interviews","mixpanel user research","mixpanel webhook","mixpanel ai survey","product analytics research","mixpanel cohort interview","quant qual mixpanel"],"aiSummary":"The Koji + Mixpanel integration is bidirectional. From Mixpanel into Koji: export a behavioral cohort (drop-offs, aha skippers, power users, churned-and-returned, feature-adoption laggards) and trigger a Koji AI-moderated interview to every user in it via webhook or Zapier. From Koji back into Mixpanel: on every interview's `analysis_ready` event, post a `Koji Interview Completed` event with theme, sentiment, quality score, and transcript URL, plus update user profile properties like `last_interview_sentiment` and `last_interview_themes`. The result is a single Mixpanel workspace where you can segment any behavioral metric by qualitative theme — funnel conversion by theme, retention curves by sentiment, A/B test reads with the qualitative why attached. The integration uses Koji's headless API, HMAC-signed webhooks, and Mixpanel's Ingestion API. Three integration paths exist: Zapier (no code, 30 min), Mixpanel Cohort Sync + serverless forwarder (1 hour), or reverse ETL (Hightouch/Census, production-grade). Identity resolution works via email or custom respondent_id; anonymous-mode studies skip the Mixpanel write entirely. Available on the Interviews plan (€79/mo) and Enterprise.","aiPrerequisites":["Active Mixpanel project","Koji account on Interviews plan or higher","Basic familiarity with webhooks or no-code tools like Zapier"],"aiLearningOutcomes":["Trigger Koji AI interviews from Mixpanel behavioral cohorts","Pipe interview themes, sentiment, and quality back into Mixpanel as events and profile properties","Pick the right integration path for your team (no-code, custom forwarder, reverse ETL)","Resolve identity between Koji respondents and Mixpanel distinct_ids","Build funnel-by-theme and retention-by-sentiment reports in Mixpanel"],"aiDifficulty":"intermediate","aiEstimatedTime":"20 min read"}],"pagination":{"total":1,"returned":1,"offset":0}}