Prompt
How do I set up a viewability measurement software workflow for measuring ad viewability on publisher inventory?
Latest observation
Here’s a practical workflow for setting up viewability measurement software for publisher inventory.
1) Define what you need to measure
Start by deciding the measurement scope:
- Inventory type: display, video, native, rich media
- Placement level: page, ad slot, position, creative
- Metric standard:
- Display: usually 50% of pixels in view for at least 1 second
- Video: usually 50% in view for at least 2 seconds
- Environment: desktop web, mobile web, in-app, AMP, connected TV if relevant
- Reporting goals: campaign reporting, inventory quality, optimization, billing verification
2) Choose a measurement approach
You generally have three options:
A. Vendor tag / JavaScript measurement
Most common for publishers.
A JavaScript tag is added to the site or ad stack and records whether ads were in view.
Best for:
- web inventory
- broad compatibility
- easy setup
B. Ad server / SSP integration
Measurement data is pulled from ad server or platform logs and combined with viewability signals.
Best for:
- large publishers
- programmatic setups
- workflow automation
C. Client-side SDK for app inventory
For mobile apps, use an SDK rather than a standard web tag.
Best for:
- in-app ads
- video apps
- native app environments
3) Select software and ensure compatibility
Pick a tool that supports your inventory and partners. Look for:
- MRC accreditation or equivalent industry credibility
- Support for desktop, mobile web, in-app
- Ability to measure across prebid, GAM, SSPs, direct-sold
- Support for ad density, time-in-view, audibility, fraud signals if needed
- Export/API access for reporting
- Compliance with privacy regulations like GDPR/CCPA
4) Implement the measurement tag or SDK
Typical implementation steps:
For web:
- Add the vendor’s JavaScript tag to your page or tag manager
- Configure it to identify ad slots
- Ensure it fires after page load and on dynamic ad refreshes
- Verify it works with lazy loading, infinite scroll, and responsive layouts
For app:
- Install the vendor SDK
- Map ad units and creative placements
- Confirm visibility tracking works in native views and video players
Important technical checks:
- Ad container must be measurable in the DOM
- Iframes may need special handling
- Lazy-loaded ads need viewability listeners
- Avoid duplicate firing when ads refresh
- Make sure SPA navigation is handled if the site is single-page app
5) Define the ad slot taxonomy
Create a consistent naming and classification system:
- Page type
- Section
- Ad unit ID
- Placement position
- Device type
- Size
- Seller/partner
- Direct vs programmatic
This lets you break down viewability by:
- placement
- device
- browser
- geo
- source of demand
6) Validate the measurement
Before going live:
- Test in multiple browsers and devices
- Confirm the tag sees all intended placements
- Check refresh behavior
- Compare impressions counted by ad server vs viewability tool
- Validate scroll, sticky units, and lazy load behavior
- Verify video viewability and autoplay policies
Use QA tools or browser dev tools to inspect:
- tag loading
- event firing
- console errors
- network requests
7) Set reporting and dashboards
Build dashboards with the key metrics:
- Measurable impressions
- Viewable impressions
- Viewability rate
- Average time in view
- Not measurable rate
- Invalid/fraudulent traffic indicators
- Breakdown by:
- ad unit
- device
- browser
- geo
- demand source
- size/format
- content category
8) Use the data for optimization
Once data is flowing, use it to improve inventory quality:
- Move placements higher on page
- Adjust sticky or anchor ad behavior
- Improve lazy load thresholds
- Remove low-viewability placements
- Optimize ad density and page layout
- Segment inventory into premium vs standard tiers
- Share viewability benchmarks with buyers
9) Align measurement with sales and operations
Make sure sales, ad ops, and engineering use the same definitions and reporting logic:
- What counts as viewable?
- How are refreshes counted?
- How are video quartiles handled?
- What’s the reporting source of truth?
- Which placements are eligible for viewability guarantees?
This prevents disputes and reporting mismatches.
10) Maintain ongoing quality control
Viewability measurement is not “set and forget.” Keep monitoring:
- new site templates
- new ad placements
- browser changes
- consent mode changes
- tag failures
- ad blockers and script blocking
- layout shifts and CLS issues
Run periodic audits and re-test after site updates.
A simple end-to-end workflow
- Choose measurement vendor/software
- Implement tag or SDK
- Map inventory and ad slots
- QA across devices and browsers
- Launch tracking
- Collect and normalize data
- Build dashboards and reporting
- Optimize placements and monetization
- Monitor and maintain continuously
Recommended architecture
For a typical publisher web setup:
- Website/page
- Ad server
- Viewability vendor tag
- Analytics/data warehouse
- Dashboarding tool
- Optional: header bidding / SSP logs for enrichment
Common pitfalls to avoid
- Measuring before consent logic is in place
- Missing dynamic or lazy-loaded ads
- Miscounting refresh impressions
- Ignoring mobile web or app inventory
- Inconsistent placement naming
- Not separating viewability by format and device
If you want, I can also provide:
- a technical implementation checklist,
- a vendor comparison template, or
- a sample workflow for Google Ad Manager + Prebid + viewability vendor.
Brands
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.