Back to Blog
Best Practices September 22, 2025 5 min read

Ad Refresh on Live Sports Pages: Rules, Triggers and Buyer Trust

Football season brings long live-score sessions, and with them the temptation to refresh ads aggressively. Here is how to refresh in a way buyers accept and Google's policies allow.

HR
HBDR Research
September 22, 2025

Football season changes session length

The NFL season kicked off on September 4, and college football is in full swing. For sports publishers, that means live blogs, score pages and game trackers where fans sit for an hour or more. A standard pageview model leaves money on the table in those sessions, because the ads loaded at the start of the game are still sitting there in the fourth quarter. Refreshing ads is the natural answer, and it can work well. It can also get your inventory discounted or flagged if you do it carelessly.

The rules come first

If you sell through Google Ad Manager, refresh is not just a technical setting. Google requires publishers to declare inventory that refreshes through Inventory rules, under Publisher declarations. The declaration tells buyers, through the real-time bidding protocol, that the inventory refreshes, what triggers the refresh and the minimum interval between refreshes.

Three details are easy to miss:

  • Declaring is not implementing. Marking inventory as refreshing in the UI does not make it refresh. Your page code does that. The declaration just has to be accurate.
  • Round the interval down. If your actual interval is not an option in the UI, you declare a shorter one than you use. Google's own example: if you refresh every 220 seconds, declare 180.
  • Wrong declarations are violations. Failing to declare refresh, or declaring the wrong trigger or interval, is a policy violation. Keep the declaration in sync with the code whenever you change refresh behavior.

Other SSPs and buyers have their own expectations. Many buyers want to know whether an impression is a refresh, and some price refreshed impressions differently. Transparency is cheaper than being found out. Verification vendors can detect refresh patterns, and a buyer who discovers undeclared refresh is likely to cut spend across all of your inventory, not just the refreshed slots.

How to refresh well

The difference between refresh that adds revenue and refresh that erodes trust comes down to a few conditions. A good refresh policy only reloads an ad when a person could actually see a new one.

  1. Refresh only viewable slots. Use the Intersection Observer API to confirm a slot is at least half in view before its timer counts. Refreshing an ad nobody can see creates unviewable impressions and hurts your viewability rates with every buyer.
  2. Pause when the tab is hidden. Check the Page Visibility API. Fans often leave a score page open in a background tab during a game. Those hours should not generate impressions.
  3. Require recent activity. Many publishers only refresh if the user has scrolled, clicked or otherwise interacted within a set period. It keeps refresh tied to real attention.
  4. Cap refreshes per slot. Set a maximum number of refreshes per slot per pageview. Returns diminish quickly as the same user sees the same slot again and again.
  5. Be conservative with sticky units. Anchors and sidebars that stay in view can refresh on a pure timer, but they are also the units buyers scrutinize most. Use longer intervals there.

Keep the auction honest on every refresh

Each refresh should run a fresh header bidding auction with the same timeouts and floors as the first load, followed by the ad server call. Two common mistakes:

  • Reusing stale bids. Serving a cached bid from the previous auction can mean serving an ad the buyer never intended for that impression.
  • Refreshing mid-render. If a slot is refreshed before the previous creative finished loading, you can generate impressions that never displayed. Wait for the render event before starting the timer.

Pass a key-value such as a refresh count to the ad server so you can report on first loads and refreshes separately, and so direct campaigns can exclude refreshed impressions if a buyer asks.

Finally, keep refresh separate from lazy loading. A slot that lazy loads when it approaches the viewport and later refreshes should count its first render as the start of its refresh timer, not the page load.

Sports-specific triggers

Live sports pages offer natural moments that make better triggers than a fixed timer. A score change, the end of a quarter, halftime or a new play-by-play update are moments when attention on the page spikes. Refreshing a nearby slot on those events, subject to the viewability and minimum-interval rules above, often produces better engagement than a clock. If you use event-based triggers, make sure your declaration reflects that trigger type.

Measure the right thing

Refresh almost always raises impression counts. That is not the goal. Measure revenue per session and revenue per thousand sessions, alongside viewability and CPM for refreshed and non-refreshed impressions. If CPMs on refreshed impressions fall sharply, buyers are telling you something. If session length drops, users are telling you something. Also watch for page performance: every refresh runs JavaScript, network requests and a new creative render, and on long live pages that load can add up and slow interactions on older phones.

The cleanest approach is an A/B test: split users into groups with different intervals or triggers and compare revenue per session, viewability and engagement over at least two full weeks, so both weekend and weeknight games are included.

The takeaway

Refresh is a legitimate way to monetize long live-sports sessions, as long as it is declared accurately, tied to real viewability and attention, and measured by revenue per session rather than impression volume. Sports publishers that get this right keep both the extra revenue and the buyers' trust. If you work with a managed partner such as HBDR, refresh logic and declarations are worth reviewing together before the heart of the season.

Tags: ad refresh sports publishers viewability google ad manager prebid

Ready to maximize your ad revenue?

Get Started