Trends & Insights

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

2026
.
3
.
21
By
Team Airbridge
Trends & Insights
Why Your RevenueCat Numbers Don't Match Your Ad Platform — And What It Costs You
2026
.
3
.
21
By
Team Airbridge

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. 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.

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."

  • 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. An MMP applies last-click deduplication across channels. 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.

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
  • Churn is 30% faster — users who subscribed out of curiosity leave sooner once the novelty fades
  • ROAS calculations break because the revenue your ad platform assumes will persist over 12 months decays significantly faster

The 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. 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.

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.
Connect RevenueCat subscription data to your ad channels. Native S2S integration. Funnel and Revenue reports by channel. $0.05/install, 15K free.

How Core Plan Closes the RevenueCat–Ad Platform Gap

Core Plan includes native S2S integration with RevenueCat and Adapty in the base offering. Subscription events flow from RevenueCat into attribution — connecting the billing data RevenueCat collects to the acquisition data your ad channels report.

With this connection in place, the reports change. Funnel reports show install → trial → paid by Meta, Google, Apple Search Ads, and TikTok — so you can see which channel's installs actually convert, not just which channel has the lowest CPI. Revenue reports map subscription revenue back to the acquiring channel. The 86.4% renewal rate stops being an aggregate number and becomes a channel-level metric you can act on.

25 predefined subscription-optimized standard events — including Start Trial, Subscribe, and Unsubscribe — are already defined. The events RevenueCat sends map directly to Core Plan's standard event schema without custom configuration.

Core Plan vs Traditional MMP: Connecting RevenueCat to Ad Channels

Both traditional MMPs and Core Plan support RevenueCat integration. The difference is where billing integration and subscription reporting sit in the pricing structure.

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.

Airbridge Core Plan
See which ad channel drives RevenueCat subscribers. Native S2S integration. $0.05/install. 15K free. Start on Airbridge Core Plan.
Want to get more insights?
Get a mail whenever a new article is uploaded.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Check out our all-in-one package that fits every stage of your growth.
Team Airbridge
Airbridge Team
Subscribe to the newsletter for marketing trends, insights, and strategies.
Get a mail whenever a new article is uploaded.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Talk to us!

Ready to accelerate your app's growth?
The expertise and tools you need are just a chat away.