How Chromium Detects and Clears Bounce Tracking Domains
This article provides a complete overview of how the Chromium web browser combats redirect-based tracking through its Bounce Tracking Mitigation feature. By monitoring navigation paths, verifying user interactions, and analyzing stateful data storage, Chromium identifies intermediary domains that attempt to bypass third-party cookie restrictions. Once these invisible trackers are detected, the browser automatically purges their stored data on a scheduled timer to protect user privacy without disrupting legitimate services like single sign-on authentication.
Understanding the Bounce Tracking Threat
With the phase-out of third-party cookies, trackers frequently use "bounce tracking" as a workaround. When a user clicks a link to travel from Site A to Site B, they are momentarily redirected through an intermediary domain (Tracker C). Because the browser briefly visits Tracker C directly, Tracker C is temporarily treated as a first-party site. It quickly writes a tracking ID to the browser's storage and redirects the user to Site B within milliseconds.
To stop this, Chromium implements Bounce Tracking Mitigation—internally known as DIPS (Detect Incidental Party State)—which isolates and erases data from domains that act purely as invisible conduits.
Phase 1: How Chromium Detects Bounce Trackers
Chromium does not rely on predefined blocklists to catch bounce trackers. Instead, it uses behavioral heuristics during a user's browsing session. A domain is flagged for mitigation if it meets three specific criteria during a navigation chain:
1. Redirection Monitoring
Chromium tracks the entire lifecycle of a navigation event from the
initiating site to the final destination. It records any intermediate
domains that route the user onward via server-side redirects (such as
HTTP 301 or 302 status codes) or client-side redirects (such as
JavaScript window.location changes or meta-refresh tags)
without waiting for user input.
2. Stateful Storage Access
Not all redirects are malicious; URL shorteners and routing services redirect users harmlessly. Therefore, Chromium specifically looks for stateful bounces. During the brief moment the user is on the redirecting domain, Chromium monitors whether that domain writes to, or reads from, browser storage. This includes:
- HTTP Cookies
localStorageandsessionStorage- IndexedDB
- Service Worker caches
- WebSQL or FileSystem APIs
If the domain accesses storage during the redirect, it is categorized as a stateful bounce.
3. Absence of User Interaction
Legitimate services, such as OAuth login providers (e.g., "Sign in with Google") and payment gateways, also use stateful redirects. To avoid breaking these critical web functions, Chromium tracks meaningful user engagement.
Whenever a user intentionally interacts with a website—by clicking, tapping, or pressing a key—Chromium records a timestamp for that domain. If a domain performs a stateful bounce, Chromium checks its interaction database. If the user has interacted with the bouncing domain within the past 45 days, the domain is deemed legitimate and exempted from mitigation. If there is no record of recent interaction, the domain is flagged as a bounce tracker.
Phase 2: How Chromium Clears the Storage
Once a domain is flagged as a bounce tracker, Chromium does not delete its data instantaneously. Immediate deletion could break the ongoing navigation chain or allow the tracker to detect that it is being blocked. Instead, Chromium uses a delayed, batch-clearing mechanism.
The Grace Period and Timer
Chromium runs a background timer that fires periodically, typically once every hour. This creates a grace period after the bounce occurs. This delay ensures that any legitimate, short-term redirect processes can finish executing, while preventing the tracker from building a persistent, long-term profile of the user.
Complete Site Data Wipe
When the periodic timer triggers, Chromium reviews the list of domains that performed a stateful bounce and still lack user interaction. For every domain on this list, the browser executes a comprehensive storage wipe.
Chromium deletes all first-party data associated with the tracking domain, including cookies, local storage, cached files, and registered service workers. By completely resetting the domain's state, any unique identifiers written during the bounce are destroyed, rendering the tracking attempt useless the next time the user is bounced through that same domain.