Find the Ads Slowing Your Site with Chrome DevTools
The ad has finished downloading, but scrolling still stutters. What is keeping the browser busy?

- Application → Ads shows resource use attributed to ads and scripts classified as advertising.
- Ad provenance explains whether a script was identified through a filter rule or an ancestor script chain.
- Continue in Performance for CPU work and Network for slow requests.
Use Application → Ads to narrow the investigation
If a page becomes slow after ads are added, start in Chrome DevTools at Application → Ads. The view separates CPU and network use by ad elements and lists ad scripts in the main frame.
The October DevTools roundup describes four experimental measurements: viewport ad count, viewport ad density, total ad CPU use and total ad network use. Together they distinguish how much advertising occupies the screen from how much resource consumption is attributed to it.
Open DevTools on the affected page and enable Highlight Ads in the Ads view. Red highlights identify the frames Chrome has classified as ads, helping connect the readings to visible placements.
Find why Chrome considers a script ad-related
The November roundup, published October 20, adds an Ad provenance column as part of the Chrome 155 and 156 updates. It distinguishes filter-list matches from classification inherited through an ancestor script chain.
That is useful when a script's URL does not explain which ad integration introduced it. Follow the classification evidence to identify the chain worth investigating, then measure its cost.
Classification persists for an ad-tagged iframe even after it navigates elsewhere, and requests initiated inside it inherit that classification. An ad label therefore explains attribution; it does not establish that a particular script is the bottleneck.
Inspect CPU activity and request timing separately
For CPU-heavy behavior, record the troublesome interaction in Performance and select the relevant interval. The Bottom-up view aggregates activities within that selection so you can find where execution time went.
Self Time measures time directly spent in an activity; Total Time includes its children. Inspect the associated source and use Call tree to understand what triggered the work. A script's transfer size alone cannot tell you how costly it is to execute.
For slow loading, right-click a Network column heading and enable Is ad-related. Then examine Time or the waterfall and follow Initiator to the resource that started a request. Google's Ad Manager troubleshooting guide separates slow ad-server calls from delays in subsequent creative assets, including images and third-party scripts.
This gives you two concrete leads: the operation consuming CPU time and the request delaying a resource. They may require different fixes.
Keep reproduction conditions consistent
Temporarily disable interfering ad-blocker extensions for the diagnostic session and reproduce the same refresh or scrolling sequence. Record whether the browser cache was enabled so a changed cache condition does not masquerade as an improvement.
The local Ads readings also differ from aggregate field measurements. The CrUX ad metrics guide reports 75th-percentile values and does not assign the good/poor thresholds used for Core Web Vitals.
After a change, repeat the same behavior and compare the relevant execution and request timings. If an ad provider needs to investigate, pass along the page URL, timestamp, reproduction steps and implicated requests. That makes the report actionable beyond saying that the page feels slow.