DEV Community

EltaCrew
EltaCrew

Posted on

How to track ad revenue across AdMob, AdSense and mediation networks in one dashboard

If you monetize apps or sites with more than one ad network, you've probably hit this wall: your revenue is real, but it's scattered. AdMob reports one number, AdSense another, and your mediation partners — AppLovin, Unity, Meta Audience Network — each have their own console. There's no single place that tells you what you actually earned yesterday.

This post walks through why that happens, the options for pulling it together, and the trade-offs of each.

Why ad revenue ends up scattered

Each network is its own product with its own reporting API and its own definition of a "day":

  • AdMob reports mobile ad revenue, and can also surface mediation earnings if you route those networks through AdMob mediation.
  • AdSense is a separate product for web/content, with a separate login and API.
  • Mediation networks each keep their own dashboard, and their totals don't always match what AdMob attributes to them (different time zones, different rounding, reporting lag).

The result: to answer "what did I make yesterday, across everything?" you open several tabs and add it up by hand. Do that every morning and it gets old fast.

Option 1: A spreadsheet

The zero-cost starting point. Export CSVs from each console, paste into one sheet, sum.

  • Pros: free, full control, works with any network that offers an export.
  • Cons: manual, error-prone, and always a day behind. Time zones and currency conversion bite you. It doesn't scale past a couple of networks.

Option 2: The network APIs + your own script

Each major network exposes a reporting API (AdMob has the AdMob API; AdSense has the AdSense Management API; most mediation networks have reporting endpoints). You can pull them on a schedule and combine.

  • Pros: automated, exactly the fields you want.
  • Cons: you're now maintaining OAuth flows, token refresh, rate limits, and a place to run it. That's real engineering time for something that isn't your product.

A few things to get right if you go this route:

  • Use read-only scopes. For revenue, you only need read access. Never request a scope that can modify account settings.
  • Normalize time zones before you sum. AdMob's "today" and a mediation network's "today" can differ by hours.
  • Expect reporting lag. Same-day numbers are estimates and get revised. Don't treat the last data point as final.

Option 3: A dashboard that does the merge for you

If you don't want to build and babysit the pipeline, a purpose-built dashboard reads the networks for you and presents one combined view. The things worth checking before you connect your accounts:

  1. What OAuth scope does it request? Revenue reporting only needs read access. If a tool asks for write scopes, ask why.
  2. Where does your data live? Some tools pull your revenue into their own servers. An on-device app that never routes data through a third-party server has a much smaller blast radius.
  3. Can you revoke it easily? OAuth access should be revocable from your Google account in one click.

A concrete example

I built a small Android app called AdDeck for exactly this, and it's a useful illustration of Option 3 done conservatively:

  • It connects with a read-only OAuth scope — it can read revenue and nothing else.
  • It runs 100% on-device: numbers go from the ad networks straight to your phone, with no backend in the middle, so no server is sitting on your earnings data.
  • It shows today's total, a per-app ranking with day-over-day change, and the month-to-date trend, and lets you tap any app for its own 7-day trend plus eCPM, CTR and fill rate. A home-screen widget shows the number without opening the app.

It's free on Android: https://play.google.com/store/apps/details?id=com.eltacrew.addeck

The takeaway

There's no single "right" answer — a spreadsheet is fine for two networks, a script makes sense if reporting is core to your workflow, and a dashboard saves time if you'd rather not maintain one. Whichever you pick, the two rules that matter are: read-only access, and know where your revenue data is stored. Everything else is convenience.

Top comments (0)