Prompt

How do I ensure my header bidding setup with a publisher ad stack is compliant with viewability requirements?

Advertising · DSP & SSP / Dsp ssp1 observationLast seen Jul 27, 2026

Latest observation

Jul 27, 2026 · OpenAI APIWeb search: off

To keep a header bidding setup compliant with viewability requirements, focus on measuring viewability correctly, preventing false signals, and enforcing the publisher’s policies consistently across the stack.

1) Define the viewability standard you’re using

Make sure everyone is aligned on the measurement standard, usually:

  • Display ads: at least 50% of pixels in view for 1 continuous second
  • Video ads: often 50% in view for 2 continuous seconds
    (varies by SSP, buyer, and policy)

Confirm whether your publisher ad stack, SSPs, and DSPs are using MRC/IAB standards or a stricter custom policy.

2) Measure viewability with a trusted verification vendor

Use a measurement solution that can observe the rendered ad in the browser, such as:

  • Moat
  • IAS
  • DoubleVerify
  • or the publisher’s approved measurement provider

Key point: Header bidding itself does not determine viewability. It only affects which demand wins. Viewability is measured after render.

3) Make sure ads can actually be viewable

Common causes of non-compliance:

  • Ad slots placed below the fold with low exposure
  • Sticky units that are too large or intrusive
  • Heavy layouts that delay rendering
  • Lazy-loading that fires too late or too aggressively
  • Refreshing inventory before the viewability threshold is met

Best practices:

  • Place important demand on above-the-fold or high-engagement placements
  • Use lazy loading carefully with thresholds that don’t hurt legitimate measurement
  • Avoid rendering ads inside hidden tabs, collapsed containers, or zero-height elements

4) Control when bidding and rendering happen

In a publisher ad stack, ensure:

  • The ad slot is visible or near-visible when bids are requested
  • Auction timeout is not so long that rendering is delayed
  • Render only after the winning bid is selected and the slot is confirmed valid
  • No creative is displayed in a way that defeats measurement scripts

If you use Prebid or similar:

  • Confirm the ad unit’s rendering path supports verification tags
  • Don’t block third-party measurement scripts via CSP, sandboxing, or iframe restrictions

5) Preserve measurement in iframes and lazy-loaded units

If ads render in iframes:

  • Use a safe, supported iframe setup so viewability vendors can observe the ad
  • Avoid cross-origin restrictions that break verification unless your vendor supports it
  • Ensure the iframe isn’t hidden, clipped, or covered by page elements

For lazy loading:

  • Trigger load early enough so the ad can render and become viewable
  • Test whether the ad is actually measurable at the moment it enters the viewport

6) Prevent fraudulent or invalid viewability signals

Use safeguards against:

  • 1x1 pixels or collapsed containers being auctioned as standard inventory
  • Ads obscured by overlays, popups, or cookie banners
  • Auto-refresh that creates artificial impression volume
  • Misdeclared sizes or placements

Also validate:

  • Ad unit dimensions
  • Slot visibility before auction
  • Fraud/IVT filtering from your verification and SSP partners

7) Align with partner and policy requirements

Different buyers and SSPs may require:

  • Minimum viewability scores
  • Minimum measurable inventory percentages
  • Specific creative formats
  • Domain/app allowlists
  • Brand safety or IVT thresholds

Check:

  • SSP contract terms
  • DSP requirements
  • Publisher policy documentation
  • Ad server and header bidding wrapper settings

8) Test end-to-end

Before going live, test:

  • Viewability in Chrome, Safari, Firefox, mobile browsers
  • Desktop and mobile layouts
  • Above-the-fold and lazy-loaded placements
  • Consent flows and whether they block measurement
  • Page speed, CLS, and render timing

Use:

  • QA tools from your verification vendor
  • Browser dev tools
  • Sample pages with logging enabled
  • Programmatic line-item diagnostics if applicable

9) Monitor continuously

Track:

  • Measurable viewability rate
  • Render rate
  • Impression-to-viewable ratio
  • Time to render
  • Slot-level performance
  • IVT/fraud alerts

Set alerts for:

  • Sudden drops in viewability
  • Changes after layout or header bidding wrapper updates
  • Specific ad units underperforming

10) Document compliance

Keep records of:

  • Measurement methodology
  • Consent and privacy handling
  • Slot configurations
  • Lazy-load thresholds
  • Refresh rules
  • Partner certifications or approvals

This helps if a buyer challenges quality metrics later.


Practical checklist

  • Use MRC/IAB-aligned measurement
  • Ensure ad slots are genuinely renderable and visible
  • Allow verification scripts to run
  • Don’t auction hidden/collapsed inventory
  • Tune lazy loading and refresh rules
  • Test across devices and browsers
  • Monitor viewability and IVT continuously

If you want, I can also give you a Prebid-specific viewability compliance checklist or a publisher ad stack architecture example.

Observation history

Unlock observation history

Create a free Obsurfable account to unlock historical responses, model comparisons, and deeper brand intelligence.

How did Obsurfable measure this prompt?

Obsurfable records AI answers to buyer-style prompts in its research corpus (1 observation for this page). Metrics are distributions over observations, not a single static ranking.

Which AI systems does Obsurfable collect answers from?

OpenAI, ChatGPT, Google, Gemini, Google AI Mode, Anthropic, Claude, Perplexity, Grok, DeepSeek, Mistral, Copilot, and Meta AI.