Revenue centre
what was really paid.
One console page with every realised revenue event: verified store purchases, sponsor bookings, affiliate and ad payouts, and ad network reports. No estimates, no projections, no currency conversion.
01What it shows
| Source | Written by | When |
|---|---|---|
| Store purchases (verified) | Backend | A new purchase verified with Google Play or the App Store, with the price the store reported. See Purchases. |
| Sponsor bookings | You, in the console | A sponsor paid you for a slot. |
| Affiliate payouts | You, in the console | An exchange paid you a commission. |
| Ad payouts (entered by hand) | You, in the console | An ad network paid you (any network). |
| Ad networks (reporting API) | The console, on your request | A finished day pulled from AdMob or AppLovin MAX reporting. |
- Totals are per kind, source and currency. Amounts in different currencies are never converted or added together.
- Amounts are kept as exact decimal strings (no floating-point rounding,
admin/src/revenue.ts). - An event without an amount is not counted, and the page says how many there were. Status lists them too.
- Nothing is estimated. A period without events shows "nothing measured".
02Record a payout or booking
- Open the Revenue centreAs a manager or owner.
- Choose the sourceSponsor booking, affiliate payout or ad payout.
- Enter the detailsThe reference (invoice or payout id), the amount exactly as paid, the currency, the date and a note.
The same source and reference can be recorded only once, so a payout is never counted twice. Every entry is in the audit log with who recorded it.
03Connect ad reporting (optional)
Console → Ad revenue reporting. Without it, ad revenue stays "not measured" unless you enter payouts by hand.
| Network | What to enter |
|---|---|
| AdMob | Publisher id (pub-…, AdMob → Settings → Account information), and an OAuth client id, client secret and refresh token from Google Cloud with the AdMob API enabled and the scope https://www.googleapis.com/auth/admob.readonly. The test exchanges the token and lists your account. |
| AppLovin MAX | Report key (MAX dashboard → Account → Keys → Report key). |
Then pull one finished UTC day per network from the Revenue centre (source ads_api). Pulling the same day again does not add it twice. The figure is what the network's reporting API returns for that day (the networks call it estimated earnings, in USD); your final payment from the network can differ. Unity Ads and ironSource LevelPlay have no reporting connection here: enter their payouts by hand.
04Why no estimates
The console never shows projected earnings, eCPM guesses or "potential revenue". What you see is what was paid or reported, with a reference you can check. The public demo console has no revenue at all.