Trials kept apart from payments
A trial start arrives as TRIAL_STARTED and the trial-to-paid conversion as FIRST_PAYMENT, so FIRST_PAYMENT always means a real payment, which matters for attribution for subscription apps.
Send RevenueCat subscription events into Linkrunner. Connect trials, paid conversions, renewals and refunds to the campaign that acquired the user.
A trial start arrives as TRIAL_STARTED and the trial-to-paid conversion as FIRST_PAYMENT, so FIRST_PAYMENT always means a real payment, which matters for attribution for subscription apps.
RENEWAL, REFUND, BILLING_ISSUE, CANCELLATION and more map to Linkrunner revenue types and a payment status.
Matched events feed revenue analytics per campaign, so you see which campaigns bring paying subscribers.
Map TRIAL_STARTED to trial events such as Meta's StartTrial, and FIRST_PAYMENT to purchase events.
In Integrations, under Analytics, click Configure on RevenueCat and copy the webhook URL.
Click Generate Authorization Token and copy it.
Under Integrations, Webhooks, add a webhook with the URL and token, for production and sandbox, all apps and all events.
Data flows from RevenueCat into Linkrunner, the opposite direction to the other analytics integrations.
Statuses: payment completed, payment failed (billing issues) and payment cancelled (cancellations and refunds). Payment revenue by campaign is the revenue side of ROAS measurement.
Expirations map to a default revenue type, not a payment.
Connect RevenueCat to Linkrunner, verify a trial and a paid event, then compare subscription outcomes by acquisition source.