Why ad-funded sites need field data on user experience

For publishers who rely on ad platforms and networks for revenue, poorly implemented ad-serving code can degrade user experience and page performance enough to undercut earnings. Core Web Vitals provide a way to quantify that trade-off. The three metrics cover the main risk areas:

  • Largest Contentful Paint (LCP) tracks perceived loading speed: when the largest contentful element—including ad slots—appears during page load.
  • Interaction to Next Paint (INP) tracks how quickly a page responds to user interactions. Heavy, blocking ads can push this metric up.
  • Cumulative Layout Shift (CLS) tracks visual stability. Ad slots that lack reserved space cause layout shifts when they load.

Case studies have already demonstrated that Core Web Vitals have a business impact. For publishers, the practical questions are whether improving those metrics increases ad impressions and revenue, and how top-earning pages compare on Core Web Vitals. Publishers using Google Ad Manager, AdSense for Content, and Google Analytics 4 (GA4) can answer those questions by correlating the two data sets. When slow pages cause ads to finish loading after the user has left, impressions go unrecorded and revenue is lost.

Bringing Core Web Vitals and ad data into GA4

Field data is the best source for this kind of analysis. Publishers without a Real User Monitoring (RUM) setup can start with the Chrome User Experience Report (CrUX) for historical performance, though CrUX is not a replacement for a dedicated RUM solution that offers finer detail.

GA4 can act as the central store that unifies Core Web Vitals field data with Ad Manager and AdSense metrics. The recommended workflow is:

  1. Collect Core Web Vitals field data from your site and send it to GA4.
  2. Link ad metrics and dimensions from Google Ad Manager or AdSense into the same GA4 property.
  3. Use Looker Studio to visualize both sources together and correlate Core Web Vitals ratings with ad revenue.

A depiction of the implementation steps of the previously linked codelab.

Sending Core Web Vitals to GA4

The web-vitals JavaScript library collects the data for all three metrics. How you send it depends on your tag setup:

  • With the Google tag snippet directly on the page, send field data through the gtag() function alongside the web-vitals library.
  • With Google Tag Manager, use the Web Vitals tag template, which bundles the library and can be configured for specialized builds such as the attribution build.

Importing ad performance into GA4

Native integrations handle the ad side. Both Google Ad Manager and AdSense can be linked to GA4 so that ad-related metrics and dimensions appear inside the property without custom instrumentation.

The Looker Studio visualization step

A prebuilt Looker Studio dashboard template connects to GA4 and renders both data sets side by side. To use it: open the dashboard (select the date range 24th August 2024 to 31st August 2024 for sample data), copy it to your own account, and swap the data source to your GA4 property.

The dashboard expects Core Web Vitals events sent using a specific syntax and naming convention. The Google Tag Manager template guide covers that requirement. Otherwise, you can customize the dashboard to your own data model.

What the dashboard surfaces

The template has three reports and two global controls—a date selector and a device category filter—that let you compare desktop against mobile behavior.

Page 1: Core Web Vitals condition at a glance

Each card on the first page tracks a single metric. The card shows the overall rating for the selected range, a bar chart of daily values, and a horizontal blue line marking the 75th percentile threshold. From this view you can establish your current LCP, INP, and CLS ratings, examine historical movement in those scores, and check how desktop styling and mobile rendering split in quality.

The Core Web Vitals overview in Looker Studio.

Page 2: Vitals against ad revenue

This page overlays ad metrics from the Ad Manager and AdSense integration with the Core Web Vitals trend. The blue line is the metric rating; gray bars are ad revenue. Thresholds on the chart encode the rating:

  • Blue line above the red line: rating is poor.
  • Blue line below the green line: rating is good.
  • Between the lines: needs improvement.

The chart is designed to make correlations between page experience degradation and revenue swings visible.

The Core Web Vitals overview plus ad revenue correlation in Looker Studio.

Page 3: URL-level detail

In the third view you can drop down to individual pages and sort by page views, ad impressions, ad revenue, or RPM. Use it to find pages that combine high earnings with poor Core Web Vitals ratings—prime candidates for optimization.

The Core Web Vitals page-level overview in Looker Studio.

From diagnosis to optimization

Identifying the correlation is only the first step. Once you have GA4 as the shared source of truth, target the pages with both strong revenue and weak Core Web Vitals. Then work directly on the underlying problems:

The strategy is straightforward: keep Core Web Vitals field data and ad business metrics in the same system. GA4 gives you that unified view, Looker Studio makes the relationship legible, and the optimization guides provide the levers to act on the findings. The result is the visibility to make decisions that serve both user experience and ad revenue.