AdSense Guide

Why Is My AdSense Revenue Dropping? 11 Real Causes and Fixes

Updated July 9, 2026 · 10 min read

AdSense revenue drops feel arbitrary but almost always have a specific, diagnosable cause. The fix depends entirely on which cause applies — a seasonal CPM floor requires a different response than a policy flag, and confusing one for the other wastes weeks of effort. This guide covers the 11 most common causes of AdSense revenue drops, how to identify which one you’re dealing with, and what to actually do about it.

Quick Diagnostic: What’s Your Revenue Pattern?

  • Dropped in January or after Q4: Seasonal CPM floor — normal, not fixable short-term
  • Revenue dropped but traffic is flat: RPM/CPM issue — see causes 1–4
  • Traffic dropped and revenue dropped together: Traffic source problem — see causes 5–7
  • Ads showing less frequently or disappearing: Policy flag or ad serving limit — see causes 8–10
  • Revenue erratic with no clear pattern: Invalid traffic or niche advertiser pullback — see causes 3, 11

Revenue/RPM Drops (Traffic Unchanged)

1. Seasonal Advertiser Pullback

The most common cause of revenue drops, and the one most often misdiagnosed as a site problem. Advertiser budgets follow the retail calendar: Q4 (October–December) drives CPMs to their annual peak as e-commerce brands compete aggressively for holiday shoppers. January and February see the sharpest CPM drops of the year — sometimes 30–50% below December — as those budgets expire and new budgets haven’t ramped. Summer (June–August) is typically moderate; back-to-school (August–September) spikes again.

How to confirm: Compare your RPM (revenue per thousand pageviews) for the same week year-over-year, not just month-over-month. If RPM dropped but traffic held steady and the timing aligns with January or post-Q4, you’re experiencing normal market seasonality.

What to do: Nothing — this resolves on its own as advertiser budgets reset. Invest Q1 in content that will rank by Q4. Don’t make structural changes to your site in response to seasonal RPM drops.

2. Niche or Category Advertiser Pullback

AdSense CPMs vary enormously by content category. Finance, legal, insurance, and B2B SaaS content earns $10–40+ RPM. Entertainment, gaming, and general content earns $1–5 RPM. If your content overlaps with a category where brands pulled back (due to brand safety concerns, regulatory pressure, or macro budget cuts), your CPMs fall even if your traffic and content haven’t changed.

How to confirm: In AdSense Reports, filter by “Ad unit” or look at the categories Google classifies your pages under (available in Ad Review Center). Cross-reference with industry news — major advertiser pullbacks often get covered in ad-tech media.

What to do: Diversify your content into higher-RPM topics where you can produce credible content. Consider direct advertiser relationships or sponsorships for niche topics where programmatic RPMs are structurally low.

3. Invalid Traffic Reducing Earnings or Triggering Ad Serving Limits

Google deducts earnings retroactively for clicks it determines are invalid (non-genuine). If invalid traffic is significant, you may see a sudden revenue adjustment appearing as a drop. More seriously, sustained invalid traffic signals trigger an “ad serving limit” — a restriction that reduces ad density across your entire site until the signal clears.

Warning signs: CTR above 5% on any page (normal display CTR is 0.5–2%), click spikes without matching traffic increases, clicks from geographic regions with no real audience for your content, an unfamiliar referral source driving traffic.

How to confirm: AdSense Policy Center (AdSense → Policy Center) will show an active ad serving limit if one exists. Check AdSense Reports → By Country for geographic anomalies, and Reports → Ad units for CTR by page.

What to do: Identify and block the invalid traffic source — typically via Cloudflare rules or your hosting firewall. Submit an invalid activity report to Google via the AdSense Help Center to document that you’ve addressed it. Ad serving limits typically lift 30–90 days after the invalid traffic stops.

4. Competitor Bidding Changes in Your Niche

AdSense runs a real-time auction for every ad impression. If major advertisers in your niche reduce their bids, or a competing publisher loses their AdSense account (concentrating remaining advertiser budget), your effective CPCs shift without any action on your part. This is a genuine market condition, not a Google algorithm change affecting your site.

What to do: This is largely outside your control. Focus on content quality and traffic growth to increase total impressions, which offsets CPM compression.

Traffic-Related Drops

5. Google Algorithm Update Reducing Organic Traffic

If your AdSense revenue dropped alongside a traffic decline and the timing aligns with a known Google core update (Google announces these publicly), your rankings shifted. A 30% traffic drop produces roughly a 30% revenue drop — the math is direct.

How to confirm: Check Google Search Console for impression and click trends. Cross-reference timing with Google’s algorithm update history (Google publishes confirmed updates on the Google Search Status Dashboard).

What to do: This is a content quality problem, not an AdSense configuration problem. Identify which pages lost rankings, audit them against the pages that outranked you, and produce stronger, more authoritative content. Quick fixes rarely work after core updates; sustained quality improvement over 3–6 months is the path.

6. Traffic Quality Shift (More Low-Intent or Non-English Traffic)

AdSense RPM for US/UK/AU/CA traffic is 3–10x higher than traffic from developing markets. If your traffic mix shifted — you went viral on social media outside high-RPM markets, gained backlinks from low-RPM geographies, or your content started ranking for different queries with lower commercial intent — your overall RPM drops even if raw pageviews increase.

How to confirm: AdSense Reports → By Country. Compare the geographic revenue split versus prior periods. If a non-English-speaking country suddenly accounts for 30% of traffic but 5% of revenue, you’ve identified the issue.

What to do: If the traffic is genuinely low-value, don’t chase it — focus on content that attracts high-RPM US/UK/AU audiences. If you want to serve this traffic, consider a separate monetization approach (e-commerce, affiliate, local ad networks) rather than relying on AdSense CPMs.

7. Referral or Social Traffic Replacing Search Traffic

Organic search traffic typically converts better for advertisers than social or direct traffic. Users arriving from a Google search query (commercial intent) are more likely to engage with relevant ads than users scrolling through content they were pushed by an algorithm. If your traffic source mix shifted from 80% organic to 50% social, your RPM will decline even with the same total sessions.

What to do: Track RPM by traffic source in AdSense (compare it to Google Analytics acquisition channels). Prioritize content and SEO investments that grow search traffic, which tends to monetize best for AdSense.

Policy and Ad Serving Issues

8. Active Policy Violation Reducing Ad Density

Google can reduce ad serving on specific pages or sitewide when content violates AdSense policies — without disabling your account. Common triggers: adult-adjacent content that slipped through (even via user comments), pages that mixed alcohol advertising with non-compliant content, or copyrighted material issues. Revenue drops on affected pages while the rest of the site runs normally.

How to confirm: AdSense Policy Center (Policy Center → Sites) shows page-level policy flags. Check for any warnings you may have missed in AdSense notifications.

What to do: Fix the flagged content, then request re-review in the Policy Center. Don’t ignore flags — unresolved policy violations escalate from reduced serving to account suspension.

9. Broken or Missing ads.txt

Your ads.txt file at yourdomain.com/ads.txt authorizes programmatic buyers to purchase your inventory. If this file is missing, returns a 404, contains a syntax error, or doesn’t include Google’s publisher entry (google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0), programmatic demand partners will skip your inventory — dramatically reducing fill rate and RPM.

How to confirm: Visit yourdomain.com/ads.txt directly. If it returns a 404, redirects to a page other than a text file, or your pub-ID doesn’t match the one in your AdSense account, you’ve found the issue.

What to do: Fix or create ads.txt. The correct Google entry is on a single line: google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0 (replace with your actual pub-ID). After fixing, Google typically restores full programmatic demand within 1–2 weeks.

10. Ad Unit Configuration Changes Reducing Fill

If you or a developer recently changed your ad unit placements, reduced the number of ad slots, switched from auto ads to manual units (or vice versa), or changed ad sizes, your fill rate and RPM will shift. Large rectangle (336×280) and leaderboard (728×90) units typically outperform smaller sizes for RPM. Responsive auto ads on high-traffic pages can underperform fixed-size units on mobile because the algorithm learns placement over weeks.

What to do: Review your AdSense Experiments data (if you ran experiments) or compare ad unit performance before and after any configuration change. If you have high-traffic pages, A/B test placement positions and unit sizes before committing sitewide.

11. Core Web Vitals or Page Speed Causing Auction Drop-Off

Slow-loading pages cause programmatic ad auctions to time out before completing. When an auction times out, Google fills with lower-paying house ads or leaves the slot blank. If your site speed degraded after a plugin update, image optimization change, or hosting issue, ad fill rates and CPMs can drop even with identical traffic.

How to confirm: Check your Core Web Vitals in Google Search Console (Experience → Core Web Vitals). Run the affected pages through PageSpeed Insights. Compare your current LCP and FID/INP scores to the period before the revenue drop.

What to do: Fix the speed regression. Common causes: unoptimized images added without compression, a newly installed plugin loading JavaScript on all pages, switching from a CDN to origin serving. Even a 500ms improvement in LCP correlates with measurable RPM improvements on high-traffic sites.

Your Diagnostic Workflow

Start with these three checks in order:

  1. Check AdSense Policy Center for active policy flags or ad serving limits. If any are present, fix them first — everything else is secondary until your account is clean.
  2. Check ads.txt at your domain root. Confirm it’s accessible, contains your correct pub-ID, and has no syntax errors. A broken ads.txt suppresses programmatic demand instantly.
  3. Compare RPM vs. pageviews separately in AdSense Reports. If pageviews dropped, you have a traffic problem (search, social, or algorithm). If pageviews held and RPM dropped, you have a monetization problem (seasonality, invalid traffic, policy, or ad config).

Once you’ve isolated which category applies, the cause-specific fixes above give you the exact path forward.

Want a site-by-site AdSense readiness check?

Cheksite audits your site against Google’s AdSense approval criteria — including policy signals, ads.txt validity, content quality flags, and technical readiness. Takes 30 seconds.

Audit My Site Free →

Frequently Asked Questions

Why did my AdSense RPM drop suddenly?

Sudden RPM drops usually have one of three causes: seasonal advertiser pullback (January is historically the lowest-RPM month portfolio-wide), an ad serving limit from invalid traffic signals (check Policy Center), or a shift in traffic source mix that lowered average commercial intent. Check AdSense Reports → By Country and By Platform to isolate the cause.

What is an ad serving limit and how long does it last?

An ad serving limit is a restriction Google places when its systems detect invalid traffic signals. It reduces ad density sitewide to protect advertisers. Limits typically last 30–90 days and lift automatically once the invalid traffic stops. You cannot appeal it directly, but fixing the traffic source and reporting it via the invalid activity form helps.

Can AdSense revenue drop without any change to my traffic?

Yes. RPM is set by advertiser demand, not your site. Post-Q4 budget resets routinely drop RPM 30–50% even for sites with identical traffic. Track RPM and pageviews as separate metrics to distinguish market drops from site-specific problems.

Why is AdSense showing fewer ads on my site?

Fewer ads most commonly indicate an active policy flag or ad serving limit (check Policy Center), a broken or missing ads.txt, or pages that are still being evaluated after recent content changes. A missing ads.txt alone can suppress programmatic demand by 40–60%.

How do I know if invalid clicks are affecting my AdSense revenue?

Warning signs: CTR above 5% on any page, click spikes without traffic spikes, clicks from unexpected geographies, or an ad serving limit notice in Policy Center. Filter AdSense Reports by Country and Date to identify anomalous patterns. Block suspicious traffic sources at your firewall and report via Google’s invalid activity form.