Back to the RevenueCat homepage

Chapter 4: Your funnel tech stack: how to understand what each tool measures

Acquisition campaigns can be measured by a handful of systems, with each one measuring only part of the journey. Broadly-speaking, only two tools are required: the traffic source and RevenueCat — the other systems answer extra questions.

To get the most from your web funnel, you need to have a solid understanding of what each bit of your tech stack is for: how it works, why you need it, and what it measures.

System

Essential/optional

What it is

What it’s for

Ad platform / partner registry + tracking links

Essential

Source of traffic

Records media delivery, spend, and the conversions it credits to a campaign or partner

RevenueCat

Essential

Funnels + the subscription/purchase ledger

Records funnel activity, purchases, subscription lifecycle events, revenue, redemptions, and entitlements

MMP

Optional

Mobile Measurement Partner, like AppsFlyer, Adjust, Branch

Connects campaign or creator-link interactions to installs, app opens, and re-engagement

Product analytics

Optional

Behavioral analytics layer, such as Amplitude, Mixpanel, Segment

Explains visitor behavior inside the funnel or app

Payment provider and finance/BI systems

Optional

Internal finance or reporting

Records money movement and financial reporting

Each system sees a different part of the journey and provides a unique layer to understand your campaign results. Not every team will use every optional system, and the systems you do use will not produce identical totals.

Do you need an MMP?

If this is your first campaign, you may not need a mobile measurement partner (MMP) on day one. MMPs are platforms that use SDKs and attribution links to connect ad interactions with mobile outcomes — like install, first app open, re-engagement, and later in-app events. Common MMPs are AppsFlyer, Adjust, Branch, Airbridge, Kochava, Singular, and Tenjin, all of which integrate with RevenueCat.

An MMP and RevenueCat answer different questions:

  • RevenueCat measures the funnel, purchase, subscription lifecycle, revenue, and entitlement
  • An MMP specializes in determining which campaign, channel, or partner should receive credit for mobile activity after the user crosses into the app

Start without an MMP if your primary goal is to identify which campaign or creator led to a paying web customer. Consider adding an MMP if you also need to connect that traffic to app installation, first open, deferred deep linking, re-engagement, or cross-network mobile attribution. (We walk through the details of when to introduce an MMP specifically for paid acquisition and influencer marketing in their respective sections below.)

Connecting an MMP (if applicable)

Once you've decided you need an MMP — whether for paid campaigns or creator-driven installs — here's how to connect it:

  1. Install and initialize the MMP SDK in the app
  2. Set the MMP's customer identifier on the RevenueCat customer as early as the provider requires
  3. Collect permitted device identifiers according to platform policy and user consent
  4. Configure the RevenueCat integration using the provider's app keys, tokens, and event mappings
  5. Disable duplicate client-side purchase revenue events if RevenueCat will send those events server-side
  6. Configure the app or deferred-deep-link destination used after purchase
  7. Pass approved campaign parameters — and, if appropriate, a non-sensitive App User ID — into that destination
  8. Test the full click → web purchase → install/open → redemption → entitlement → downstream-event journey

What's different by provider:

  • AppsFlyer: set the AppsFlyer ID on the RevenueCat customer, configure the RevenueCat integration, and review the web-event route if web purchases must also appear in AppsFlyer alongside app events. See AppsFlyer Docs here.
  • Adjust: set the Adjust ID, configure app and event tokens, and use Adjust's sandbox and testing tools to validate the setup before going live. See Adjust Docs here.
  • Branch: align Branch identity with the RevenueCat App User ID, or set a separate Branch identifier, then configure the RevenueCat integration and deep-link destination. See Branch Docs here.

Verify the expected MMP and campaign or creator attributes on an actual RevenueCat test customer. An enabled integration doesn't prove that identifiers were set at the right time.

Attribution integration

RevenueCat isn't an attribution network itself, but it supports attribution integrations including AppsFlyer, Adjust, and Branch — campaign attribution must come from your provider or from values supplied to RevenueCat.

Do you need product analytics?

The more layers you add to your stack, the more complicated operation and measurement get. So only add product analytics when it answers a separate question that none of your existing tools can answer.

RevenueCat already offers some funnel analytics — for example, comparing customers who watched a demonstration with those who skipped it, regardless of whether they arrived through paid or creator traffic.

If you want to dig deeper, then RevenueCat Funnels can send funnel events to Amplitude, Mixpanel, and Segment. To get set up, enable Web Funnel Events in the relevant RevenueCat integration. Keep event names stable and verify that configured custom URL parameters appear in page_url_parameters. See our Funnel integrations Docs page for detailed instructions.

TL;DR:

  • Keep RevenueCat as the source of truth for subscription state and lifecycle revenue
  • Use product analytics to explain the behavior around those outcomes rather than recreating the subscription ledger there

Assign each tool as a source of truth

Before launching, it’s worth assigning a source of truth for each question or decision you may have. For example:

Question

Primary source of truth

How many funnel sessions, paywall views, checkouts, web conversions, and redemptions occurred?

RevenueCat Funnels analytics

Which subscription events, renewals, refunds, and entitlements occurred?

RevenueCat

Which Meta campaign receives conversion credit?

Meta Ads Manager (or equivalent)

Which click drove an install or re-engagement?

Your MMP, if you use one

What did visitors do inside the funnel or app?

Product analytics, if connected

What was collected, refunded, disputed, or recognized by finance?

Billing provider and finance system

Totals will differ because the systems use different attribution windows, identities, time zones, session rules, and revenue definitions. The objective isn't to make every dashboard identical — it's to define what number governs what decision, and to explain expected differences.