Airbridge
Customers
Log InGet Started FreeStart Free

On this page

  • A 10% Install Gap Becomes a 60% Revenue Gap
  • Three Structural Reasons the Numbers Never Match
  • The AI App ROAS Illusion
  • What the Mismatch Actually Costs
  • How to Connect RevenueCat to Your Ad Channels
  • What to Look for in an MMP to Connect RevenueCat to Ad Channels
  • The Numbers Will Never Match — But They Can Connect
Back to Blog

Why Your RevenueCat Numbers Don't Match Your Ad Platform — And What It Costs You

J
Jaehyuk Kim
March 21, 2026·8 min read
Share
Why Your RevenueCat Numbers Don't Match Your Ad Platform — And What It Costs You

Why Your RevenueCat Numbers Don't Match Your Ad Platform — And What It Costs You

Meta Ads Manager says your ROAS is 3.2x. RevenueCat says you added 40 subscribers last month at $9.99/month. You multiply 40 by $9.99, get $400 in subscription revenue, and compare it to your $2,000 ad spend. That is a 0.2x ROAS — not the 3.2x Meta is reporting.

The numbers do not reconcile because they were never designed to. Meta counts view-through conversions using its own attribution model. RevenueCat records billing events from Apple and Google servers. These two systems measure different things, at different times, using different definitions of "conversion."

The mismatch is not a configuration error. It is built into how ad platforms, MMPs, and subscription billing systems work.

Key Takeaways

  • A 10–15% install discrepancy compounds to 40–60% at the subscription level. Each funnel step — install → trial → paid → renewal — adds its own gap.

  • Three structural causes drive the mismatch: self-attributing networks count their own conversions, attribution windows close before trials end, and billing events happen on servers RevenueCat sees but ad platforms do not.

  • AI app ROAS is especially distorted. Trial-to-paid may look strong, but 30% faster churn means the revenue your ROAS calculation assumes will not materialize.

  • Health & Fitness active renewal rate is 86.4% — highest among app categories (RevenueCat, State of Subscription Apps 2025). But without channel-level data, you cannot see which channels drive renewers vs churners.

  • Connecting RevenueCat to ad channels requires an MMP with S2S billing integration — not more dashboard tabs.

A 10% Install Gap Becomes a 60% Revenue Gap

At the install level, the discrepancy between your ad platform and your actual data is often 10–15%. Meta reports 1,200 installs. Your MMP shows 1,020. Most teams accept this as normal — and at the install level, it is.

Illustration

But subscriptions are not installs. Every step in the funnel — install → trial start → trial-to-paid → first renewal — introduces its own discrepancy layer:

  • Install → Trial: Not every install starts a trial. The trial start rate differs by channel, but your ad platform does not report trial starts.

  • Trial → Paid: Conversion happens after the attribution window closes. The ad platform counts it as its own conversion; the billing system does not.

  • Paid → Renewal: Renewal happens server-side, weeks or months later. No ad platform tracks this.

A 10–15% discrepancy at the install level can reach 40–60% by the time you compare ad platform revenue claims to actual subscription revenue in RevenueCat. The numbers diverge more as the funnel deepens — not less.

Three Structural Reasons the Numbers Never Match

The mismatch between RevenueCat and your ad platform is not a tracking bug. It comes from three architectural layers that each produce their own version of "the truth."

Illustration

  • Self-attribution vs deduplication. Meta, Google, and TikTok are self-attributing networks — they report their own conversions, including view-through attribution, without cross-channel deduplication. Each SAN only sees its own slice of the funnel and claims credit accordingly. An MMP has visibility across all channels at once — it sees installs from Meta, Google, and TikTok in a single view and deduplicates. Both are technically correct within their own definitions. The numbers will never match because the definitions do not match.

  • Attribution window vs trial period. A 7-day attribution window cannot capture a subscription conversion from a 14-day free trial. The ad platform counts the install as attributed, but the subscription — which happens on day 14 — falls outside the window. RevenueCat records the subscription. The ad platform already closed the book.

  • Billing events live on different servers. Subscription state changes — Start Trial, Subscribe, Renew, Cancel — are processed by Apple App Store and Google Play billing servers. RevenueCat captures these via its SDK and server-side listeners. Ad platforms have no access to these billing servers. The result: RevenueCat knows who subscribed, the ad platform knows who clicked — but no system connects the two without an intermediary.

RevenueCat's own documentation acknowledges data discrepancies driven by IDFA availability, event delivery timing, and SDK configuration differences. These are not bugs to fix — they are structural realities to work around.

Want to see how ROAS works with your data?

Get hands-on with Airbridge and see real results.

Try It Free →

The AI App ROAS Illusion

For AI-powered subscription apps, the mismatch is even more deceptive.

Trial-to-paid conversion may look strong — the novelty of AI features drives initial signups. But the downstream metrics tell a different story:

  • Revenue per payer is 41% higher than non-AI subscription apps — meaning higher price points and more price-sensitive users (RevenueCat, State of Subscription Apps 2025)

  • Churn is 30% faster — users who subscribed out of curiosity leave sooner once the novelty fades (RevenueCat, State of Subscription Apps 2025)

  • ROAS calculations break because the revenue your ad platform assumes will persist over 12 months decays significantly fasterThe problem is not just that ROAS is wrong — it is that you cannot tell which channel brings "AI curiosity subscribers" who churn after month 2 versus subscribers who stay. Without channel-level renewal data connected to acquisition source, every channel looks equally productive at the trial-to-paid stage and equally invisible at the renewal stage.

What the Mismatch Actually Costs

When RevenueCat data and ad platform data live in separate systems, every budget decision is based on incomplete information.

  • Budget misallocation. Three months of pushing $10,000/month toward a channel with inflated ROAS — while starving the channel that actually produces long-term subscribers — costs $30,000 in misdirected spend. The cost is not the spend itself. It is the subscribers you did not acquire from the better channel.

  • Invisible renewal rates by channel. Health & Fitness apps have the highest active renewal rate among all app categories at 86.4%. But this is an aggregate number. Some channels may drive users who renew at 90%+. Others may drive users who churn after the first billing cycle. Without RevenueCat subscription data connected to acquisition channels, you cannot see this difference.‍

  • Annual vs monthly mix. Knowing which channel drives annual subscribers — your highest-LTV users — versus monthly subscribers changes your payback calculation entirely. **This data exists in RevenueCat. It is not connected to your ad channels.

Connect RevenueCat subscription data to your ad channels. Native S2S integration. Funnel and Revenue reports by channel. $0.05/install, 15K free.

How to Connect RevenueCat to Your Ad Channels

RevenueCat does not attribute subscriptions to ad channels — that is not what it is designed to do. An MMP does not process billing events — that is not what it is designed to do. The connection requires both systems to exchange data.

  • S2S integration between RevenueCat and your MMP. RevenueCat sends subscription events to your MMP via a server-to-server connection. This ensures billing events are captured regardless of whether the user opens the app.

  • Attribution window ≥ trial period. Your MMP's lookback window must span the full trial-to-paid conversion cycle. A 7-day trial needs at minimum a 7-day window. Longer trials or grace periods need longer windows.

  • Channel-level subscription reporting. Once RevenueCat events flow into your MMP, you need reports that break down install → trial → paid → renewal by channel, campaign, and creative — not just installs by channel and subscribers in aggregate.

What to Look for in an MMP to Connect RevenueCat to Ad Channels

Both traditional MMPs and newer alternatives support RevenueCat integration. The question is whether the features you need are accessible without enterprise pricing. Confirm these capabilities:

  • RevenueCat S2S integration included in base. Not gated behind a higher pricing tier. Subscription events should flow into attribution from day one.

  • Subscription funnel by channel in base reports. Install → trial → paid breakdown by acquisition source — without requiring an advanced analytics add-on.

  • Revenue attribution by channel. Subscription revenue mapped back to the ad campaign that drove the install, included in standard reporting.

  • Predefined subscription events. Standard events that map directly to RevenueCat's event schema — Start Trial, Subscribe, Unsubscribe — without custom configuration.

  • Subscription-focused setup guidance. Onboarding designed for subscription app workflows, not general-purpose mobile app setup.

  • Usage-based pricing with no annual lock-in. Pay per install, scale down when needed, and start with a free tier that includes full feature access.

The Numbers Will Never Match — But They Can Connect

Meta will always report different numbers than RevenueCat. Google will always count conversions differently than your billing system. The goal is not to make the numbers match. It is to connect them so you can see what each channel actually produces in subscription revenue.

The structural gap — self-attribution, timing mismatches, billing silos — is not fixable inside RevenueCat or inside your ad platform. It requires an intermediary that receives data from both sides. The question is whether that intermediary requires an enterprise contract, or whether it is accessible from day one.

See which ad channel drives RevenueCat subscribers. Native S2S integration. $0.05/install. 15K free. Start on Airbridge Core Plan.

Tags:Subscription AppsFitness AppsAttributionRevenue Measurementad platformRevenuecat

Ready to transform your mobile growth?

Learn how Airbridge helps leading brands measure and optimize every touchpoint.

Get Started FreeView Case Studies

More Articles

Continue reading on related topics.

View all articles
How to Know If Your Ads Are Working in 2026

How to Know If Your Ads Are Working in 2026

App attribution connects ads to user actions like installs and subscriptions. Learn the 3 key metrics to track your ad performance. Start measuring today.

May 7, 2026|9 min read
Subscription App Event Tracking: A 5-Step Guide

Subscription App Event Tracking: A 5-Step Guide

Learn how to set up subscription app event tracking in 5 steps—Install to Subscribe—without a data engineer. Naming tips, funnel table, and tools.

Apr 2, 2026|6 min read
App Onboarding Before the Paywall: 5 Steps That Convert

App Onboarding Before the Paywall: 5 Steps That Convert

App onboarding before paywall: Master the 5-step sequence that converts. 82% of trials start Day 0. Learn conversion tactics. Start optimizing now.

May 9, 2026|15 min read
Airbridge

Stop paying for ads that don't perform. Track ad performance to know exactly what's driving your ROI.

Plans

  • Compare All Plans
  • DeepLink
  • Core
  • Growth
  • Pricing

Features

  • Airbridge AI
  • Marketing Analytics
  • Fraud Protection
  • Web & App Attribution
  • ROAS Measurement
  • iOS & SKAN
  • Deep Linking
  • Data Export
  • Audience Manager

Resources

  • Blog
  • Case Studies
  • Glossary
  • Library
  • Academy
  • User Guide
  • Developer Guide

Company

  • About Us
  • Terms of Service
  • Electronic Payment Terms
  • Privacy Policy
  • Information Security
  • GDPR
  • System Status

© 2026 AB180 Inc. All rights reserved.

AB180 Inc. | Business Registration: 550-88-00196