How to connect Mixpanel to Zendesk and see user activity on tickets
By Jake Marsh · Updated
To connect Mixpanel to Zendesk, create a service account in Mixpanel under Organization Settings > Service Accounts, give it the Consumer role on your project, and copy its user name and secret. Then install Trailwell, set Analytics tool to mixpanel, and enter the data residency, project id, user name and secret. Open a ticket and the requester's Mixpanel activity appears in the sidebar.
Steps
- Create the service account. In Mixpanel, go to Organization Settings > Service Accounts > Add service account. Name it "Trailwell for Zendesk". Managing service accounts needs Owner or Admin permissions in Mixpanel.
- Give it the Consumer role on the project whose users write to support. Consumer is read-only, which is all Trailwell needs.
- Copy the user name and secret. Mixpanel shows the secret once.
- Note the project id (Project Settings > Overview) and the data residency: US, EU or India.
- Install Trailwell from the Zendesk Marketplace and choose Team (up to 12 agents and admins) or Scale (13 or more).
- Fill in the settings in Admin Center > Apps and integrations > Zendesk Support apps > Trailwell:
| Setting | What to enter |
|---|---|
| Analytics tool | mixpanel |
| Mixpanel data residency | us, eu or in |
| Mixpanel project id | From Project Settings > Overview |
| Service account user name and secret | From step 3. Stored as Zendesk secure settings |
- Open a ticket from someone who uses your product.
How Trailwell finds the person in Mixpanel
Mixpanel lookups go through user profiles: by $email, or by distinct id. Set Match by to:
email(default): the requester's email addresses, primary first, at most 4.external_id: the Zendesk user's External ID is your product's distinct id.both: external id first, then email.
Trailwell stops at the first one that finds someone. Several matches? Pick one from the list. None? Use Find another person with an email or user id. If your users have no Mixpanel profile with $email, store the distinct id as the Zendesk external id.
Make the panel useful
| Setting | Example |
|---|---|
| Key events | Export*, Invoice created, Signup (up to 12; * matches a prefix) |
| Key properties | plan, company, seats (up to 12) |
| Error events | Default $exception, error* |
| Days of history | 1 to 90, default 30 |
| Timeline size | 5 to 100 latest events, default 25 |
| Profile link | An address with {distinct_id}, {id} or {email} to open the person in Mixpanel |
With no key events set, the panel shows the most used events.
Mixpanel specifics
- Sessions are estimated. Mixpanel sends no session ids, so a new session starts after 30 minutes without events, and the panel says "estimated".
- Counts cover every event in the window Mixpanel returns.
- Rate limit. Mixpanel allows 60 queries an hour per project, and each ticket takes 2, so about 30 tickets an hour. If your team opens more than that, turn off Load usage automatically; agents then press Load when they need usage.
- Mixpanel's activity feed endpoint is in maintenance mode on Mixpanel's side.
What it costs
Trailwell is $100 per month for Zendesk accounts with up to 12 agents and admins (Team), or $9 per agent per month from 13 (Scale), billed monthly by Zendesk. Both have every feature and a 14-day free trial; Zendesk asks for a card. See the Trailwell documentation and Mixpanel's service accounts reference.
Trailwell
Mixpanel, Amplitude or PostHog usage on every ticket: last seen, key events, errors. From $100/mo. From $100 a month per Zendesk account.
Questions
Which Mixpanel role does the service account need?
Consumer on your project. It's read-only, and Trailwell never writes to Mixpanel.
Our Mixpanel project is in the EU. Does that work?
Yes. Set Mixpanel data residency to eu, or in for India.
Why does Trailwell find nobody for a customer I know uses the product?
Their Mixpanel profile may have no $email, or a different one. Store their distinct id as the Zendesk external id and set Match by to external_id or both.
Can agents see the service account secret?
No. It's a Zendesk secure setting, and Zendesk only sends it to Mixpanel's API host.
More Trailwell guides
- How to connect Amplitude to Zendesk and see user activity on tickets
- How to connect PostHog to Zendesk and see user activity on tickets
More Zendesk guides
- How to create a BigCommerce API account for Zendesk (Trolleywell for BigCommerce)
- How to add a Save as PDF button to Zendesk help center articles (Tomewell)
- How to split a ticket in Zendesk (Twigwell)
- How to cancel or pause a Stripe subscription from Zendesk (Tillwell)