Prompt
How do I ensure my header bidding setup with a publisher ad stack is compliant with viewability requirements?
Latest observation
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.