RevenueHogdocs
Get started

How it works

How RevenueHog combines daily App Store Connect reports with real-time server notifications, and how Google Play, Stripe and Apple Ads data join the same feed.

RevenueHog has two data paths for every store: scheduled reads that pull reports and catalogs, and real-time notifications the store pushes as things happen. The daily path is authoritative for money; the real-time path drives the live feed and push alerts.

The App Store

Daily reports

A sync pulls your Sales and Trends reports from App Store Connect with your API key. Each run:

  1. Imports your current app list (new apps are added automatically, renamed apps keep any nickname you set).
  2. Refreshes app versions, team IDs and app icons.
  3. Downloads the daily SALES report for each day in the window, ending yesterday because today's report is incomplete.
  4. Downloads the subscription reports for the same window: subscription snapshots and subscriber lifecycle events.
  5. Converts local proceeds to USD at each day's ECB reference rate (see Currency conversion).

Writes are idempotent, so re-pulling a day replaces it rather than adding to it. In-app purchases, which Apple reports under their own Apple ID, are mapped back to the parent app through the parent's SKU.

The first sync, and any sync you start by saving credentials, covers 14 days. The daily scheduled sync covers 7 days. Older history is pulled on demand: when a date filter reaches past what has been fetched, a background backfill pulls the missing days, back to the roughly 365 days Apple serves at daily grain. A banner reads "Pulling daily reports to fill this date range." while it runs.

Real-time notifications

Apple's App Store Server Notifications V2 can point at a per-app RevenueHog URL. Each notification is verified against Apple's root certificates, matched to the app's bundle ID and environment, recorded, and acknowledged. Then, asynchronously, RevenueHog sends push alerts and forwards Apple's verbatim signed payload to your own server if you configured one. Duplicates (same notificationUUID) are acknowledged and ignored.

See Server notifications and Event forwarding.

App Store Connect webhooks

Separately from subscription notifications, App Store Connect can send webhooks for app version state, build uploads, external TestFlight review and TestFlight feedback. These drive App Review alerts (VERS) and TestFlight surfaces. See App Store Connect webhooks.

Google Play

Play has no reports path in RevenueHog. A Google Cloud service account reads orders, subscriptions and the product catalog, and Play's real-time developer notifications arrive through a Pub/Sub push subscription you own. A daily sync refreshes the catalog, re-reads subscriptions whose expiry passed, imports voided purchases, and rolls the last few days into revenue and subscription tables. See Connect Google Play.

Stripe

A read-only restricted key reads your account. Live events arrive by webhook (provisioned automatically when the key allows it, or created by hand) or by a scheduled poll of the account's event log. History is rebuilt at connect time from invoices, subscriptions, refunds, disputes and checkout sessions. A daily sync refreshes the catalog, re-sweeps the last three days (fees settle late) and snapshots the subscription base. See Connect Stripe.

Apple Ads

A read-only Apple Ads API user lets RevenueHog import daily spend per campaign, attributed to the app each campaign promotes. See Connect Apple Ads.

How sources combine

SourceAppears asLive pathScheduled path
App StoreiOS appsApp Store Server Notifications V2Daily sync, discovery, store metrics, reviews, catalog, finance
Google PlayAndroid appsReal-time developer notifications (Pub/Sub)Daily Google Play sync
StripeWeb apps, one per selected productWebhookEvent poll every four hours, daily Stripe sync
Apple AdsSpend on each promoted appNoneDaily ad spend pull

All sources map onto the same event badges (BUY, RENEW, TRIAL, CONV, CHURN, RFND and others), so the feed, MRR, alerts, widgets and digest work the same regardless of where a sale happened. App Store only surfaces, such as reviews, TestFlight, store funnels and version tracking, simply do not appear for web or Android apps.

Optional SDKs

The SDKs add user-level attribution: an identify and attribute call link purchases to your own user IDs, upgrading anonymous transaction-derived customers to real profiles. There is no API key in the app: devices prove which app they are with App Attest, and enrollments appear under Settings → Connections → SDK DEVICES. Everything else works without the SDK. See SDKs.

Last updated on

On this page