Tracking Signals · Privacy Tests

Do Not Track Test

Check whether Do Not Track and Global Privacy Control are enabled, and what each one really means.

Privacy signals
—
Do Not Track
—
Global Privacy Control

Signal details

These signals are requests, not enforcement. Your browser advertises them to every site; whether a site honours them is up to the site and, for GPC in some regions, the law. Nothing here is stored or sent by this page.

On this page
  1. What these signals are
  2. Do Not Track, and why it failed
  3. Global Privacy Control, its successor
  4. How the signal is actually sent
  5. How to turn them on
  6. What they really achieve

What these signals are

Your browser can broadcast a quiet request to every website you visit, asking them not to track you. There are two such signals: the older Do Not Track and the newer Global Privacy Control. This test reads both straight from your browser and shows whether each is switched on, along with a plain explanation of what they actually do.

Both work the same way in principle. When you enable one, your browser attaches an extra line to the requests it sends, and exposes a matching JavaScript property so a page can read your stated preference. A site is then expected to change its behaviour accordingly. Nothing about the mechanism forces that, which is the whole story of why one of these signals quietly failed and the other is slowly acquiring teeth.

A request, not a barrier

Neither signal blocks anything by itself. They are polite notices that depend on the receiving site, or the law, to mean anything. Understanding that difference is the key to not relying on them for more than they offer.

Do Not Track, and why it failed

Do Not Track launched with real optimism. The idea was simple: flip a setting, and your browser would tell every site you preferred not to be tracked. The flaw was equally simple. Honouring the request was entirely voluntary, with no standard for what compliance even meant and no consequence for ignoring it.

Predictably, the advertising industry did not adopt it. Firms argued that a single header could not distinguish a genuine preference from a browser default, and since some browsers shipped it switched on, that objection was not unreasonable. Over time major browsers and websites concluded the signal was meaningless. Chrome never honoured it, Safari removed the toggle in 2019, and Firefox still offers it but treats it as advisory.

If your DNT shows as on, that is fine, but do not mistake it for protection: the overwhelming majority of sites treat it as if it were not there.

Global Privacy Control, its successor

Global Privacy Control learned from that failure. Technically it works much like Do Not Track, a signal sent with your requests, but it was designed from the start to plug into privacy law rather than rely on goodwill. That single design choice is what separates the two.

In jurisdictions such as California, sending GPC can legally count as exercising your right to opt out of the sale or sharing of your personal information, and businesses covered by the law are required to respect it. The California Attorney General has indicated that a site ignoring a recognised opt-out signal can be treated as non-compliant, which gives the header a real consequence that DNT never carried.

That is a fundamental shift: for the first time the signal can create obligations, at least for companies within reach of those regulations. Where no such law applies, GPC reverts to a polite request and behaves no better than DNT. The Global Privacy Control test checks only that signal on its own.

How the signal is actually sent

Both signals travel as ordinary HTTP request headers, which means they appear on every request to every domain, not just the page you are reading. Do Not Track sends DNT: 1, and Global Privacy Control sends Sec-GPC: 1. Alongside the header, each is surfaced to JavaScript: navigator.doNotTrack returns a string, and navigator.globalPrivacyControl returns a boolean.

You can watch them leave. Open your browser’s developer tools, switch to the Network tab, reload the page and inspect any request’s headers; whichever signal is enabled will be sitting there. The HTTP headers test does the same job without the developer tools.

Support differs sharply. Firefox and Brave send GPC, Chromium browsers do not, and Safari implements neither beyond a legacy DNT default. Because the header is per-request, a proxy or extension that strips or adds headers can change what a server sees, so what this page reads from JavaScript is not always what the network carried.

How to turn them on

Both signals are usually off until you enable them. The exact path varies by browser, but the general routes are:

  • Do Not Track. Look in your browser’s privacy settings for a "Send a Do Not Track request" or similarly worded toggle. Firefox keeps it; Chromium browsers have largely retired it.
  • Global Privacy Control. Brave and Firefox can send GPC through their privacy settings. On other browsers a reputable privacy extension can add the header to outgoing requests.

After changing a setting, use the re-check button above to confirm the signal is now being sent. If it still reads as not set, the browser does not expose that property at all, and no amount of configuration will change it.

What they really achieve

Be realistic about the outcome. Do Not Track achieves almost nothing today. Global Privacy Control is genuinely useful where the law backs it, and harmless where it does not, so enabling GPC is a sensible, low-effort step. But neither signal stops a determined tracker, and neither touches fingerprinting at all.

Think of them as declarations rather than defences. They record your preference for anyone willing to listen, and they create legal exposure for the companies that must. They do not remove a cookie, block a script or change the pixels your browser paints.

Signals are the easy part

Real tracking resistance comes from the browser you choose and how it handles storage, requests and fingerprinting, not from a header. See the fingerprint test and the WebRTC leak test for the parts that actually move the needle.

Frequently Asked Questions

What is Do Not Track?
Do Not Track (DNT) is a setting that makes your browser send a header, DNT: 1, asking websites not to track you. It was introduced around 2011 with good intentions, but honouring it was always voluntary, with no agreed meaning for compliance and no penalty for ignoring it. Today it is widely considered ineffective, though the signal is still there if you switch it on.
What is Global Privacy Control?
Global Privacy Control (GPC) is the modern successor to DNT. It sends a similar signal, in a Sec-GPC header and through navigator.globalPrivacyControl, but crucially it is backed by law in some places, such as California, where it can count as a legal request to opt out of the sale or sharing of your personal data. That legal weight is what DNT never had.
If my Do Not Track is on, am I protected?
Not really. Because DNT is voluntary and almost universally ignored, turning it on changes little in practice. It does no harm and costs nothing, but you should not rely on it for anything. GPC is the more meaningful signal, and only where it is legally recognised. Neither one blocks a script, a cookie or a network request.
Does sending these signals make me more identifiable?
Slightly, in theory, since the setting is one more detail that varies between users and therefore can help distinguish you. In practice the privacy benefit of GPC in supported regions outweighs that tiny fingerprinting cost. If minimising every signal is your goal, the fingerprint test shows where the real gains are.
Why does my browser show "not set"?
Because these signals are off by default in most browsers, you have to enable them. "Not set" simply means you have not turned them on, or your browser does not implement that particular signal at all. Safari has removed its Do Not Track toggle entirely, and Chromium browsers never shipped GPC, so a blank reading can be the browser and not your settings.