ActivationPal

Build vs buy analytics for mobile apps

Buy when your reporting is onboarding, paywall and subscription conversion for a mobile app. Build when you must own the raw data, the hosting region or the schema. ActivationPal publishes this page and makes the first product in the table below.

Build vs buy analytics at a glance

Prices are as stated on each vendor's pricing page on 13 October 2026.

OptionBest forMobile conversion reportingPrice as stated
Build in-houseTeams that must own the data, region or schemaWhatever you buildYour inputs, see the worksheet
ActivationPalMobile apps that need onboarding, paywall and subscription funnelsOnboarding funnel, paywall placements and plans, cohorts, and revenue from RevenueCat or Superwall10k events free in total; $9, $19 or $29 per month
MixpanelWeb and mobile product analytics with named eventsFunnels and retention analysis, mobile analyticsFree up to 1M events per month; Growth starts at $0 with the first 1M events free, up to 20M; Enterprise is a quote
PostHogTeams that want several products on one usage-based billProduct analytics on a pay-as-you-go planAnalytics free for the first 1M events each month, then pay-as-you-go
AmplitudeProduct analytics with session replay on every planProduct analytics, Session Replay for web and mobileFree with 2M events per month; Plus starts at $0 with the first 2M events free; Growth and Enterprise are custom
HeapAutomatic capture without naming every eventAutocapture, funnels, retentionFree up to 10k monthly sessions; Growth is an estimate after install; Pro and Premier are custom
RevenueCat ChartsSubscription metrics from purchase dataPaywall conversion and trial conversion funnel chartsFree to $2,500 in monthly tracked revenue, then 1% of tracked revenue

What you build for mobile conversion reporting

A conversion dashboard is eight jobs, not one chart. Here is each job next to what ActivationPal already ships.

RequirementWhat you buildWhat ActivationPal ships
IngestionAn SDK per platform, an offline buffer, retries and a batch endpoint with per-app keysA single-file Swift SDK with no dependencies (iOS 15+), one Kotlin file for Android 5.0+, plus Flutter and React Native SDKs. Events buffer in memory and on disk, flush every 10 seconds, at 20 buffered events and on background, and failed flushes retry. POST /api/ingest takes up to 200 events per batch with a per-app key
Identity joinA shared user id between client events and purchasesPass the RevenueCat app user id (Purchases.shared.appUserID) to configure, and purchases land on the buying device's timeline
Revenue eventsWebhook receivers, signature checks and de-duplicationRevenueCat webhook with HMAC signature verification, or Superwall webhook with Svix headers. Event ids are stored uniquely, so retries never double-count. One revenue source per app
Metric definitionsCohort rules, trial and renewal logic, gross and net revenueInstall-cohort funnels where every stage counts unique devices and none exceeds 100% of installs. Trial start is rc_initial_purchase with period_type TRIAL, and trial conversion is rc_renewal with is_trial_conversion. Gross and net revenue toggle
DashboardFunnel, paywall, cohort and revenue views, plus a live feedOnboarding funnel with answer splits, paywall placements and plans, cohorts, a live event feed and per-device timelines
AcquisitionAttribution token capture and ad spend reportsAdServices token captured automatically on native Swift and Flutter and resolved server-side. Apple Search Ads spend and CPI through a read-only connection
Access for agents and reportsAn API and a scheduled emailREST /api/v1, MCP at /api/mcp and the ap CLI, all returning the dashboard's numbers, plus a weekly account email
MaintenanceSDK updates per OS release, webhook payload changes, timezone and refund edge cases, schema migrationsThe vendor maintains it. Event names are fixed

Instrumenting an app is a handful of static calls from the quickstart:

ActivationPal.configure(app: "myapp", key: "ap_pk_YOUR_KEY", userId: Purchases.shared.appUserID)

ActivationPal.onboardingStep(0, id: "goal", answer: "lose_weight")
ActivationPal.onboardingCompleted()

ActivationPal.paywallShown("onboarding")
ActivationPal.paywallPlanSelected("yearly")
ActivationPal.paywallPurchased("yearly")

The full vocabulary is in the events reference. Revenue setup is in the RevenueCat guide, and the agent API covers programmatic access.

Build vs buy cost worksheet

Every number in the "Your number" column is yours. This page gives no benchmarks for build hours or rates.

LineFormulaYour number
Build, year one(build hours + 12 × monthly maintenance hours) × hourly rate + 12 × monthly hosting
Buy, year oneMonthly plan price × 12
Events per monthActive users × events per user per month

The pricing page counts events, not installs, and returning users add events. Estimate build hours per requirement:

  • Ingestion
  • Identity join
  • Revenue webhooks
  • Metric definitions
  • Dashboard
  • Acquisition
  • Alerts and reports
  • Maintenance per month

ActivationPal's published figures: 10k events free in total, then $9 for 50k events a month, $19 for 250k and $29 for 1M, or $90, $190 and $290 a year. All apps share one allowance. Past it, analytics access locks while events keep recording. See pricing.

Build costs less over a year only when the build line comes in under the buy line. Size your funnel numbers first with the funnel calculator.

When building is the better choice

Build when one of these applies. They come from ActivationPal's privacy and security page.

  • You need a processing region other than the United States. The database is in Northern California and there is no region selector.
  • You need a Data Processing Addendum. ActivationPal does not currently offer one.
  • You need self-service full export or device deletion. Neither is available, and requests go to support by email.
  • You need web or backend events, or a custom schema. ActivationPal covers mobile funnels only.

Alternatives to a custom analytics dashboard

Mixpanel

Mixpanel has a free plan with up to 1M events a month, unlimited seats, funnels and retention analysis. Growth starts at $0 with the first 1M events free and runs up to 20M events a month. Enterprise is a quote. Its comparison lists ingestion and export API access and data warehouse connectors.

PostHog

PostHog is pay-as-you-go. Analytics is free for the first 1M events each month, with 5K session recordings free, and billing limits can be set per product. It says it has an MIT-licensed open source product. Events are retained for 1 year on the free plan and 7 years on paid plans.

Amplitude

Amplitude has a free plan with 2M events a month and 1 year of data access. Session Replay, Experimentation and AI are on every plan. Plus starts at $0 with the first 2M events free and scales to 70M. Growth and Enterprise are custom.

Heap

Heap uses autocapture. The free plan is up to 10k monthly sessions with 6 months of history, and a mobile session ends after 5 minutes of inactivity. Growth is estimated after you install the snippet. Pro and Premier are custom, and data warehouse integration is listed on Premier.

RevenueCat Charts

RevenueCat Charts is free up to $2,500 in monthly tracked revenue, then 1% of tracked revenue. Its docs say charts come from purchase data saved in RevenueCat, independent of in-app usage, so onboarding screens are outside it. It has paywall conversion and trial conversion funnel charts. The docs warn its definitions may differ from other systems.

How to choose

  • Pick ActivationPal for mobile onboarding, paywall and RevenueCat or Superwall funnels. The homepage shows the dashboard, and subscription analytics and iOS analytics cover the two sides in detail.
  • Pick Mixpanel, PostHog or Amplitude when you need web and mobile product analytics in one tool.
  • Pick RevenueCat Charts when subscription metrics alone are enough.
  • Build when the region, DPA, export or schema limits above apply to you.

Frequently asked questions

Is it cheaper to build or buy mobile app analytics?

It depends on three inputs: build hours, monthly maintenance hours and your hourly rate. Fill them into the worksheet above and compare the build line with the buy line. This page gives no figure because yours will differ.

What does a custom conversion dashboard need besides charts?

Ingestion with an offline buffer and retries, an identity join between client events and purchases, revenue webhooks with signature checks, written metric definitions, and ongoing maintenance.

Can I keep a custom dashboard on top of ActivationPal?

Yes. The REST and MCP agent API returns the same numbers the dashboard shows, and get_events returns up to 500 raw rows per call. That suits a custom view, though not a full copy of your data.

Does ActivationPal offer data export or EU hosting?

There is no self-service full export, and there is no region selector: data is stored in the United States. A complete export is a request to support by email. Details are in privacy and security.