Integration · Product analytics

RevenueCat-compatible Mixpanel integration for subscription revenue

RevenueDot sends every subscription event to Mixpanel with RevenueCat's names, such as rc_initial_purchase_event and rc_renewal_event, each with revenue in US dollars. The customer's profile gets rc_subscription_status and an entry in the reserved $transactions list, so Mixpanel's revenue reports work. Add your project API secret to also accept events older than five days.

What teams do with it

  • Run Mixpanel's revenue and LTV reports on real subscription transactions.
  • Break down trial conversion by country, store or product.
  • Filter users by rc_subscription_status, for example cancelled or grace_period.
  • Replay old events into Mixpanel after you fix a setting.

What RevenueDot sends

  • An event named like rc_trial_started_event through the Ingestion API, with distinct_id set to $mixpanelDistinctId when your app sets it, otherwise the app user id.
  • $insert_id is derived from the event id, so Mixpanel deduplicates retries.
  • The properties include revenue, currency (USD), product_id, store, offer_code, period_type, environment, entitlement_ids, transaction ids and $country_code.
  • A profile update sets rc_subscription_status. When revenue is not zero, it also appends a $transactions entry with $time, $amount, product_id and store.
  • With a Project API secret, events go through /import, which accepts events of any age. Without it they go through /track, which accepts only the last five days.
  • Sandbox events go only to a project you save as Sandbox project token. Data residency can be US, EU or India.

Setup

How to connect Mixpanel to RevenueDot

  1. 01

    Copy the project token

    In Mixpanel, open Project settings and copy the project token. Copy a second project's token for sandbox events, and optionally the project API secret.

  2. 02

    Open the integration

    In RevenueDot, open Integrations in the project sidebar and choose Mixpanel.

  3. 03

    Paste the credentials

    Fill Project token, Sandbox project token and Project API secret (optional, needed to replay old events).

  4. 04

    Pick residency and revenue

    Choose Data residency: US, EU or India. Pick Sales reporting.

  5. 05

    Connect and test

    Click Connect Mixpanel, then Send test event and check Mixpanel's Live View.

The Mixpanel integration page in the RevenueDot dashboard, with its settings form
Captured from the RevenueDot dashboard with demo data.

How RevenueDot delivers events to Mixpanel

  • Timeouts, rate limits (HTTP 429) and server errors (5xx) from Mixpanel retry on the webhook schedule: after 5, 10, 20, 40 and 80 minutes.
  • Any other 4xx answer fails at once, because sending the same request again cannot work. Fix the setting, then click Replay failed.
  • The delivery log keeps each request with every secret replaced by [redacted], the answer, the time taken and, for skipped events, the reason.
  • Credentials are sealed with AES-256-GCM on the server. After you save a key, the dashboard shows only its last four characters.
  • Mixpanel answers some bad events with HTTP 200 and status: 0. RevenueDot treats that as a failure and logs Mixpanel's error text.

FAQ

Mixpanel and RevenueDot

Does the Mixpanel integration work with the RevenueCat SDK?

Yes. RevenueDot speaks the RevenueCat SDK protocol, so your app keeps the RevenueCat SDK and only the server address changes. Set $mixpanelDistinctId with the SDK's attribute call if your app already identifies users in Mixpanel.

Is it the same as RevenueCat's Mixpanel integration?

It sends the same rc_*_event names, the same rc_subscription_status profile property and reads the same $mixpanelDistinctId attribute. RevenueCat's version has years of production use behind it. RevenueDot's is newer, so run Send test event and check Mixpanel before you rely on it.

Why do old events not show up in Mixpanel?

Without a Project API secret, Mixpanel's /track endpoint accepts only events from the last five days. Save the secret and RevenueDot uses /import, which accepts any age.

Do revenue reports work?

Yes. Every event with revenue also adds a $transactions entry on the profile, which is what Mixpanel's revenue reports read.

Sources: Mixpanel · Mixpanel Ingestion API · RevenueCat third-party integrations. Mixpanel is a trademark of its owner, used to describe compatibility. RevenueDot is not affiliated with or endorsed by it.

Get started

Send Mixpanel every subscription event.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue. Integrations are included on every plan.

Already have an account? Sign in · Prefer your own servers? Self-host free