Fastest fix: in your AdSense Auto ads settings turn OFF Vignette and In-feed, cap manual slots at 3 for articles under 1,000 words, and make sure the first ad sits below ~200 words of text. That clears the large majority of density restrictions on its own.
AdSense does not publish a single “max ads per page” number. The old three-ads-per-page cap was removed back in 2016 and replaced by the Valuable inventory policy, which is intentionally contextual. Google’s exact wording is: “Advertising and other paid promotional material added to your pages should not exceed your content… we may limit or disable ad serving on pages with little to no value and/or excessive advertising until changes are made.” So the rule isn’t “5 ads is too many.” It’s “ads must not outweigh content, at any scroll position, on any device.”
There IS a hard number you can measure against, though. The Coalition for Better Ads standards — which Google co-authored and enforces — fail any page where ad density exceeds 30% on mobile or 50% on desktop (or 30% on desktop when combined with a sticky video ad). Treat those as the lines you must never cross, and aim well under them.
Symptoms — how AdSense flags this
- Email or Policy center entry referencing “Valuable inventory” or “Better ads standards: ad density.”
- Policy center → click into a site → the page shows an ad serving status of Restricted ad serving, Limited ad serving, or Ad serving at risk on one or more URLs.
- Sudden drop in fill rate on the cited pages while other pages are unchanged.
- New ads stop loading on specific URLs (the ad request returns “no ad” instead of an actual ad).
If you see “Valuable inventory: Low value content” or “Not enough content” instead, that is the content side of the same policy — see Thin pages and AdSense review. This article covers the ads-outweigh-content side.
The four real failure patterns
Pattern 1: Auto ads + manual stacked
How to spot it: You enabled Auto ads, then added 3 manual <ins> slots in your article template. Both fire independently. A scroll through an article shows 6 to 8 ad blocks where you intended 3.
Why it happens: See AdSense auto vs manual conflict. Neither system knows about the other, so Auto ads counts your manual slots as “content” and inserts on top of them.
Fix: Pick one. Either turn off Auto ads’ In-article and In-feed formats (AdSense → Ads → By site → edit the site → toggle off the formats you place manually), or remove your manual <ins> slots. A common safe combination is Anchor + Vignette from Auto ads with manual in-body slots, OR full Auto ads with no manual slots — never both for the same format.
Pattern 2: Short articles with too many ads
How to spot it: Open a 300-word article. Count ad slots. If there are 4 — header, in-article, end-of-article, and sidebar — that is 1 ad per 75 words. Way too high, and exactly the case Google means by “ads exceed content.”
Why it happens: A template designed for 1,500-word articles is applied to 300-word stubs. Density looks fine on long content but explodes on short content.
Fix:
- Set a minimum word count for ad serving: if
wordCount < 600, skip the in-article slot. - Or raise the floor on short articles: combine multiple stubs into one longer article (better for SEO too).
- Or disable ads on tag pages, category pages, and any auto-generated short pages using AdSense → Ads → By URL → Manage groups (URL-level controls), or
noindexthem.
Pattern 3: Anchor + Vignette + Sidebar all on, mobile
How to spot it: Open your site on a phone. The bottom anchor ad covers roughly 10% of the viewport, a vignette interstitial fires between pages, and the side rail shows on landscape rotation. Plus 2 to 3 in-body ads. On mobile the 30% Better Ads threshold is easy to blow past with this stack.
Why it happens: Auto ads’ default “everything on” setting plus manual placements.
Fix: On mobile, pick at most ONE of: anchor, vignette, in-body manual. Most publishers who pass run:
- Anchor on (one persistent slot)
- 1 Auto ads in-body OR 1 manual in-body slot
- No vignette — it is the highest-friction format and, paired with anything sticky, is what pushes you over the line
Pattern 4: Layout creates “ads above content” on mobile
How to spot it: On mobile, the first 1.5 viewports show: header → ad → ad → first paragraph. The reader has to scroll past two ads to read anything.
Why it happens: A leaderboard ad below the header plus an in-article ad before the first paragraph both fire above the fold on small screens.
Fix: Push at least one ad below the first ~200 words. The Better Ads Standards explicitly count a first-viewport where ads dominate content as a failing experience, and it is one of the most reliable warning triggers.
How to measure your density safely
- Open a representative article — one near your median word count — on both mobile and desktop.
- Screenshot the top of the page, after one scroll, after two scrolls, and at the bottom.
- For each screenshot, estimate
pixels covered by ads ÷ total viewport pixels.
| Position reading | Mobile | Desktop |
|---|---|---|
| Safe target | <= 20% | <= 30% |
| Risky | 20% to 30% | 30% to 50% |
| Official fail line | > 30% | > 50% (or > 30% with a sticky video ad) |
The “fail line” column is the actual Coalition for Better Ads threshold Google enforces. The “safe target” column is the conservative buffer to leave room for the non-deterministic classifier.
Also check: at no point should ads outnumber visible content blocks (paragraphs, images, code blocks). If a screenshot shows 2 ads and 1 paragraph, density is wrong regardless of the pixel math.
Shortest fix path
In hit-rate order:
- Turn off Auto ads’ Vignette and In-feed entirely. Clears the largest share of density restrictions.
- Cap total slots per page at 3 for articles under 1,000 words, 4 to 5 for longer.
- Move the first ad below ~200 words of content. Clears the “ads above the fold” sub-warning.
- Disable ads on tag, category, and search pages, or
noindexthem. - Lower the anchor frequency in AdSense Auto ads settings so it does not stack with other formats.
After changes, wait 24 to 48 hours before re-checking Policy center — review and signal propagation are delayed, and the status often lifts automatically once a recrawl sees the lower density.
When it isn’t your fault
AdSense’s classifier is non-deterministic. The exact same layout can pass for months and then get flagged after a policy update, especially after a Better Ads Standards revision. This is uncommon but real. Watch the AdSense policy change log for announcements before assuming you broke something.
Easy misjudgments
- “More slots = more money.” Past a point, the density penalty plus UX bounce outweigh the per-slot revenue. The sweet spot is 2 to 4 well-placed slots on a 1,500-word article.
- “My CTR is high, so density is fine.” The Valuable inventory policy is independent of your CTR. High CTR with high density still gets flagged.
- “Anchor and vignette are ‘free’ because they’re separate from the page.” They count toward your density and toward the Better Ads thresholds. They also carry the highest UX cost per cent earned.
- “AdSense told me to enable everything in Auto ads.” The Auto ads recommendation engine optimizes for impression count, not policy safety or UX. Override its defaults.
Prevention
- Quarterly screenshot audit (mobile + desktop; top article; top, middle, and bottom of page). Compare to last quarter.
- Cap total ad slots per page in your component layer so a future template change cannot exceed it.
- For Auto ads, turn off formats you do not need rather than leaving them “auto-optimized.”
- Set per-article-length rules: if
wordCount < 600, no in-article ads. - When adding a new ad slot, remove one first — do not accumulate.
How to confirm it’s fixed
- Re-run the screenshot density check above; confirm every position is under the safe-target column.
- In Policy center, the affected URLs should move from a restricted status back to Ready within 24 to 48 hours of a recrawl.
- Fill rate on the previously cited pages recovers toward the rate on your unaffected pages.
FAQ
Q: Is there an exact number of ads AdSense allows per page? A: No. Google removed the three-ads-per-page cap in 2016. The rule now is the Valuable inventory balance: ads must not exceed content. The only hard numbers are the Better Ads density limits — 30% on mobile, 50% on desktop.
Q: What’s the sweet spot for an article site? A: 2 to 4 well-placed ads on a 1,500+ word article: one above the fold (but not the first thing on the page), one mid-article, optionally one at the end, plus a sidebar on desktop.
Q: Are sticky/anchor ads counted toward density? A: Yes. They are weighted heavily because they occupy the viewport persistently, and a sticky video ad lowers the desktop fail line from 50% to 30%.
Q: Can I have more ads on a 5,000-word longform piece? A: Yes — density is per-viewport, not per-page. A long article can host 5 to 6 ads as long as no single viewport exceeds the safe target and the first ~200 words are ad-free.
Q: Does AdSense ban accounts for density violations? A: Only after repeated, ignored warnings. The first restriction is a chance to fix. Unresolved violations escalate from URL-level to site-level to account-level disabling.
Q: What about category and tag pages?
A: These often hit “content less than ads” by accident. Either noindex them, disable ad serving on them via URL controls, or add real curated intro content so the balance works.
Related articles
- AdSense auto vs manual conflict
- Auto Ads appear in poor places
- AdSense policy warning
- Thin pages and AdSense review
- AdSense slow page
- ads.txt Not Found or Delayed
- Google Publisher Tag (GPT) Not Loading on Your Site
- ads.txt Redirect Breaks AdSense Verification
- AdSense RPM Dropped After Site Redesign
- CLS Spike From Runtime Ad Insertion