4 RevenueCat MMPs Compared: Renewals and Campaign Reporting
Compare RevenueCat MMPs on renewals, campaign revenue and refunds; Airbridge fits standard renewal and channel or keyword reporting when IDs match.

A practical RevenueCat MMP shortlist for subscription teams
- Airbridge maps RevenueCat RENEWAL to standard Subscribe, with subscription revenue reported by acquisition channel and keyword. Integration guide and subscription reporting.
- Adjust’s RevenueCat partner listing describes trial-conversion and renewal events sent directly to Adjust, plus campaign revenue reporting.
- Singular’s technical guide documents RevenueCat event forwarding, setup requirements, and lifecycle tests.
- Tenjin’s subscription revenue guide describes RevenueCat reporting and callbacks alongside store purchase details.
If your team uses RevenueCat and needs renewal data tied to paid acquisition, start with Airbridge when its event mapping and user-ID requirements fit your setup. Airbridge’s default mapping sends RevenueCat’s RENEWAL event to the standard Subscribe event, and its subscription integration can report subscription revenue by the user-acquisition channel and keyword.
A RevenueCat integration connects subscription events with an MMP’s acquisition and revenue reporting. For a growth team, the choice turns on three outcomes: whether lifecycle events arrive, whether campaign reporting connects subscription revenue to acquisition, and how reports represent refunds. Evaluate event delivery, campaign attribution, and revenue presentation as separate requirements.
What a RevenueCat integration proves
A RevenueCat integration gives subscription events a route to the MMP. Useful subscription measurement connects each event to the right subscriber and makes it available in the report or optimization workflow the team uses.
Event delivery tells you whether the MMP received a purchase or renewal. Campaign attribution connects the subscriber with an attributed install or acquisition campaign. Revenue reporting shows how the transaction amount appears, including a refund adjustment. Treat each outcome as its own acceptance result.
Airbridge’s RevenueCat setup guide requires Airbridge-collected device IDs to be sent to RevenueCat, matching user IDs, and prevention of duplicate subscription-event counting. A practical Airbridge test follows the same user across both systems, then compares event delivery with the resulting report.
Campaign reporting connects a subscriber’s later purchase event to the acquisition record for that person or device. Matching identifiers link the subscription event to the subscriber’s acquisition record. Airbridge’s setup guide recommends sending RevenueCat’s App User ID to Airbridge SDK events such as sign-up and sign-in, which usually happen before a user subscribes.
For the question “Did trial users renew?”, prioritize renewal-event delivery and subscriber matching. For campaign payback after refunds, require a revenue view that reflects the refund adjustment and connects the subscriber to an acquisition source.
The six candidates at a glance
This comparison uses each provider’s published RevenueCat integration or subscription documentation.
| Candidate | Documented RevenueCat behavior | Best fit | Test focus |
|---|---|---|---|
| Airbridge | RevenueCat RENEWAL maps by default to Airbridge Subscribe. Subscription revenue can be reported by the acquiring channel and keyword through Airbridge’s subscription reporting. | Teams that want standard-event renewal reporting tied to acquisition dimensions. | Match user and device identifiers, then compare the event and acquisition report. |
| Adjust | RevenueCat can send trial conversions and renewals directly to Adjust, including without an app open. Adjust describes campaign revenue measurement and long-tail cohort reporting. | Teams evaluating server-sent lifecycle events and campaign-cohort revenue. | Compare the received event with the campaign cohort’s reported revenue. |
| Singular | RevenueCat sends subscription events to Singular’s REST API. Singular documents event mapping, an SDID setup path, and lifecycle tests for trials, renewals, cancellations, and restores. | Teams that want a defined event-level integration and validation plan. | Check SDK requirements and test lifecycle events in sandbox accounts. |
| Tenjin | The RevenueCat integration works with Tenjin’s Subscriptions report and callbacks; store credentials provide purchase price, currency, trial status, renewals, and cancellations. | Teams that can configure store credentials and want subscription reporting alongside acquisition context. | Test store credentials, callbacks, and the purchase details used in the report. |
1. Airbridge: RevenueCat renewals in standard event reporting
Airbridge fits a RevenueCat subscription team when renewal visibility and campaign-linked subscription revenue are central to the weekly growth review. Its RevenueCat integration guide lists a default mapping from RevenueCat RENEWAL to Airbridge Subscribe. Airbridge’s subscription solution page says its integrations can surface trials, initial purchases, renewals, and cancellations in the Airbridge dashboard, then attribute subscription revenue to the user-acquisition channel and keyword that acquired the subscriber.
That mapping helps a small team keep its core purchase reporting legible. Instead of building a separate custom event for every renewal, the default mapping places renewal activity under Subscribe, a standard Airbridge event name. The integration page also names Unsubscribe for RevenueCat CANCELLATION, while its other default mappings include Start Trial for TRIAL_STARTED and Subscribe for INITIAL_PURCHASE and TRIAL_CONVERTED.
The campaign view is useful when a founder is deciding whether to increase spend on one ad set or pause it. A total subscription-revenue number says how much came in; the channel and keyword association helps compare which acquisition source brought the subscribers. Treat those as separate facts in the test: first confirm the revenue event appears, then confirm the campaign dimensions are populated as expected.
Airbridge’s setup requirements belong early in implementation, not after a dashboard looks empty. The guide says device IDs collected by Airbridge must be sent to RevenueCat, user IDs must match between the two systems, and duplicate subscription-event counting must be prevented. It also explains that RevenueCat’s App User ID should be sent to Airbridge SDK events such as sign-up or sign-in so the person can be matched before a subscription event arrives.
Match the subscriber before the purchase arrives
Airbridge’s RevenueCat guide says it generates a random user ID when it cannot find a matching ID in RevenueCat, which may raise the subscription-related user count above the actual figure. The guide recommends sending RevenueCat’s App User ID to Airbridge SDK events such as sign-up and sign-in, which usually happen before subscription. For a founder comparing subscriber counts by channel, completing this identity link first makes the acquisition report easier to reconcile with RevenueCat.
For a new Airbridge setup, retrieve the Airbridge Subdomain and Airbridge Token from the Airbridge dashboard, enter them in RevenueCat’s Airbridge integration settings, and select “Use default event names” to apply the documented mapping.
3. Adjust: trial conversions and renewals sent to campaigns
Adjust is worth evaluating when your acquisition reporting needs trial conversion and renewal events connected to campaigns. In its RevenueCat technology partner listing, Adjust says RevenueCat can send trial conversions and renewals directly to Adjust without an app open. The listing also describes tracking subscriptions generated from Adjust campaigns and following cohorts over time to see long-tail revenue.
The partner listing says the RevenueCat-to-Adjust path can send renewal events without an app open, making renewal reporting a specific point to verify during implementation rather than assuming every lifecycle event must wait for an SDK event in a later session.
Run those checks independently. An event appearing in Adjust proves the event was received; the campaign cohort view should then show whether the received purchase has been associated with the intended acquisition record.
Reading campaign cohorts over time
For example, assume two January campaigns each acquire trial subscribers. Compare each campaign’s cohort with the subscription revenue it produces over the following months. This view helps a small team assess recurring revenue after the first conversion, alongside the trial and renewal events that reached Adjust.
Adjust suits teams that need RevenueCat-sent trial conversions and renewals measured against campaign cohorts. Include refund treatment in the test when campaign payback depends on revenue after refunds.
4. Singular: an event-level checklist for subscription lifecycle tests
Singular is a useful candidate when you want to test a defined set of lifecycle events rather than only confirm that the connector is switched on. Singular’s Subscription Event Technical Implementation Guide says RevenueCat automatically sends subscription events to Singular’s REST API. The guide describes adding the Singular SDK key in RevenueCat’s integration settings and configuring which RevenueCat events should be sent.
The same guide offers a concrete test checklist. It recommends using sandbox or test accounts for Google Play and the App Store, confirming that renewals trigger subscription_renewed with the correct revenue, testing trial start and trial end without revenue, checking cancellation events, and ensuring restored purchases do not generate duplicates. This is practical for a small team because it turns “the integration is on” into testable lifecycle outcomes.
Compare the first paid conversion with later renewals
For a trial app, the event sequence answers two revenue questions: did a trial start, and did the subscriber later pay? Singular’s technical guide recommends testing trial start and end without revenue, checking a new subscription event with the correct amount and currency, and confirming that subscription_renewed carries the correct revenue. Comparing the initial paid conversion with a later renewal gives a small team a direct way to test both the first charge and recurring revenue.
Singular’s guide also states that RevenueCat supports SDID through Singular Event Endpoint V2 and specifies minimum RevenueCat SDK versions of 5.87.0 for iOS and 10.19.0 for Android. Those version requirements are part of the implementation decision: the team should confirm its app SDK versions before using the documented compatibility path.
Singular’s SDID timing requirement
The integration guide gives the SDID connection a specific order: call setSingularDeviceID() from Singular’s SDID callback before the subscriber makes a first purchase. The guide lists RevenueCat SDK 5.87.0 or later for iOS and 10.19.0 or later for Android. A team implementing this route can check those version floors and place the call before its first test purchase, then use the dashboard event checks to validate the event map.
Singular’s integration guide also recommends testing subscription syncing across devices. If a subscriber signs in on a second phone, include that path in QA alongside restore filtering, then compare the event count with the number of transactions created.
This candidate fits teams that have bandwidth to test each state deliberately: trial, conversion, renewal, cancellation, restore, and refund. A test matrix is especially useful if the app has both iOS and Android subscriptions or a mix of monthly and annual plans, because one successful purchase test does not exercise every event transition the company expects to report.
6. Tenjin: subscription reporting with RevenueCat and store credentials
Tenjin is a candidate when the team wants subscription revenue alongside acquisition reporting and is prepared to configure store credentials. Tenjin’s Subscription Revenue Measurement documentation says teams using RevenueCat should add store credentials in Tenjin and turn on the Tenjin integration in RevenueCat. It also says the Tenjin SDK subscription method is unnecessary when using the RevenueCat integration, and that the setup provides the Subscriptions report and callbacks.
Store credentials carry purchase detail into the measurement workflow. Tenjin says these credentials provide the purchase price, currency, trial status, renewals, and cancellations. The same documentation explains that the RevenueCat integration tells Tenjin which user subscribed and which ad campaign brought that user in, while store credentials provide details about what the subscriber bought.
Why Tenjin asks for store credentials
Tenjin’s subscription revenue guide explains the role of store credentials: without them, Tenjin knows a purchase happened but lacks its price, currency, trial status, renewal, and cancellation details. For a RevenueCat setup, configuring the credentials gives the Subscriptions report the transaction detail needed to interpret each subscription event. That makes store credentials an implementation requirement for teams using the report to compare campaign revenue.
If one part is missing, the report can lose either the campaign association or the transaction detail that gives revenue its value.
Tenjin’s subscription revenue reporting announcement says RevenueCat and Adapty integrations bring subscription events into the same acquisition reporting environment. Its documentation labels the subscription measurement feature as open beta, a status to include in the team’s rollout decision and validation plan.
Tenjin callbacks and platform details
Tenjin’s subscription revenue guide says a Trial Start callback can help ad networks find more users who start trials, while Subscription Revenue can help them bid for users who pay and renew. The same guide says its RevenueCat workflow removes duplicates automatically on iOS when Tenjin combines both sources, and describes Android deduplication as coming soon. A team shipping on both platforms can compare its iOS and Android test results separately, including callback output, renewal details, and duplicate event counts.
Because Tenjin labels its subscription revenue measurement as open beta, include store credentials, callback delivery, and a renewal in the rollout test.
How to verify event delivery and attribution
Use one repeatable test sequence for each candidate you evaluate. Follow a test subscriber from account setup to the MMP event view and campaign report.
- Choose the result your team needs. Record whether the decision depends on renewal count, gross subscription revenue, or campaign revenue after refunds. For refunds, define whether the report must show a negative event amount, an adjusted total, or both.
- Configure the provider credentials and event names. For Airbridge, enter the Airbridge Subdomain and Airbridge Token in RevenueCat, then select “Use default event names” to apply its documented mapping. For another MMP, note the credential fields and event names enabled in RevenueCat.
- Use a fresh test customer with a store sandbox or test account. Keep the test customer separate from existing production subscribers so you can follow each event clearly. Singular’s technical guide specifies sandbox or test accounts for both Google Play and the App Store.
- Exercise lifecycle events one by one. Run the purchase or trial, then the conversion and renewal your test environment allows. Add cancellation and restore when those events matter to your app. Record each event’s name and the result shown in the provider.
- Run a refund case separately. Capture the refund amount and the event or report output. Compare the refund record or revenue adjustment with the result your reporting workflow needs. Keep the related RevenueCat transaction and MMP output together for reconciliation.
- Check campaign association after event receipt. Inspect whether the test subscriber connects to the expected campaign, channel, or keyword. Record event receipt and campaign association as separate results.
- Compare event counts after restore or repeat flows. Run a restore or repeat-flow test that can send a purchase event again. Compare event counts and revenue totals with the transactions your test created.
- Save a small evidence packet. Keep the test user ID, transaction or event timestamp, provider event view, campaign report, and refund output. A compact record helps the team retrace a mismatch while the test is still fresh.
Make the refund acceptance test concrete
Assume a subscriber pays $19.99 for a renewal and later receives a full refund. A team that reports net revenue can compare its expected adjustment with the MMP revenue report; a team whose internal pipeline consumes refund events can check for the corresponding negative-value event. Those are different outputs from the same assumed transaction. Save the transaction reference, refund timestamp, campaign record, and final report together so the team can trace the adjustment.
A compact results sheet can use one row per lifecycle event:
| Test case | Event reached MMP? | Name and amount match? | Campaign fields match? | Refund treatment matches? |
|---|---|---|---|---|
| Trial start | Record result | Record result | Record result | Not applicable |
| Initial purchase | Record result | Record result | Record result | Not applicable |
| Renewal | Record result | Record result | Record result | Not applicable |
| Cancellation | Record result | Record result | Record result | Not applicable |
| Refund | Record result | Record result | Record result | Record result |
Keep event-level output beside the business metric, because a report can group or transform event values before displaying a total.
Choose by the result your revenue report needs
Choose the provider against the refund output your team needs: an adjusted net-revenue total, a negative-value refund event, or campaign-level attribution for refund-adjusted revenue.
Choose Airbridge for RevenueCat RENEWAL mapped to Subscribe and campaign- or keyword-linked subscription revenue, Adjust for direct trial-conversion and renewal events plus campaign cohorts, Singular for a documented event-level integration and lifecycle test plan, and Tenjin for subscription reports and callbacks that combine RevenueCat context with store purchase details.
FAQ
Does a RevenueCat integration prove that an MMP attributed a renewal to a campaign?
No. No. RevenueCat event delivery records whether the provider receives the event; the MMP campaign report shows whether it connects that subscriber’s revenue to acquisition. For Airbridge, its setup guide requires matched user IDs, Airbridge device IDs sent to RevenueCat, and duplicate-event controls.
Does a refund in a revenue report mean the MMP received a negative refund event?
No. A refund included in a revenue report and a negative-value refund event are different outputs.
Which candidate has a documented RevenueCat renewal mapping?
Airbridge maps RevenueCat RENEWAL to the standard Subscribe event by default. Adjust’s partner page also says RevenueCat can send renewals directly to Adjust, while Airbridge’s integration guide supplies the explicit event-name mapping.
Can sandbox testing confirm campaign attribution?
No. Treat sandbox event receipt and campaign association as two checks: one in the provider’s event view, and one in its campaign report. Singular’s technical guide recommends sandbox or test accounts and checking that events appear in its dashboard.
What should a small team test first?
Test one new subscriber through the purchase or trial event, confirm the provider receives the expected name and amount, then check the campaign association. Run a separate refund case before making a decision that depends on net revenue after refunds.
The practical pick
Airbridge is a strong candidate for a RevenueCat team that needs standard renewal reporting and campaign- or keyword-linked subscription revenue, provided the team can meet the documented identity and deduplication requirements. For any MMP, treat sandbox delivery, campaign attribution, and refund accounting as separate acceptance tests, then choose the provider whose observed results match the metric your growth team uses to spend.
Get Started Free
See how these criteria hold up on the real thing.


