Looker Studio AdSense Dashboard: Track Revenue, Page RPM and Traffic Performance
Publishers drown in tabs: AdSense for money, GA4 for behavior, Search Console for queries — and decisions die jumping between them. This post builds one Looker Studio dashboard that joins all three, following the analysis method in AdSense–GA4 integration. One honest note up front: the shareable make-a-copy template link ships from the site owner’s account after review — below is the complete build specification so nothing depends on that link existing.
1. Why publishers need one revenue dashboard
Monthly decisions (protect, fix, feed — per the integration guide) need revenue, behavior and queries side by side. Separate logins produce separate conclusions; one dashboard forces the join. Budget one focused build hour; maintenance is minutes monthly afterward.
2. Metrics to include (and exclude)
Include: estimated ad revenue, ad impressions, page RPM, views, engaged sessions, revenue per session, queries, clicks, CTR, average position. Exclude: vanity aggregates without denominators (total users without revenue context), real-time widgets (noise), and any metric nobody can name a decision for. Every chart below ends in an action or it gets deleted.
3. Connect AdSense data via GA4
Prerequisite: the AdSense→GA4 link already flowing. In Looker Studio add the GA4 property as a data source; the advertising fields arrive through the link — no separate AdSense connector needed for the core revenue tables. Verify one known-earning page matches the AdSense dashboard directionally before building further.
4. Connect GA4 to Looker Studio properly
Native GA4 connector, one data source per property (no duplicates with different date ranges — the top cause of “numbers don’t match” confusion). Set the default date range to “last 28 days excluding today” and currency display once, so every chart inherits sane defaults.
5. Blend in Search Console data
Add the Search Console property as a second source and blend with GA4 on page path (URL impression vs page path normalization: strip query parameters and trailing-slash variants in a calculated field first, or the join silently drops rows). The blend gives each money page its queries, CTR and position — the traffic half of every decision.
6. Page 1: revenue overview
Scorecards: ad revenue, views, page RPM, ad impressions — each with prior-period comparison. One time series: revenue + views dual-axis. One table: page path × views × impressions × revenue × page RPM, sortable, with a page-path filter control. This page answers “how did we do” in ten seconds.
7. Page 2: page-level performance and the fix list
The money table with two saved sorts: by revenue (protect list) and by views with an RPM threshold filter surfacing traffic-rich/earnings-poor pages automatically. Add a notes field per row during review (owner, action, date) — the dashboard becomes the work log, and next month opens with assignments, not queries. Cross-check fix candidates against invalid-traffic signals before adding ad density.
8. Page 3: traffic sources and high-value content
Revenue by session source/medium with revenue-per-session; revenue by country and device; top queries for top-earning pages (from the blend). High-value content gets a standing section: what the earners have in common (niche, intent, geography, length) in one paragraph updated quarterly — that paragraph is the editorial brief for new posts.
9. Month-over-month comparisons that mean something
Use built-in date comparison on every scorecard and table (previous period, previous year once history exists). Annotate known events directly on time series (festival peaks, layout changes, new ad units) — unexplained jumps get misread as strategy within two quarters. Compare revenue per session, not just totals: traffic growth masking RPM decay is the standard way publishers fool themselves.
10. Automate delivery
Schedule monthly PDF delivery to stakeholders on the first working day, plus a mid-month exception alert (revenue down >20% week-over-week triggers a check, not a panic). Keep one owner for the schedule; rotating ownership means nobody reads it.
11. Read it like an owner (decision routine)
Monthly, 60 minutes, same order: scorecards vs prior period → fix-list triage (one owner each) → source/geo shifts → annotation of causes → three lists (protect/fix/feed) carried into the content calendar. The routine from the integration guide, now with the dashboard doing the fetching.
12. Template publication notes (owner action)
To ship the make-a-copy link: finalize this dashboard on real data, strip any client-identifying filters, use Share → “share as template” from the owner account, and link it at the top of this post with the setup note (link GA4 property → link Search Console property → verify one known page). Until then, this specification rebuilds it verbatim.
Related reading: AdSense–GA4 integration, ads.txt setup, invalid-traffic prevention, analytics setup, and hire a digital marketing expert.


