Collection Lab
Watch collection happen in this browser.
Three panels, three sources. The browser column is local. The network column is Resource Timing. The back-end column is the beacon this page posts to its own API, plus the fields the server adds. Personalization uses the same consent switch: when it is off, the site falls back to the default page and the beacon is suppressed. Local storage personalization lists the keys behind that memory.
Measurement consent
Off. Events are still built in this browser so you can see them, then dropped. The server stores nothing, and the rest of the site stays on the default experience.
Scroll this page to cross 25%, 50%, 75%, and 100%. Each threshold becomes its own event.
Source · this browser
Browser
Read from navigator, screen, document, and the Performance API. This whole panel stays on the device. A beacon carries the smaller profile, not this list.
Reading this browser…
Source · Resource Timing
Network
Each row is a request this document made. The list is not uploaded. Posts to /api/collect show up here as first-party fetches after they finish.
Waiting for resource entries…
Source · POST /api/collect
Back end
The raw body leaves the browser. The route adds receipt time, parsed user agent, and edge headers, then stores the record in the database. The stream and a two-second poll both read new rows, so a stored event still shows up when the request lands on another serverless instance. Consent off means nothing is stored.
Stream: connecting · 0 stored
Waiting for the page-view beacon. If consent is off, the suppressed payload appears here and nothing is stored.