Heavy Ad Checker
Chrome unloads heavy ads. See where your tag stands before it ships: we render it in a real headless Chrome and measure network bytes and CPU against the exact Heavy Ad Intervention thresholds — free, no signup.
Test a Tag for Heavy Ad Risk →What triggers Chrome's Heavy Ad Intervention
Chrome unloads an ad that a user hasn't interacted with when it crosses any one of three thresholds:
| Resource | Threshold | How it's counted |
|---|---|---|
| Network transfer | 4 MiB | Total bytes loaded over the network |
| CPU, rolling window | 15 seconds | CPU time in any 30-second rolling window |
| CPU, total | 60 seconds | Total CPU time over the ad's lifetime |
Crossing a single threshold is enough — Chrome unloads the ad. Every rule cites its primary source in the validation policy.
How the check works
Paste your ad tag
Drop the tag into the tag tester. No account, no signup.
Rendered in a real headless Chrome
The tag executes in real Chrome while network bytes and CPU are measured against the thresholds, including a rolling-window monitor for the 15s/30s CPU rule.
One of four honest results
The report says not_observed, warning, exceeded, or unavailable — and nothing else.
The four results
not_observed
No threshold was crossed or approached during the scan's observation window.
warning
The ad is approaching a threshold — close enough to worry about on a real page.
exceeded
At least one threshold was crossed. On a real page, Chrome unloads this ad.
unavailable
Metrics collection was incomplete, so no verdict is claimed. We say so, not guess.
Why this tool never says "safe"
You'll notice "safe" isn't on that list — deliberately. A single scan-length observation cannot prove an ad won't trip the intervention later in its life on a real page: an ad that idles politely through one scan can still cross a CPU threshold minutes into a real session. So the strongest verdict here is not_observed — nothing crossed a threshold while we watched. Tools that stamp a creative "safe" after one short render are overpromising.
User interaction changes the rules
The thresholds above apply to ads the user hasn't interacted with. After a user interacts with an ad, Chrome's unload rules relax — so the report distinguishes pre-interaction findings, the state Chrome actually polices.
Frequently asked questions
What triggers Chrome's Heavy Ad Intervention?
Chrome unloads an ad the user hasn't interacted with when it crosses any of three thresholds: 4 MiB of network transfer, 15 seconds of CPU in any 30-second rolling window, or 60 seconds of total CPU.
Why doesn't the tool ever say "safe"?
A single scan-length observation cannot prove an ad won't trip the intervention later in its life on a real page. The strongest verdict here is not_observed. Tools that stamp ads "safe" are overpromising.
What does "unavailable" mean?
Metrics collection was incomplete during that scan, so the tool says so instead of guessing a verdict from missing data.