Skip to content

Usage Analytics with Mixpanel

Connect your Mixpanel project to Clynto and turn raw product usage into customer success signal: real adoption and engagement scores, week-over-week trend alerts, and Larry insights grounded in how each account actually uses your product.

This guide walks you through setup, explains what you'll see afterwards, and covers the most common questions and error states.


What you get

Once Mixpanel is connected, Clynto starts using product usage in five places:

  1. Health score — the Adoption and Engagement pillars stop sitting at zero and start moving with real usage data. Accounts that aren't using the product get downgraded; accounts ramping up get the credit.
  2. Usage tab on every account — a 30-day breakdown of events, active users, top features, and a daily activity chart. Lives between the Health and Playbook tabs.
  3. Workspace table — two new columns (Usage (30d) and Seat Activation) you can opt into from the columns drawer. Sortable, so you can rank a portfolio by who's actually using the product.
  4. Churn signals — a new Usage declining signal fires when an account drops 30% or more week-over-week on event volume, active users, or stickiness. Surfaces in the inbox alongside payment failures, contract proximity, and CRM inactivity.
  5. Larry — Larry can answer questions like "show me 30-day usage for Acme" or "which 5 accounts have the steepest usage drop?". When Larry explains a churn signal that involves usage decline, the explanation now references specific volume and user-count deltas instead of generic phrasing.

Before you start

You'll need:

  • Admin or Owner role in your Clynto workspace. Members can view the integration once it's set up but cannot connect or reconfigure it.
  • A Mixpanel Service Account with read access to the project you want to connect. Service Accounts are created in your Mixpanel organization settings — Organization Settings → Service Accounts → Add Service Account. Save the username and secret somewhere safe; Mixpanel only shows the secret once.
  • The Mixpanel Project ID for the project you're connecting. You'll find it in Project Settings → Overview.
  • A decision about how Mixpanel identifies your accounts — see Identity modes below. Pick this before you start the wizard so you don't have to back out and retry.

Setup walkthrough

The setup wizard has three steps. The whole thing usually takes about 2–5 minutes of your time, plus 30–60 seconds of waiting for Mixpanel to respond between steps.

Step 1 — Connect

  1. Go to Integrations in the left nav.
  2. Find the Mixpanel card under the Analytics section and click Connect Mixpanel.
  3. Paste in your Service Account username, secret, and Project ID.
  4. Click Verify & Continue.

Clynto makes a quick call to Mixpanel to confirm the credentials work. If they don't, you'll see an inline error explaining what failed — usually a typo in the username or a wrong project ID.

Step 2 — Identity mode

After credentials are verified, the Identity modal opens automatically. Pick whichever option matches how your product sends events to Mixpanel:

  • Group Analytics (recommended) — you've set up Mixpanel's Group Analytics feature and tag every event with a group ID. Enter the Group key exactly as it appears in your Mixpanel settings (commonly company_id, workspace_id, or account_id).
  • User property — you don't use Group Analytics, but you do tag events with an account identifier as a user property. Enter the User property name (commonly company_domain).

If you're unsure which to pick, read the Identity modes section below — it spells out what each mode unlocks.

Click Start probe. Clynto pulls a one-day sample from Mixpanel to learn what events you track and what group values look like. The card flips to a "Probing Mixpanel..." state for about a minute.

Step 3 — Review & configure

When the probe finishes, the Configure modal opens automatically. You're picking three things:

Account mapping

How should Mixpanel group values be matched to Clynto accounts?

  • CRM ID — Mixpanel sends the same identifier you have in external_crm_id (e.g. a HubSpot company ID). This is the most reliable match if your product passes CRM IDs through.
  • Account domain — Mixpanel sends a domain that matches the Clynto account's domain field. Good for products that key off email domain.
  • Custom field — Mixpanel sends a value that matches a custom field you've defined in Clynto. Type the field key after cf::.

As you change the mapping, the Match preview below updates live, showing which group values resolve to which Clynto accounts. If you see lots of "no match" entries, try a different mapping field — the goal is to get as much of the preview list resolving as possible. Don't worry about getting it perfect; unmatched values are quarantined and re-checked nightly, so they'll reconcile automatically as your CRM data syncs.

Tracked features

Pick the events that represent meaningful product usage. These are the ones that will count toward "feature breadth" in the Adoption pillar and show up in the Usage tab's "Top features" list.

  • The wizard pre-populates this list from your top events in the last 24 hours.
  • You can pick up to 25 events. This is a hard cap. Pick the ones that actually mean someone is using the product — dashboard_viewed, report_exported, query_run — not telemetry like page_view or error_logged.
  • You can change this list later by clicking Configure on the Mixpanel card.

Excluded keys

If you have internal test accounts or QA workspaces showing up in the match preview, paste their group values here (one per line). Clynto will skip them entirely instead of trying to match them.

Click Save & start backfill. The wizard closes and the card flips to a "Backfilling the last 30 days" state. This usually takes 5–15 minutes depending on how many events your project has — you can leave the page, the backfill runs in the background.

When it's done, the card flips to Connected and your health scores will start incorporating usage data on the next computation cycle.


What you'll see after setup

On the Mixpanel card (Integrations page)

  • Identity mode — Group Analytics or User property
  • Tracked features — how many of your 25-cap allowance you're using
  • Last sync — when the daily refresh last ran successfully
  • Unmatched keys — count of group values we couldn't resolve to a Clynto account. Some unmatched is normal (test accounts, customers not yet in your CRM); a high or growing count usually means your account mapping needs adjusting.

On every account's detail page

A new Usage tab between Health and Playbook shows: - Events (30d) with a week-over-week trend arrow - Active users (30d) with WoW trend (Group Analytics only) - Days active out of 30 - Last seen - A 30-day daily events chart - A Top features list ranked by event count

If the account has no Mixpanel data yet, the tab shows an empty state with a link back to Integrations.

On the dashboard table

Open the Columns drawer and toggle on: - Usage (30d) — total event count over the last 30 days, sortable - Seat Activation — percentage of seats active in the last 14 days (this column is wired but always shows "—" until your accounts have a seat_count populated; ignore it for now)

In the Health tab

The Adoption and Engagement pillar cards now show real scores instead of zero, and each has a new details → link that jumps to the Usage tab so you can see the data driving the number.

In the inbox

A new churn signal type, Usage declining week-over-week, fires when an account drops 30% or more on any of: event volume, active users, or events-per-user (a stickiness proxy). The signal label tells you which dimension dropped and by how much. Larry's explanation includes the specific deltas.

In Larry chat

Try asking: - "How is Acme using the product over the last 30 days?" - "Which 5 accounts have the steepest usage decline this week?" - "List the most active accounts in our portfolio."

Larry has two new tools dedicated to product usage and will pick them automatically when your question is about how customers are using the app.


Identity modes

This is the most important decision in the setup. Pick once based on how your product instruments Mixpanel.

Use this if you've enabled Mixpanel's Group Analytics feature and your product calls mixpanel.set_group() (or equivalent) on every event.

You unlock: - Per-seat adoption metrics (active users, days active per user) - Stickiness (DAU/MAU style metrics) - Feature breadth normalization against the rest of your portfolio - The full usage_decline churn signal (worst-of: volume, active users, stickiness)

User property

Use this if you tag events with an account identifier as a user property (commonly company_domain) but don't use Group Analytics.

You get: - Total event volume per account - Time-to-first-value - Top features

You miss: - Per-user metrics (active users, stickiness) - Per-seat adoption sub-metrics in the Adoption pillar - The usage_decline churn signal (which is gated on Group mode because two of its three sub-dimensions need per-user data — without it the signal is too noisy)

If you're not sure which you have, ask your engineering team: "Do we call mixpanel.set_group(), or do we just set a user property like company_domain?" If the answer is the first, pick Group Analytics. If the second, pick User property.

You can switch modes later by reconnecting Mixpanel — the wizard will re-run probe and configure.


Daily updates

After the initial 30-day backfill, Clynto refreshes Mixpanel data once a day:

  • Daily sync runs at 5 AM UTC for every connected workspace
  • It pulls yesterday's events only — not the whole window
  • Health scores recompute automatically within ~15 minutes of new data landing
  • Churn signals re-evaluate on each workspace's normal signal schedule (set in your workspace settings)

You don't need to trigger anything manually. The Last sync timestamp on the Mixpanel card tells you when fresh data last arrived.


Troubleshooting

The Mixpanel card surfaces four different banner states. Each one tells you something specific about what's happening.

"Schema drift suspected" (yellow)

What it means: Yesterday's event volume came in dramatically lower (under 10% of the trailing 7-day average). Clynto's circuit breaker decided this looks more like a Mixpanel schema or instrumentation change than a real usage drop, so it skipped the day's sync rather than write misleadingly low numbers into your health scores.

What to do: 1. Check Mixpanel directly for that day. Was there really a drop, or did your team push an instrumentation change? 2. If it's a real drop, you can ignore the banner — tomorrow's sync will accept the new baseline. 3. If it's an instrumentation change (event renamed, group key changed, etc.), reconnect Mixpanel and run through the wizard again so Clynto picks up the new shape.

This is not an error. The integration is fine. The banner is yellow on purpose.

"Usage data hasn't synced in Xh" (yellow)

What it means: The daily sync hasn't completed in over 36 hours. Possible causes: a Celery worker is down, the sync is hitting Mixpanel rate limits and backing off, or the integration credentials have rotated.

What to do: 1. Check whether other integrations on the page show the same delay. If they do, it's an internal worker issue — contact support. 2. If only Mixpanel is stale, check the Mixpanel card for an error message below the banner. If you see a credential error, hit Reconnect Mixpanel. 3. If neither applies, contact support — we can manually re-trigger the daily sync from our side.

Hard error banner (red)

What it means: Something concrete failed — credentials, a Mixpanel API error, or an unexpected exception.

What to do: - If the error mentions credentials, click Reconnect Mixpanel to update them. - For other errors, contact support with the exact text of the message.

"Backfill failed" (red)

What it means: The initial 30-day backfill ran into a problem before it could finish.

What to do: - Click Retry backfill. Backfill resumes from the last successful day, so retries are cheap — you don't lose the work that already completed. - If retrying repeatedly doesn't help, contact support. Common causes are credential issues mid-backfill (rare) or a Mixpanel project that's so large the 30-minute soft limit gets hit (we can extend it on request).

"ALERT" in your error logs

If your team monitors backend logs, you may see lines like:

ALERT: Mixpanel integration for workspace <id> has failed 3 times in a row.

This fires when three consecutive sync attempts fail. Anomaly skips (the schema-drift circuit breaker) do NOT count toward this — only real failures. The counter resets to zero on any successful sync. If you see this fire, treat it as a "go look at the card" signal.


Frequently asked questions

Why a 25-feature cap? Each account_usage_daily row stores per-feature counts in JSONB. We cap at 25 to keep row sizes bounded and queries fast. In practice, customers who try to track everything end up with noisy adoption scores anyway — picking the 10–15 events that mean "someone got value" is almost always sharper.

Can I change my account mapping after setup? Yes. Click Configure on the Mixpanel card to reopen the Configure modal. Mapping changes take effect on the next daily sync.

What happens to "no match" group values? They're stored in a quarantine table. Each night Clynto re-runs the match against your current CRM data — so if HubSpot syncs a new company overnight that resolves a previously unmatched key, the accumulated event count gets promoted into that account automatically. The Mixpanel card shows the current unmatched count.

My account list keeps showing "—" in the Seat Activation column. This column is wired but waiting on a seat_count field that we haven't shipped to the Account model yet. It'll start populating automatically once that field is available. For now, ignore it.

Does this work in EU or India regions? Yes. The backend supports US, EU, and India Mixpanel data residency. Today the wizard defaults to US — if you're on EU or India, contact support and we'll set the region on your integration manually until the dropdown lands in the UI.

Can two people set up Mixpanel at the same time? Only one Mixpanel integration per workspace. The wizard will overwrite an existing one if you re-run it, which is fine for re-credentialing or switching identity modes — but coordinate with your team so you don't surprise each other.

What does "stickiness" mean in the churn signal? Events per active user. If you went from 50 events across 10 users (5 events/user) to 60 events across 30 users (2 events/user), that's a stickiness drop even though volume went up — fewer of your active users are doing meaningful things. The signal flags it.

Is my Service Account secret encrypted? Stored in the same way as our other integration credentials (HubSpot, Stripe, Freshdesk). Treat it like any other secret you give us — rotate it via the Mixpanel UI if you ever need to.

How quickly does usage data show up after I do something in the product? Yesterday's events show up on the next morning's 5 AM UTC sync. If you need real-time, this isn't the right tool — Clynto's usage analytics is designed for day-over-day customer success workflows, not live monitoring.


Need help?

If something's not working and the troubleshooting above doesn't cover it, contact support and include: - Your workspace name - The exact text of any error or banner shown on the Mixpanel card - Roughly when you last had a successful sync (the "Last sync" timestamp on the card)

We can pull the integration's recent sync history from our side and tell you what happened.