Page Ad Recommendations
Guidance for the non-BRNDTS ads you run on the same pages as BRNDTS placements. BRNDTS only controls its own units - the overall ad experience your users see depends on the full page. Following recognised industry practice protects user experience, viewability, and the overall yield of every ad on the page (including BRNDTS).
Why this matters
Heavy or aggressive ad layouts hurt the metrics that drive long-term revenue:
- Viewability drops when too many ads compete for the same screen real estate - and lower viewability lowers eCPM for every unit on the page.
- Page speed degrades when ad scripts and creatives compound; slow pages reduce session length and ad opportunities.
- User trust erodes. Sites that persistently fail Google's Ad Experience Report (the operationalised Better Ads Standards) have all ads filtered by Chrome's built-in ad filter - including BRNDTS placements - until the violations are fixed.
- BRNDTS placements share the same auction context. A cluttered page with low-quality demand pulls down floor prices and bid pressure for in-video placements too.
- Coalition for Better Ads Standards - desktop & mobile
- IAB Tech Lab - New Ad Portfolio & LEAN principles
- Chrome - Ad Experience Report
Density & viewport balance
The single biggest UX lever is how much of the screen ads occupy at any one moment. The Coalition for Better Ads sets the upper bound; we recommend staying well inside it.
Recommended limits
- Ad-to-content ratio: ads should not exceed 30% of any single viewport. This is the Better Ads ceiling - aim lower.
- Above-the-fold: at most 1 prominent display unit (e.g. leaderboard or billboard). Avoid stacking two large units before content begins.
- In-content density: separate in-feed or in-article units by at least 2-3 paragraphs or one full screen of content - never two ads adjacent.
- Total per page: as a rough guideline, no more than ~6-8 display ad slots on a long-form article page, fewer on shorter pages.
You don't need to redesign overnight. Raise it during onboarding - we can help model the trade-off between fewer slots and higher per-slot eCPM. In our experience trimming the lowest-performing slot usually raises total revenue.
Formats to avoid
The following formats are flagged as disruptive by the Coalition for Better Ads and trigger Chrome ad filtering when they appear above the threshold. Avoid them entirely:
Desktop
- Pop-up ads - any ad that appears in a window over the page content.
- Auto-playing video with sound - video ads must default to muted.
- Prestitial ads with countdown - full-page ads users must wait through before reaching content.
- Large sticky ads occupying more than 30% of the viewport height.
Mobile
- Pop-ups, prestitials, and postitials with countdown.
- Full-screen scrollover ads that cover content as the user scrolls.
- Flashing animated ads.
- Auto-playing video with sound.
- Ad density > 30% of any viewport.
Always avoid, regardless of platform
- Creatives that imitate system dialogs, OS notifications, or antivirus alerts.
- Fake close buttons that don't behave as expected.
- Ads that mimic the player's own controls (play, pause, close).
- Strobing or rapid-flash animation - accessibility risk.
Sticky, interstitial & refresh
Sticky / anchor units
- At most one sticky unit per viewport (e.g. footer anchor or sidebar rail, not both).
- Height capped so the unit occupies ≤30% of the viewport (Better Ads).
- Must be dismissible on mobile with a clearly visible close affordance.
- Don't pin sticky ads next to BRNDTS in-video placements - it visually doubles the ad density on the same screen.
Interstitials
- Only between content navigations (page-to-page), never mid-content.
- Frequency cap of at least 1 per session per user; ideally one every 30-60 minutes.
- No countdown gates - skip should be available immediately on mobile.
Slot refresh
- Refresh only when the slot is viewable (≥50% pixels in view for ≥1s, per IAB MRC viewability).
- Minimum interval of 30 seconds between refreshes.
- Pause on tab blur and when the document is hidden.
- Cap the number of refreshes per session - unbounded refresh inflates impressions but cuts eCPM aggressively.
Performance & page weight
Ad payload directly impacts Core Web Vitals (LCP, INP, CLS) - the same metrics Google uses for ranking. Heavy ads make the whole page slow, not just the ad slot.
Loading
- Lazy-load below-the-fold slots - request only when the slot is within ~200px of the viewport.
- Defer non-critical ad scripts until after first paint where possible.
- Avoid synchronous ad tags in the document head.
Layout stability
- Reserve fixed dimensions for every ad slot to prevent CLS (cumulative layout shift). Use
min-heightmatching the largest creative size that can render in the slot. - Don't allow ads to push content as they load.
Creative weight
- Encourage IAB LEAN-aligned creatives (Light, Encrypted, Ad-choice supported, Non-invasive).
- Block uncompressed video creatives in your demand stack where you have control.
Auction & consent hygiene
One Prebid wrapper per page
- Run a single Prebid.js instance across all your slots. Multiple wrappers cause duplicate auctions, latency, and fragmented bid pressure.
- If you must combine BRNDTS-managed Prebid with your own, raise it during onboarding - we can help merge configurations rather than running two side by side.
Timeouts
- Use a reasonable auction timeout (1000-1500ms typical). Longer timeouts marginally increase fill but heavily penalise page speed and viewability.
Consent
- Single TCF/GPP consent signal shared across every vendor on the page (BRNDTS, your wrapper, analytics, etc.). Two CMPs or two signals is a frequent cause of revenue loss.
- Don't fire non-BRNDTS ad requests before consent is resolved if BRNDTS is configured to wait - mismatched timing skews reporting and consent compliance.
- If a user denies consent, ensure your fallback is a no-tracking contextual ad path - not a hard block on monetisation.
Floor prices & demand quality
- Set price floors per format and geo - even soft floors. Removes the long tail of low-quality demand that drags down average CPM.
- Audit your SSP list quarterly - drop SSPs that consistently win at the floor with low-quality creatives.
Quick checklist
A short audit you can run on any page that hosts BRNDTS placements:
| Check | Target |
|---|---|
| Ad density per viewport | ≤ 30% |
| Display slots above the fold | ≤ 1 prominent unit |
| Total display slots on long-form pages | ≤ ~6-8 |
| Sticky units per viewport | ≤ 1, dismissible on mobile |
| Auto-playing video with sound | Never |
| Pop-ups / prestitials / interstitials mid-content | Never |
| Slot refresh - viewability gate | ≥ 50% px / 1s |
| Slot refresh - minimum interval | ≥ 30s, pause on blur |
| Below-fold slots lazy-loaded | Yes |
| Slots have reserved dimensions (no CLS) | Yes |
| Single Prebid wrapper | Yes |
| Auction timeout | 1000-1500 ms |
| Single TCF / GPP signal across vendors | Yes |
| Price floors configured | Yes |
| BRNDTS player rendered size (sizing) | ≥ 720×405, 16:9 |
Send us a representative URL and we'll do a one-off audit covering density, formats, and auction setup. We'll flag the highest-impact changes first - usually 1-2 wins lift overall page eCPM noticeably.