RPM drivers

The schema tag that cut our RPM by three quarters

One structured-data change, no content change, and RPM fell from $2.61 to $0.66. The tag told Google the site was something it wasn't, and the ad auction believed it.

By Mario Bailey · Published

Structured data feels harmless. It is invisible to readers and it is supposed to help Google understand your pages. But the label you attach can reclassify how your inventory is sold. On a site we run, adding news article schema to a site that is not a news publisher cut its RPM by roughly three quarters, with nothing else changed.

What happened

The site is a health information site, not a news outlet. We marked its articles up as news content. Google took the label at face value and rebucketed the site's ad inventory into a different, worse-paying category, and the RPM dropped almost immediately.

RPM
Before the schema change$2.61
After the schema change$0.66 down ~75%

Same content, same traffic, same placements. The only change was the structured-data type, and the inventory was repriced around it.

Why a label moves the money

Ad demand is bucketed by content type. News inventory carries different advertisers, different brand-safety rules, and different rates than evergreen reference content, and it is often worth less on a small site than the evergreen bucket the same pages would otherwise sit in. Telling Google your pages are news does not make them news; it just moves them to a shelf where your actual advertisers are not shopping. Use the article markup type that matches what the page actually is, and do not reach for the NewsArticle type unless you are genuinely a news publisher.

Removing it is not an instant fix

We removed the schema, and the RPM did not snap back the next day. The ad system had learned a classification and it took weeks to re-trust the site and return the inventory to its proper bucket. That lag is the expensive part: the mistake prices in immediately and prices out slowly. Eventually it recovered past where it started, but the weeks in between were real lost revenue.

The free dashboard that catches this early

You will not see a classification drift in your RPM until it has already cost you, because RPM at low volume is noisy enough to hide it for days. The earlier signal is Google Analytics' benchmarking, which compares your site against a peer group of similar sites. When your engagement or acquisition suddenly diverges from a peer group you used to track, that divergence often shows up before the revenue does, and it is free. We treat a benchmarking break as a prompt to check what changed in the site's markup and classification, not to wait for the RPM chart to confirm the damage.

How we measured it

AdSense RPM before and after a structured-data change on a site we run, with no content or placement change in between, and the recovery tracked over the following weeks. RPM is a per thousand ratio, not a revenue figure. The finding is causal in shape: one variable changed, the inventory repriced, and reversing the variable reversed it slowly. Treat structured-data type as something that can move revenue, not just rankings.

Scan your own setup Why RPM hides changes at low volume