Integration · Product analytics

Send subscription revenue to mParticle

RevenueDot sends each subscription step to mParticle's Events API as one batch. Purchases and renewals become commerce_event batches with a purchase product action, refunds use a refund action, and other steps are custom_event entries named trial_started, cancellation and so on. mParticle then forwards them to every output you connected.

What teams do with it

  • Fan one subscription feed out to your warehouse, ad networks and messaging tools from a single mParticle input.
  • Build mParticle audiences from trial starts, cancellations and billing issues.
  • Report revenue to mParticle's commerce reports, with refunds as refund actions.
  • Keep dashboards that use RevenueCat's mParticle event names working after a switch.

What RevenueDot sends

  • Money events as commerce_event with a purchase product action (total_amount, one product with id, price, quantity), in US dollars. Refunds are a refund action with the amount refunded as a positive number.
  • Every other step as a custom_event of type transaction, named initial_purchase, trial_started, trial_converted, trial_cancelled, renewal, cancellation, uncancellation, non_renewing_purchase, rc_subscription_paused_event, expiration, billing_issue, product_change, rc_transfer_event or rc_test_event.
  • revenuecat_event and other custom_attributes: product_id, store, environment, period_type, entitlement_ids, transaction_id, country_code, price_in_purchased_currency and cancel_reason.
  • Identity: $mparticleId as mpid when set, the app user ID as customer_id, $email as email, and $idfa, $idfv, $gpsAdId, $attConsentStatus and $ip as device info.
  • source_message_id is the event ID, so mParticle drops a retried duplicate. rc_subscription_status is set as a user attribute. Sandbox events go to the same feed with environment: development.

Setup

How to connect mParticle to RevenueDot

  1. 01

    Add a custom feed in mParticle

    In mParticle, open Setup → Inputs → Feeds, add a Custom Feed (server-to-server) and copy its key and secret.

  2. 02

    Open the integration

    In RevenueDot, open Integrations → mParticle.

  3. 03

    Enter the feed credentials

    Paste the Server-to-server key and Server-to-server secret.

  4. 04

    Pick your data center

    Choose the Data center your workspace runs in (US1, US2, EU1 or AU1; the default is US1) and set Sales reporting to gross revenue or revenue after store commission and taxes.

  5. 05

    Connect and test

    Click Connect mParticle, then Send test event with the app user ID of a customer and check the delivery log.

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

How mParticle deliveries are retried, logged and replayed

  • Retries: timeouts, 408, 425, 429 and 5xx answers retry after 5, 10, 20, 40 and 80 minutes. Any other 4xx fails at once, because sending the same request again cannot work. Fix the setting, then replay.
  • Delivery log: each delivery shows the request with every secret replaced by [redacted], the partner's answer, the HTTP status, the time taken and the number of attempts.
  • Skipped, with the reason: when there is nothing to send, such as a missing device ID, the delivery is marked skipped and says why. Retry sends it after your app sets the attribute.
  • Replay: Replay failed resends failed and skipped deliveries in bulk.
  • Sealed credentials: keys and tokens are encrypted with AES-256-GCM on the server and never shown again. The dashboard shows only the last four characters.

FAQ

mParticle and RevenueDot

How do I send in-app purchase events to mParticle?

Add a Custom Feed (server-to-server) under Setup → Inputs → Feeds in mParticle, then paste its key and secret into Integrations → mParticle in RevenueDot and click Connect mParticle. Every purchase, trial, renewal, cancellation and refund then reaches mParticle's Events API.

Does RevenueDot send revenue to mParticle as commerce events?

Yes. Any event with revenue other than zero is a commerce_event with a purchase product action, in US dollars. A refund is a refund action. Steps with no money, such as a cancellation or an expiration, are custom events.

How does mParticle know which user a purchase belongs to?

RevenueDot sends your app user ID as customer_id and the $email attribute as email. If your app sets $mparticleId, it is sent as mpid, as a JSON integer, so mParticle matches the profile at once.

Is there a RevenueCat mParticle integration alternative?

Yes. RevenueDot uses the event names of RevenueCat's mParticle integration (initial_purchase, renewal, non_renewing_purchase and so on), so audiences built on them keep working. RevenueDot is open source and free to self-host (AGPL-3.0). Checked October 2026.

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

Get started

Send mParticle 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