The instinct is understandable. Revenue per impression is roughly fixed, so more impressions should mean more revenue. In practice publishers who cut ad units on article pages usually see revenue per session go up, not down.
Three things happen when density climbs
First, viewability falls. Units stacked below the fold in a long article get scrolled past, and low-viewability inventory earns less per impression because buyers bid less for it.
Second, layout shift rises. Units that load late and push content down damage Cumulative Layout Shift, which is a Core Web Vitals signal. Worse vitals mean worse rankings, which means fewer sessions to monetise at all.
Third, readers leave. Session depth falls when the reading experience degrades, and shorter sessions mean fewer impressions per visitor, which is the opposite of what adding units was supposed to achieve.
Measure per unit before you touch anything
AdSense reports at site level by default, which is not granular enough to make layout decisions. Instrument each placement so you can see what it earns individually. In most audits we run, two or three units produce the large majority of revenue and the rest mainly produce layout shift.
Change one thing, keep a control
Hold back a slice of traffic on the existing layout while the new one runs. Seasonality and traffic mix move revenue enough on their own that a before-and-after comparison across two different weeks tells you very little.
One publisher we worked with went from eleven units per article to six. Session RPM rose from 4.10 to 7.35 dollars and Cumulative Layout Shift fell from 0.31 to 0.04. The traffic did not change during the test window; the layout did.
The policy point that comes first
None of this matters if the account is at risk. Audit against Google publisher policy before optimising anything, because a suspended account earns nothing regardless of how well its units are placed.