Traffic without revenue context is vanity; revenue without traffic context is mystery. Linking AdSense to GA4 puts both on one screen: which pages earn, which sources pay, and which popular pages quietly earn nothing. This guide covers linking, reading, deciding, and repeating — the full loop this site itself runs (our own page-RPM reviews drove the content decisions documented across this blog).

1. Why connect them

Unlinked, you hold two half-truths: GA4 knows behavior but not earnings; AdSense knows earnings but not behavior. Linked, one report answers the only publisher question that matters — which attention is worth what — split by page, source, country and device. Every later section depends on this join existing.

2. Requirements before linking

  • Admin access on both the GA4 property and the AdSense account (editor rights fail silently — verify roles first).
  • The GA4 tag collecting on the same domain serving the ads; one property per site, no cross-property confusion.
  • ads.txt/app-ads.txt valid (setup: ads.txt guide) so the revenue being reported is real, protectable revenue — see invalid-traffic prevention.

3. Linking step by step

  1. GA4 → Admin → Product links → AdSense links → link flow.
  2. Sign in with the shared admin identity when prompted; select the correct AdSense publisher ID (multi-account owners: double-check the pub- number).
  3. Confirm the property–account pairing on the review screen; note the date — pre-link history does not backfill.
  4. Wait for data (typically within a day), then verify with the checks in §4 rather than assuming success.

4. Reading the Publisher Ads report

The linked data surfaces advertising revenue, impressions, clicks, ad-query and page dimensions inside GA4’s monetization reporting. Learn three views first:

  • Revenue by page: which URLs earn, sorted descending. Export monthly.
  • Revenue by source/medium: which traffic actually pays (search vs social vs direct behave nothing alike on RPM).
  • Revenue by country and device: geography and mobile/desktop splits explain most “same traffic, different money” puzzles.

5. Finding revenue by page (the money table)

Build one table monthly: page path, views, ad impressions, revenue, page RPM. Sort twice — once by revenue (protect these pages: no risky redesigns, no ad removals without tests), once by views (your audience). The intersection of high-views and high-revenue is the crown-jewel list; everything else is diagnosed below.

Google AdSense and GA4 Integration: Find Which Pages Actually Make You Money

6. Comparing traffic sources honestly

Social spikes and search compounds pay differently: search traffic typically converts to higher RPM through intent-matched advertisers, while viral social delivers volume at thin RPM. Neither is “better” until divided by effort — one evergreen search guide earning monthly beats ten viral spikes that earned once. Judge sources on revenue per session over quarters, not RPM snapshots.

7. Identifying high-earning articles (protect them)

For each top earner, record why it earns: niche advertiser demand, high-CPM geography mix, strong viewability from long engaged reads, or clean intent match. Then protect the formula: change tracking, layout and ad density on these pages only through tested changes, and link new related content to them so authority flows toward money.

8. Finding traffic-rich, earnings-poor pages (the fix list)

Sort by views descending, filter revenue near zero. Usual causes in order: no ad units on the template (app pages, tools), wrong ad density for the format (short pages with one unit), low-CPM geography mix, or bot-heavy traffic (see invalid-traffic guide). Fix in that order — adding units to bot traffic just manufactures invalid impressions.

9. Engagement versus revenue (the relationship)

Engaged sessions correlate with viewability, and viewability prices inventory — but length is not value. A 6-minute deep read in a low-demand niche can earn less than a 90-second buyer-intent visit. Plot engagement against RPM per page quarterly; pages in the high-engagement/low-RPM quadrant need advertiser-demand thinking (niche, geography, intent), not more words.

10. Content priorities from the data

Each monthly review outputs exactly three lists: protect (top earners — hands off except tests), fix (traffic-rich/earnings-poor — diagnose per §8), and feed (topics adjacent to earners that deserve the next new post). Everything else waits its turn. This discipline is what turned our own notes-and-tools traffic into a revenue-ranked editorial calendar.

11. Tracking discrepancies worth knowing

  • Timezone and currency display differences between products.
  • Attribution and session-definition differences (GA4 sessions vs AdSense serving logic).
  • Intraday vs finalized numbers — GA4 moves first, AdSense finalizes later.
  • Missing link coverage (new subdomain, app traffic, or a second property never linked).

Investigate persistent large gaps; ignore small directional wobble.

12. The recurring publisher review (monthly, 60 minutes)

  1. Export the money table (§5); file it dated.
  2. Review source/country/device splits (§§4, 6) for shifts.
  3. Update the three lists (§10); assign one owner per fix item.
  4. Policy + validity checks: Policy center, authorized sites, ads.txt currency (§§ from the invalid-traffic guide).
  5. One Looker Studio dashboard (below) refreshed and shared, so next month starts from answers, not queries.

Looker Studio companion: dimensions and metrics

Connect Looker Studio to the GA4 property carrying the AdSense link (native GA4 connector; the advertising fields arrive through the link, not a separate source):

Block Contents
Scorecards Total ad revenue · Views · Page RPM · Ad impressions
Money table Page path × views × impressions × revenue × page RPM, sortable
Source split Revenue by session source/medium with revenue/session
Geo/device Revenue by country; revenue by device category
Fix list Filter: top 20% views with bottom 20% RPM, auto-flagged monthly

Related reading: ads.txt setup, invalid-traffic prevention, GA4 purchase tracking, analytics setup, and hire a digital marketing expert.