Logo

What are you looking for?

Stop losing ad revenue...

Diagnosing Drops in Impressions and Earnings with Stable Website Traffic

Build a Thriving Media Business

Diagnosing Drops in Impressions and Earnings with Stable Website Traffic

Troubleshoot why impressions and earnings may fall even when your website traffic remains constant. Covers symptoms, causes (technical, market, and quality factors), actionable solutions, and prevention.

Last updated on 19 Jun, 2026

If your website traffic is stable but Sulvo impressions or earnings suddenly drop, the issue is usually not traffic volume. It is usually one of these areas:

  • Sulvo tags are missing, duplicated, modified, or no longer loading on key templates.

  • Ad placements are hidden, moved below the fold, collapsed, or removed.

  • A WordPress plugin, theme update, cache layer, or tag manager changed how ad code is inserted.

  • Consent, ad blockers, browser behavior, or invalid traffic filtering reduced eligible impressions.

  • Fill rate, CPM, or advertiser demand changed even though pageviews stayed stable.

Use this guide to narrow down the cause before making broad changes.

Common Symptoms

  • Website visits or pageviews remain steady in analytics.

  • Sulvo impressions, Programmatic Impressions Served (PIS), or earnings drop in the Sulvo dashboard.

  • Ads are missing from some pages, templates, or devices.

  • Ad containers appear empty or collapsed.

  • Earnings drop after a WordPress update, theme change, plugin change, cache change, or layout change.

  • No obvious error appears in your analytics tool.

Step 1: Confirm the Drop Is Not a Reporting Delay

Before changing your site, compare the same time window across your analytics and Sulvo dashboard.

Check:

  1. The affected date and time.

  2. Whether the drop is sitewide or limited to one domain, template, device, country, or ad unit.

  3. Whether impressions dropped, CPM dropped, fill dropped, or all of them dropped.

  4. Whether pageviews are stable on the same pages where ads normally run.

If the drop is limited to one template, such as article pages, recipe pages, galleries, or video pages, start by checking that template's Sulvo tags and ad containers.

Step 2: Check the Sulvo Head Tag

The Sulvo head tag must be present on every page where Sulvo should run.

In Chrome:

  1. Open an affected page in an incognito window.

  2. Right-click the page and choose Inspect.

  3. In the Elements panel, search for live.demand.supply/up.js.

  4. Confirm the tag appears inside the <head> section.

The Sulvo head tag should include both parts:

HTML&lt;link rel="preload" as="script" href="https://live.demand.supply/up.js"&gt;
&lt;script async data-cfasync="false" type="text/javascript" src="https://live.demand.supply/up.js"&gt;&lt;/script&gt;

Common problems:

  • The head tag is missing from article pages but present on the homepage.

  • The head tag is placed in the body instead of the head.

  • Only one part of the tag is present.

  • The tag is duplicated.

  • A plugin, tag manager, or optimization tool changed the tag.

If the page does not include the Sulvo head tag, Sulvo cannot run or measure tagless units on that page, including interstitials, anchors/stickies, and site entry units.

Step 3: Check Sulvo Body Placement Tags

Body placement tags control where visible ad units appear on the page.

In Chrome Inspect, search for demand-supply and confirm:

  • The body tag is present on the affected template.

  • The body tag is inside <body>, where the ad should appear.

  • The placement still includes required attributes such as class="demand-supply", data-ad, and data-devices.

  • The ad container is not hidden, collapsed, or pushed far below the main content.

If the body placement tag was changed, restore the exact tag from Sulvo.

Step 4: Check WordPress Plugin or Theme Changes

If your site runs on WordPress, drops can happen after a plugin update, theme update, cache change, or code-injection rule change.

For WordPress ad placement management, Sulvo recommends Ad Inserter when a plugin is needed. Generic "Head and Footer" or header/footer code plugins are usually designed for simple snippets, pixels, and verification tags. They are not recommended for managing Sulvo body placement tags because they can make it harder to control and verify where ad units render.

Check:

  1. Whether a WordPress update, theme update, or plugin update happened shortly before the drop.

  2. Whether Sulvo tags are being injected by more than one plugin.

  3. Whether a generic header/footer plugin is loading the Sulvo head tag too late or in the wrong section.

  4. Whether body placement tags were removed from templates, widgets, shortcodes, or Ad Inserter blocks.

  5. Whether a cache or optimization plugin is delaying, combining, minifying, or stripping scripts.

After any WordPress or plugin change, clear all cache layers and retest in an incognito window.

Step 5: Check Cache, CDN, and Optimization Tools

Caching and optimization tools can keep old code live after you update tags.

Clear:

  • WordPress page cache.

  • CDN cache.

  • Server cache.

  • Browser cache.

  • Any minify, defer, delay, or JavaScript optimization cache.

Then reload the affected page and inspect the rendered DOM again.

If you use script optimization, do not defer, delay, rewrite, or remove the Sulvo head tag.

Step 6: Review Consent, Ad Blockers, and Browser Behavior

Stable traffic does not always mean stable eligible ad impressions.

Check whether the drop correlates with:

  • A CMP or consent banner change.

  • More visitors denying consent.

  • A new privacy, browser, or ad-blocking change.

  • A change in how ads load for EU, UK, or other regulated traffic.

  • A mobile-only issue.

Test the affected pages in normal and incognito browser windows. If the issue appears only for certain regions or consent states, contact Sulvo support with the affected country, page URL, device, and approximate time of the drop.

Step 7: Review Traffic Quality

If the same number of visits produces fewer eligible ad impressions, traffic quality may have changed.

Check:

  • Botscore trends.

  • Traffic source changes.

  • Unusual referral spikes.

  • Very short session duration.

  • High bounce rate changes.

  • Suspicious countries, regions, or devices.

Buyers and DSPs may bid less or filter more aggressively when traffic quality changes, even if total pageviews look stable.

Step 8: Compare Fill, CPM, and Viewability

If tags are present and ads are still requesting normally, the issue may be demand-side or placement-related.

Compare before and after the drop:

  • Fill rate.

  • CPM.

  • Viewability.

  • Impressions per pageview.

  • Impressions per session.

  • Revenue by device, country, template, and ad unit.

A drop in CPM with stable impressions may point to market demand, seasonality, traffic mix, or buyer filtering. A drop in impressions with stable pageviews usually points first to tag loading, placement, consent, ad blocking, or eligibility.

When to Contact Sulvo Support

Contact Sulvo support if:

  • The Sulvo head tag is present in <head> and body tags are present, but ads still do not render.

  • The drop affects multiple domains or all templates.

  • The drop started suddenly and does not match a site change.

  • You see empty ad containers across affected pages.

  • You need help comparing fill, CPM, viewability, and traffic quality.

Include:

  • Affected domain.

  • Example page URL.

  • Date and approximate time the drop started.

  • Whether traffic is stable in analytics.

  • Recent WordPress, theme, plugin, cache, or CDN changes.

  • Screenshots or notes from Chrome Inspect if available.

Prevention

  • Keep the Sulvo head tag inside <head> and as high as possible.

  • Keep body placement tags exactly as supplied.

  • Use Ad Inserter for WordPress ad placement management when a plugin is needed.

  • Avoid loading Sulvo tags through unsupported wrappers or duplicate plugins.

  • Clear cache after tag, theme, or plugin changes.

  • Check affected pages after WordPress, theme, cache, or optimization updates.

  • Monitor botscore, fill rate, CPM, viewability, impressions per pageview, and impressions per session.

  • Retest desktop and mobile templates after layout changes.

Did you find this article helpful?
Previous

Invalid Traffic / Minimum Content Quality

Next