CoolFace
Datasetpublic

olafuraron/tracker-radar-ml

Tracker Radar ML Dataset An ML-ready tabular dataset of 16,165 third-party web domains labeled as tracking or non-tracking, with 295 behavioral and metadata features extracted from DuckDuckGo's open-source Tracker Radar. Dataset Description Each row represents a third-party domain observed on popular websites during DuckDuckGo's Tracker Radar crawl (US region). Features capture how the domain behaves: which browser APIs its scripts call, whether it sets cookies… See the full description on the dataset page: https://huggingface.co/datasets/olafuraron/tracker-radar-ml.

sourceHugging Facecc-by-nc-sa-4.0updated 6mo agoView on Hugging Face
0likes22downloads
Dataset Card

Tracker Radar ML Dataset

An ML-ready tabular dataset of 16,165 third-party web domains labeled as tracking or non-tracking, with 295 behavioral and metadata features extracted from DuckDuckGo's open-source Tracker Radar.

Dataset Description

Each row represents a third-party domain observed on popular websites during DuckDuckGo's Tracker Radar crawl (US region). Features capture how the domain behaves: which browser APIs its scripts call, whether it sets cookies, how prevalent it is across the web, and metadata about the entity that owns it.

Label Construction

Labels are derived from multiple independent sources:

  • —Tracking (1): Domain has a tracking category in Tracker Radar (Advertising, Analytics, Audience Measurement, etc.) or appears in the EasyPrivacy filter list
  • —Non-tracking (0): Domain has only functional categories (CDN, Embedded Content, Online Payment) or is uncategorized with no API usage and negligible cookie prevalence

5,863 ambiguous domains were excluded from the labeled set.

Labels are independent of the fingerprinting heuristic score (0-3), which is included as a column but was not used for labeling. This allows the dataset to be used for evaluating ML models against the heuristic baseline.

Features (295 total)

GroupCountDescription
Domain metadata9Prevalence, site count, subdomain count, owner info, resource types
Cookie behavior4Cookie prevalence, TTL, first-party cookies set and sent
API binary131Whether any resource on the domain uses each browser API
API counts131Raw call counts per API aggregated across resources
API aggregates20Summary stats of API weights, category-level counts (canvas, audio, navigator, etc.)

Key Columns

  • —domain: The third-party domain name
  • —label: 0 (non-tracking) or 1 (tracking)
  • —label_source: Which source(s) determined the label
  • —fingerprinting_score: DuckDuckGo's heuristic score (0-3), included for comparison but not used in labeling
  • —prevalence: Fraction of top sites that request this domain
  • —weighted_fp_score: Sum of API fingerprint weights for APIs this domain uses

Class Distribution

LabelCountPercentage
Non-tracking (0)10,35664.1%
Tracking (1)5,80935.9%

Usage

python
from datasets import load_dataset

ds = load_dataset("olafurjohannsson/tracker-radar-ml")
train = ds["train"]
test = ds["test"]

# Get features and labels
import pandas as pd
df = train.to_pandas()
print(df["label"].value_counts())
print(df.columns.tolist()[:20])

Source Data

Derived from DuckDuckGo Tracker Radar (CC-BY-NC-SA 4.0) with additional labels from EasyPrivacy.

Source Code

Feature extraction, labeling, and training scripts: github.com/olafurjohannsson/tracker-ml

Limitations

  • —Point-in-time snapshot (US region only)
  • —Labels depend on Tracker Radar categories and EasyPrivacy, both of which have known limitations and edge cases
  • —Some domains (e.g., consent management platforms) are debatable
  • —Does not include raw JavaScript source code, only aggregate behavioral metadata